4

AJA Capture カードを持っています。カードと共にインストールされるドライバーには、いくつかの DirectShow フィルターが含まれています。フィルターを GraphEdit にポップすると、次のように表示されます。

GraphEdit の AJA キャプチャ フィルタ

ffmpeg コマンドを実行すると

ffmpeg -f dshow -list_options true -i video="AJA Capture Source"

そうですか

[dshow @ 0034eec0] DirectShow video device options
[dshow @ 0034eec0]  Pin "Video"
[dshow @ 0034eec0]   pixel_format=yuyv422  min s=720x486 fps=27.2604 max s=1024x
486 fps=29.985
...
[dshow @ 0034eec0]  Pin "Audio 1-2"
[dshow @ 0034eec0]  Pin "Line21"
video=AJA Capture Source: Immediate exit requested

必要なビデオ ピンとオーディオ ピンが表示されます。しかし、両方をキャプチャするために ffmpeg コマンドを実行しようとすると、ビデオ部分の実行方法しかわかりません。そのオーディオピンに接続するにはどうすればよいですか? すべての例とドキュメントは、別のオーディオ デバイスを使用することを示しているようで、ピンへの接続については何も示していません。今のところこのようにバッチファイルから実行しており、^を使用して行を分割しています

ffmpeg.exe ^
-y ^
-rtbufsize 100M ^
-f dshow ^
-i video="AJA Capture Source" ^
-t 00:00:10 ^
-aspect 16:9 ^
-c:v libx264 ^
"C:\VCS_AUD_SAMPLE.mp4"

繰り返しますが、上記のコマンドで美しいビデオが得られますが、オーディオ部分がわかりません。これは ffmpeg でもサポートされていますか、それとも ffmpeg dshow コードを変更する必要がありますか?

4

4 に答える 4

6

私はこのフィルターの開発者です。

実際には、オーディオ ストリームとビデオ ストリームの両方に同じデバイスが使用されます。さらに、両方のストリームのデータは、1 つの関数呼び出しの結果です。他のカード (DeckLink など) の個別のオーディオ フィルターとビデオ フィルターによる分割は人為的です (それらは内部で接続されている必要があります)。除算の考えられる理由 - グラフを単純化しようとする試み。ただし、これにより他の問題が発生する可能性があります (異なるデバイスからのストリームを使用する場合)。

ffmpeg が同じフィルターのピンで動作しない理由 - 私にはわかりません。ffmpeg 開発者のこの問題。

1 つのインスタンス アクセスのみについて - 非常に古いバージョンの AJA Capture Source フィルターが使用されています。フィルターの最新バージョンでは、複数のインスタンスを同時に作成できます (ただし、「再生」状態になるインスタンスは 1 つだけです)。フィルタの最新バージョンをダウンロードするには、AJA サイトを確認してください。AJA フィルターの最新のベータ版を確認したい場合は、support@avobjects.com までご連絡ください。

于 2014-01-05T05:25:05.513 に答える
4

そのため、FFmpeg のソース コードをトレースした後、dshow ソースの複数のピンに接続できないことが判明したため、FFmpeg ソースを変更する代わりに、AJA ソース ピンを 2 つの仮想キャプチャ ソースにパイプして、目的の結果を達成しました。

于 2013-07-30T13:45:40.480 に答える
3

これに対する OK サポートが (うまくいけば) 最近 FFmpeg dshow に追加されましたffmpeg -f dshow -i video="AJA Capture Source":audio="AJA Capture Source"。今すぐ指定でき、動作します。

必要に応じて、使用するピンを選択するための新しいパラメーターもあります。 https://www.ffmpeg.org/ffmpeg-devices.html#dshow

うまくいかない場合は、rogerdpack@gmail.com に連絡するか、ここにコメントしてください。

于 2015-01-27T20:44:32.677 に答える
1

http://ffmpeg.org/trac/ffmpeg/wiki/DirectShowから

また、この「入力文字列の形式はvideo=<video device name>:audio=<audio device name>.

だから試してみてください

ffmpeg.exe -f dshow -i "video=AJA Capture Source:audio=audio source name"
于 2013-06-24T13:46:57.367 に答える