Windows 7 @ 720p を使用して、blackmagic デッキリンク キャプチャ カードからオーディオとビデオをキャプチャしようとしていますが、ffmpeg コマンド ライン設定を正しく取得できないようです。
ffmpeg -list_devices true -f dshow -i ダミー
[dshow @ 02457a60] DirectShow video devices
[dshow @ 02457a60] "Blackmagic WDM Capture"
[dshow @ 02457a60] "Decklink Video Capture"
[dshow @ 02457a60] DirectShow audio devices
[dshow @ 02457a60] "Decklink Audio Capture"
ffmpeg -list_options true -f dshow -i video="Decklink ビデオ キャプチャ"
[dshow @ 03c2ea20] DirectShow video device options
[dshow @ 03c2ea20] Pin "Capture"
[dshow @ 03c2ea20] pixel_format=uyvy422 min s=720x486 fps=29.97 max s=720x486 fps=29.97
[dshow @ 03c2ea20] pixel_format=uyvy422 min s=720x486 fps=23.976 max s=720x486 fps=23.976
[dshow @ 03c2ea20] pixel_format=uyvy422 min s=720x576 fps=25 max s=720x576 fps=25
[dshow @ 03c2ea20] pixel_format=uyvy422 min s=720x486 fps=59.9402 max s=720x486 fps=59.9402
[dshow @ 03c2ea20] pixel_format=uyvy422 min s=720x576 fps=50 max s=720x576 fps=50
[dshow @ 03c2ea20] pixel_format=uyvy422 min s=1920x1080 fps=23.976 max s=1920x1080 fps=23.976
[dshow @ 03c2ea20] pixel_format=uyvy422 min s=1920x1080 fps=24 max s=1920x1080 fps=24
[dshow @ 03c2ea20] pixel_format=uyvy422 min s=1920x1080 fps=25 max s=1920x1080 fps=25
[dshow @ 03c2ea20] pixel_format=uyvy422 min s=1920x1080 fps=29.97 max s=1920x1080 fps=29.97
[dshow @ 03c2ea20] pixel_format=uyvy422 min s=1920x1080 fps=30 max s=1920x1080 fps=30
[dshow @ 03c2ea20] pixel_format=uyvy422 min s=1280x720 fps=50 max s=1280x720fps=50
[dshow @ 03c2ea20] pixel_format=uyvy422 min s=1280x720 fps=59.9402 max s=1280x720 fps=59.9402
[dshow @ 03c2ea20] pixel_format=uyvy422 min s=1280x720 fps=60.0002 max s=1280x720 fps=60.0002
ffmpeg -list_options true -f dshow -i audio="Decklink オーディオ キャプチャ"
[dshow @ 047fea20] DirectShow audio device options
[dshow @ 047fea20] Pin "Capture"
[dshow @ 047fea20] min ch=1 bits=16 rate= 48000 max ch=1 bits=16 rate= 48000
[dshow @ 047fea20] min ch=2 bits=16 rate= 48000 max ch=2 bits=16 rate= 48000
[dshow @ 047fea20] min ch=4 bits=16 rate= 48000 max ch=4 bits=16 rate= 48000
[dshow @ 047fea20] min ch=6 bits=16 rate= 48000 max ch=6 bits=16 rate= 48000
[dshow @ 047fea20] min ch=8 bits=16 rate= 48000 max ch=8 bits=16 rate= 48000
[dshow @ 047fea20] min ch=10 bits=16 rate= 48000 max ch=10 bits=16 rate= 48000
[dshow @ 047fea20] min ch=12 bits=16 rate= 48000 max ch=12 bits=16 rate= 48000
[dshow @ 047fea20] min ch=16 bits=16 rate= 48000 max ch=16 bits=16 rate= 48000
これは、decklink カードの hdmi ポートに接続された、現在のビデオ/オーディオ ソースのストリーム情報です。
Stream #0:0: Video: rawvideo (UYVY / 0x59565955), uyvy422(tv), 1280x720, 59.94 tbr, 10000k tbn, 59.94 tbc
Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
最終的には、このビデオを画面に表示する必要があります。また、プレビューの再生を続けながら、同時に録画を開始および停止できます。
私のアイデアは、ffmpeg を使用してビデオとオーディオ信号をキャプチャし、これをネットワーク ストリーム (例: 127.0.0.1:6666) に送信することでした。次に、VLC プレーヤーを使用してストリーム (プレビュー) を表示します。そして最終的に別のffmpegを開始および/または停止して、同じストリームをディスクに保存します。
私の考えではこれはうまくいきますが、私はオーディオ/ビデオの専門家ではないので、経験のある人が助けてくれれば幸いです.
アップデート:
次のコマンドを使用して、ffplay を使用してビデオを表示できました。
ffplay -f dshow -video_size 1280x720 -rtbufsize 702000k -framerate 60 -i video="Decklink Video Capture":audio="Decklink Audio Capture" -threads 2
次のステップはそれをストリーミングして、VLC でストリーム (プレビュー) を表示できるようにすることです。
このコマンドを使用しようとしました:
ffmpeg -f dshow -video_size 1280x720 -rtbufsize 702000k -framerate 60 -i video="Decklink Video Capture":audio="Decklink Audio Capture" -threads 2 -f mpegts rtp://127.0.0.1:6666?pkt_size=188?buffer_size=65535
これはエラーを発生させないので、うまくいくようです。しかし、VLC でストリームを開こうとすると、次のエラーが発生します。
SDPが必要:RTPストリームを受信するには、SDP形式での記述が必要です。rtp:// URI は動的 RTP ペイロード形式 (65) では機能しないことに注意してください。
少し読んだ後、私は rtp:// ではなく udp:// にストリーミングするべきだと思われます
コマンドは次のようになりました:
ffmpeg -f dshow -video_size 1280x720 -rtbufsize 702000k -framerate 60 -i video="Decklink Video Capture":audio="Decklink Audio Capture" -threads 2 -f mpegts udp://127.0.0.1:6666?pkt_size=188?buffer_size=65535
今VLCで開こうとすると、エラーも警告も表示されませんが、ビデオも表示されません。
もう少し読む時間です。