2017-04-06 7 views
0

私は別のブラウザのタブで再生するHTML5アニメーションを記録する必要があるプロジェクトに取り組んでいます。FFMPEGを使用してブラウザのタブコンテンツをキャプチャする方法

だから私は少しを読んでいると、どうやらそれは多分gdigrabデバイスを使用して、FFMPEGを使用して行うことができます。あなたも、レコードCALC.EXEのような特定のウィンドウ(からつかむことができ https://www.ffmpeg.org/ffmpeg-devices.html#gdigrab

を使用してタイトル=電卓

私はこのロジックを使用して、複数のブラウザのタブの内容のそれぞれをキャプチャします。 (または少なくとも1つの)しかし、Firefox/Chromeのタブの「タイトル」やウィンドウとして機能するかどうかはわかりません。

私もオーディオを録音する必要があるので、コンピュータの出力デバイスとタブのビデオをミックスする必要があります。

誰かが私がこれをどうやってできるかについての情報があれば、私はそれを高く評価します。

おかげで、

+0

Windowsを使用する必要がありますか? Firefoxを使用する必要がありますか?後でその出力で何をするつもりですか? – Brad

+0

こんにちはマルヴァ、いいえ、今、私は最良の選択肢を探求しており、私がもっと身近なものから始めたいと思っていました。現在、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入力デバイスを使用する必要があります。 docsとそれらをリストする方法の例を参照してください。

+0

ありがとう!窓の正しい名前を見つけるために完璧に動作します。しかし、私はまだ「一つずつ」を記録しなければならないという問題があります。 (または別のブラウザウィンドウを使用する場合は2 x 2)タブがブラウザのアプリケーションロジック内にあると言うと、あなたは正しいです。だから、FFMPEGと統合できるFirefoxの拡張機能やAPIを見つけることが最善の方法でしょう。そして、それでもオーバラップするオーディオソースに対処する必要がありますが、助けてくれてありがとう! – Riki

+0

異なるウィンドウのタイトルを持ち、異なる出力ファイルにルーティングする限り、ブラウザの好みの数だけ別のウィンドウ入力を指定できます。キャプチャのパフォーマンスは、CPU/RAMなどに依存します。 – Mulvya

関連する問題