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

How to use FFMPEG to capture a browser's tab content

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

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

您甚至可以从特定的 window 中抓取(如记录 calc.exe 使用 title=Calculator

我想使用此逻辑来捕获多个浏览器选项卡中的每一个内容。 ( 或至少一个 )但我不知道 Firefox/Chrome 选项卡 "title" 或者它们是否可以作为 windows.

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

如果有人能提供更多关于我如何做到这一点的信息,我将不胜感激。

谢谢,

选项卡在浏览器的应用程序逻辑中,因此我认为您不能将选项卡作为目标。如果将选项卡分离为单独的 window,则可以捕获它。您需要显示在任务管理器中的字符串。这是 Window 标题。

第一个运行tasklist /v /fi "imagename eq firefox.exe" /fo list | findstr Window

这将生成由 firefox.exe

控制的所有单独 windows 的一组行

假设您想捕获当前页面,findstr 输出将是

Window Title: firefox - How to use FFMPEG to capture a browser's tab content - Stack Overflow - Mozilla Firefox

然后运行

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

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

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