V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Tardis07
V2EX  ›  Linux

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

  •  
  •   Tardis07 ·
    Tardis07 · 24 天前 · 1661 次点击

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

    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  
       24 天前
    ffmpeg

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

    豆包: https://gist.github.com/zjsxwc/822e906db5e1573271fd5cb4f81e9895
    Tardis07
        2
    Tardis07  
    OP
       24 天前
    @zjsxwc 兄弟,别回复 AI 生成的内容了,你这个脚本本身就有语法问题,我改了半天,ffmpeg 那部分还得去查手册
    Tardis07
        3
    Tardis07  
    OP
       24 天前
    @zjsxwc 我查完回来了,vf 是视频画面滤镜,没有窗口选择过滤的功能
    vus520
        4
    vus520  
       24 天前
    也要看看 ffmpeg 的版本,ffmpeg 的版本跨度很大,功能差异也很大
    jackmod
        5
    jackmod  
       24 天前
    不是办法的办法:搞一个廉价副屏。
    录屏还是太复杂了,等一个 obs 插件或功能实在是有生之年……
    BRS5672023
        6
    BRS5672023  
       24 天前   ❤️ 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  
       24 天前
    搞多个虚拟桌面先把不想录的窗口扔其他桌面上就好了
    Tardis07
        8
    Tardis07  
    OP
       24 天前
    @BRS5672023 感谢♥️,这个方案非常接近我的需求了,我研究一下
    Tardis07
        9
    Tardis07  
    OP
       24 天前
    @Syiize @jackmod 场景要求是录制所有的显示器,而且不能在虚拟机里面录制,所以才有的这个需求
    Tardis07
        10
    Tardis07  
    OP
       24 天前
    @Syiize 抱歉,没认真看你的回复。录制过程中会用到那部分应用,所以切换虚拟桌面/唤出应用的时候就出现在录屏里面了
    Tardis07
        11
    Tardis07  
    OP
       24 天前
    @BRS5672023 这个设置完留个大黑框也太难受了。。😢
    BRS5672023
        12
    BRS5672023  
       24 天前
    @Tardis07 黑框啥意思?所以你是想要除了你自己别人都看不见这个窗口吗?而不只是别人看不到这个窗口的内容?
    zhuisui
        13
    zhuisui  
       24 天前   ❤️ 1
    恐怕你的需求目前没有通用支持。
    可以从而一窥相关技术实现
    https://www.electronjs.org/docs/latest/api/browser-window#winsetcontentprotectionenable-macos-windows
    Pylogmon
        14
    Pylogmon  
       24 天前
    换个思路,用 obs 添加个背景,需要用到的窗口一个个添加进去,假装桌面录屏
    Tardis07
        15
    Tardis07  
    OP
       23 天前
    @BRS5672023 差不多,和另外两个系统的实现效果一样就行,macos 那个是最完美的,屏幕里有这个应用的画面,我也能通过屏幕看到,但是录屏出来的视频里面没有,显示的是它下一层的窗口。
    janus77
        16
    janus77  
       23 天前
    obs 应该是可以的吧,我看有些直播的时候主播要输入密码或者微信打字的时候,并没有直接黑屏,而是用 obs 切一下,然后你只能看到鼠标划来划去,但是只看到桌面,看不到他划和点击的那个软件框体
    Tardis07
        17
    Tardis07  
    OP
       23 天前
    @janus77 他们那种是捕获特定窗口或者使用游戏捕获模式,不符合全屏捕获的场景需求。
    BRS5672023
        18
    BRS5672023  
       23 天前
    @Tardis07 而且窗口捕获 wayland 应该还没有对应的 protocol 吧?
    james122333
        19
    james122333  
       23 天前 via Android
    你应该换个思路 Doge
    Tardis07
        20
    Tardis07  
    OP
       17 天前
    更新并分享一下 Windows 的另一个解决方案: https://github.com/shalzuth/WindowSharingHider
    Linux 下仍然没有找到解决方案
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3470 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 11:17 · PVG 19:17 · LAX 03:17 · JFK 06:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.