如何使用FFMPEG捕获浏览器的选项卡内容

rrr*_*iki 1 windows firefox ffmpeg screen-recording

我正在一个项目中,我需要记录将在不同浏览器的选项卡中播放的HTML5动画。

所以我已经阅读了一些,显然可以使用FFMPEG来完成,也许可以使用gdigrab设备来完成:https ://www.ffmpeg.org/ffmpeg-devices.html#gdigrab

您甚至可以从特定窗口抓取(例如使用title = Calculator记录calc.exe

我想使用此逻辑来捕获多个浏览器选项卡的每个内容。(或至少一个),但我不知道Firefox / Chrome标签的“标题”或它们是否甚至可以作为Windows使用。

我还需要录制音频,因此我需要将计算机的输出设备与选项卡中的视频混合使用。

如果有人对我如何做有更多的了解,我将不胜感激。

谢谢,

Gya*_*yan 5

选项卡位于浏览器的应用程序逻辑之内,因此我认为您无法定位选项卡。如果将选项卡作为单独的窗口分离,则可以捕获它。您需要在任务管理器中显示的字符串。这是窗口标题。

首轮 tasklist /v /fi "imagename eq firefox.exe" /fo list | findstr Window

这将产生一组由firefox.exe控制的单独窗口的行

假设您想捕获当前页面,则findstr输出为

Window Title: firefox - How to use FFMPEG to capture a browser's tab content - Stack Overflow - Mozilla Firefox
Run Code Online (Sandbox Code Playgroud)

然后跑

ffmpeg -f gdigrab -i title="firefox - How to use FFMPEG to capture a browser's tab content - Stack Overflow - Mozilla Firefox" -pix_fmt yuv420p tabgrab.mp4
Run Code Online (Sandbox Code Playgroud)

您可以在录制时移动窗口,但是如果调整窗口大小,录制将在此时结束。如果该窗口中还有其他选项卡,而您切换到它们,则它们将被捕获。因此,最好将所需的选项卡隔离到其自己的窗口中。

对于音频,您将需要使用DirectShow输入设备。请参阅文档以及有关如何列出它们的示例。