2017-04-06 89 views
0

我正在開發一個項目,我需要記錄要在不同瀏覽器的選項卡中播放的HTML5動畫。如何使用FFMPEG捕獲瀏覽器的選項卡內容

所以我一直在讀了一下,顯然它可以使用FFMPEG,也許使用gdigrab設備來完成: https://www.ffmpeg.org/ffmpeg-devices.html#gdigrab

在哪裏,你甚至可以從一個特定的窗口抓取(像記錄的calc.exe使用標題=計算器

我想用這個邏輯來捕獲每個多個瀏覽器標籤的內容。 (或至少一個)但我不知道Firefox/Chrome標籤「標題」,或者他們甚至可以作爲窗口工作。

我還需要錄製音頻,所以我需要將計算機的輸出設備與選項卡中的視頻混合使用。

如果有人有關於如何做到這一點的更多信息,我將不勝感激。

感謝,

+0

你必須使用Windows?你必須使用Firefox嗎?之後你將如何處理輸出? – Brad

+0

嗨Mulvya,不,現在我正在探索什麼是最好的選擇,並認爲我會開始我更熟悉。截至目前,我停止使用FFMPEG,並且我使用名爲RecordRTC的Javascript庫來記錄和保存視頻blob輸出到服務器,並使用DesktopCapture API製作Google Chrome擴展,我認爲這是一種更簡單的方法。需要做的是以某種方式創建一個腳本,以便接受一個URL作爲輸入參數,然後在新選項卡(無頭)中打開該URL,記錄其內容,最後關閉它並將視頻輸出保存到服務器。 – Riki

回答

1

標籤是瀏覽器的應用程序邏輯中,所以我不認爲你可以針對標籤。如果您將選項卡作爲單獨的窗口分開,則可以將其捕獲。您需要在任務管理器中顯示的字符串。這是窗口標題。

首先運行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輸入設備。請參閱文檔和關於如何列出它們的示例。

+0

謝謝!完美地找到窗口的正確名稱。但我仍然有不得不一一錄製「一個一個」的問題。 (如果使用不同的瀏覽器窗口,則爲2乘2)當你說標籤在瀏覽器的應用程序邏輯中時,你是對的,所以我最好的辦法是找到一個Firefox擴展或API,讓我可以與FFMPEG集成。即使如此,我也必須處理重疊的音頻源,但非常感謝您的幫助! – Riki

+0

只要瀏覽器具有不同的窗口標題並將其路由到不同的輸出文件,您可以根據自己的喜好指定任意數量的窗口輸入。您的捕捉性能將受到影響,具體取決於您的CPU/RAM等 – Mulvya

相關問題