如何使用FFMPEG捕获浏览器的选项卡内容
问题描述:
我正在开发一个项目,我需要记录要在不同浏览器的选项卡中播放的HTML5动画。如何使用FFMPEG捕获浏览器的选项卡内容
所以我一直在读了一下,显然它可以使用FFMPEG,也许使用gdigrab设备来完成: https://www.ffmpeg.org/ffmpeg-devices.html#gdigrab
在哪里,你甚至可以从一个特定的窗口抓取(像记录的calc.exe使用标题=计算器)
我想用这个逻辑来捕获每个多个浏览器标签的内容。 (或至少一个)但我不知道Firefox/Chrome标签“标题”,或者他们甚至可以作为窗口工作。
我还需要录制音频,所以我需要将计算机的输出设备与选项卡中的视频混合使用。
如果有人有关于如何做到这一点的更多信息,我将不胜感激。
感谢,
答
标签是浏览器的应用程序逻辑中,所以我不认为你可以针对标签。如果您将选项卡作为单独的窗口分开,则可以将其捕获。您需要在任务管理器中显示的字符串。这是窗口标题。
首先运行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
然后运行
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
您可以在录制时移动窗口,但如果调整大小,录制将在该点结束。如果该窗口中有其他选项卡,并切换到它们,它们将被捕获。因此,最好将所需的选项卡分隔到自己的窗口中。
对于音频,您需要使用directshow输入设备。请参阅文档和关于如何列出它们的示例。
你必须使用Windows?你必须使用Firefox吗?之后你将如何处理输出? – Brad
嗨Mulvya,不,现在我正在探索什么是最好的选择,并认为我会开始我更熟悉。截至目前,我停止使用FFMPEG,并且我使用名为RecordRTC的Javascript库来记录和保存视频blob输出到服务器,并使用DesktopCapture API制作Google Chrome扩展,我认为这是一种更简单的方法。需要做的是以某种方式创建一个脚本,以便接受一个URL作为输入参数,然后在新选项卡(无头)中打开该URL,记录其内容,最后关闭它并将视频输出保存到服务器。 – Riki