寻找一个支持排除窗口的 Linux 录屏工具 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Tardis07
V2EX    Linux

寻找一个支持排除窗口的 Linux 录屏工具

  •  
  •   Tardis07
    Tardis07 2024-10-28 09:20:06 +08:00 2817 次点击
    这是一个创建于 428 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求场景:需要在显示器捕获的情况下,排除特定的窗口,不显示在录屏画面里

    Windows 解决方案:Sandboxie-Plus -> Security Options -> Box Protection -> Prevent processes from capturing window images from sandboxed windows

    MACOS 解决方案: https://github.com/lihaoyun6/QuickRecorder

    上述两个系统都有特定的软件以实现此功能,有没有大佬了解 Linux 下的类似的软件

    注:不能用 OBS 的窗口捕获模式,因为场景的需求是全屏捕获

    20 条回复    2024-11-04 16:55:35 +08:00
    zjsxwc
        1
    zjsxwc  
       2024-10-28 10:05:16 +08:00
    ffmpeg

    问:linux 调用 ffmpeg 录屏,并且录屏时忽略多个指定 title 列表的应用程序窗口

    豆包: https://gist.github.com/zjsxwc/822e906db5e1573271fd5cb4f81e9895
    Tardis07
        2
    Tardis07  
    OP
       2024-10-28 10:33:46 +08:00
    @zjsxwc 兄弟,别回复 AI 生成的内容了,你这个脚本本身就有语法问题,我改了半天,ffmpeg 那部分还得去查手册
    Tardis07
        3
    Tardis07  
    OP
       2024-10-28 10:35:10 +08:00
    @zjsxwc 我查完回来了,vf 是视频画面滤镜,没有窗口选择过滤的功能
    vus520
        4
    vus520  
       2024-10-28 10:38:53 +08:00
    也要看看 ffmpeg 的版本,ffmpeg 的版本跨度很大,功能差异也很大
    jackmod
        5
    jackmod  
       2024-10-28 11:05:00 +08:00
    不是办法的办法:搞一个廉价副屏。
    录屏还是太复杂了,等一个 obs 插件或功能实在是有生之年……
    BRS5672023
        6
    BRS5672023  
       2024-10-28 11:29:56 +08:00   1
    niri wm 作为一个窗口管理器有这个功能 https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules#block-out-from ,然而其录屏功能需要 xdg-desktop-portal-gnome 来实现,而我在 archlinux 上使用 niri wm 却不能正常启动 xdg-desktop-portal-gnome 这个服务。。
    Syiize
        7
    Syiize  
       2024-10-28 15:13:08 +08:00
    搞多个虚拟桌面先把不想录的窗口扔其他桌面上就好了
    Tardis07
        8
    Tardis07  
    OP
       2024-10-28 15:15:47 +08:00
    @BRS5672023 感谢,这个方案非常接近我的需求了,我研究一下
    Tardis07
        9
    Tardis07  
    OP
       2024-10-28 15:17:10 +08:00
    @Syiize @jackmod 场景要求是录制所有的显示器,而且不能在虚拟机里面录制,所以才有的这个需求
    Tardis07
        10
    Tardis07  
    OP
       2024-10-28 15:19:17 +08:00
    @Syiize 抱歉,没认真看你的回复。录制过程中会用到那部分应用,所以切换虚拟桌面/唤出应用的时候就出现在录屏里面了
    Tardis07
        11
    Tardis07  
    OP
       2024-10-28 16:19:56 +08:00
    @BRS5672023 这个设置完留个大黑框也太难受了。。
    BRS5672023
        12
    BRS5672023  
       2024-10-28 17:57:18 +08:00
    @Tardis07 黑框啥意思?所以你是想要除了你自己别人都看不见这个窗口吗?而不只是别人看不到这个窗口的内容?
    zhuisui
        13
    zhuisui  
       2024-10-28 18:35:32 +08:00   1
    恐怕你的需求目前没有通用支持。
    可以从而一窥相关技术实现
    https://www.electronjs.org/docs/latest/api/browser-window#winsetcontentprotectionenable-macos-windows
    kQ9YhUBeqK6ld3k7
        14
    kQ9YhUBeqK6ld3k7  
       2024-10-28 18:51:37 +08:00
    换个思路,用 obs 添加个背景,需要用到的窗口一个个添加进去,假装桌面录屏
    Tardis07
        15
    Tardis07  
    OP
       2024-10-28 20:46:50 +08:00
    @BRS5672023 差不多,和另外两个系统的实现效果一样就行,macos 那个是最完美的,屏幕里有这个应用的画面,我也能通过屏幕看到,但是录屏出来的视频里面没有,显示的是它下一层的窗口。
    rb6221
        16
    rb6221  
       2024-10-29 10:44:37 +08:00
    obs 应该是可以的吧,我看有些直播的时候主播要输入密码或者微信打字的时候,并没有直接黑屏,而是用 obs 切一下,然后你只能看到鼠标划来划去,但是只看到桌面,看不到他划和点击的那个软件框体
    Tardis07
        17
    Tardis07  
    OP
       2024-10-29 11:39:13 +08:00
    @janus77 他们那种是捕获特定窗口或者使用游戏捕获模式,不符合全屏捕获的场景需求。
    BRS5672023
        18
    BRS5672023  
       2024-10-29 14:42:43 +08:00
    @Tardis07 而且窗口捕获 wayland 应该还没有对应的 protocol 吧?
    james122333
        19
    james122333  
       2024-10-29 15:47:55 +08:00 via Android
    你应该换个思路 Doge
    Tardis07
        20
    Tardis07  
    OP
       2024-11-04 16:55:35 +08:00
    更新并分享一下 Windows 的另一个解决方案: https://github.com/shalzuth/WindowSharingHider
    Linux 下仍然没有找到解决方案
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5480 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 06:35 PVG 14:35 LAX 22:35 JFK 01:35
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86