У меня есть карта захвата интенсивности BlackMagic pro 4k, которая отлично работает с помощью экспресс-инструмента, я могу видеть живой канал и запись, но после того, как я попробовал разные вещи из того, что я нашел в Интернете, чтобы сделать ffplay/ffmpeg работает, у меня получилось просто черный экран.FFmpeg/FFplay directshow и blackmagic
Я проверил, были ли все версии файлов ffmpeg eanable-decklinnk, я скомпилировал последнюю версию с последней версией api, но все же я получаю черный экран вместо фактического фида.
ffmpeg -list_devices true -f dshow -i dummy
ffmpeg version N-77245-g7209c94 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 5.2.0 (Rev4, Built by MSYS2 project)
configuration: --enable-avisynth --enable-libbluray --enable-libcaca --enable -libass --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame
--enable-libschroedinger --enable-libsoxr --enable-libtwolame --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libopus --enable-libtesseract --
enable-libdcadec --enable-libbs2b --enable-libmfx --enable-libfreetype --enable-fontconfig --enable-libfribidi --enable-opengl --enable-libvpx --enable-libkvaza
ar --enable-libwebp --enable-decklink --enable-libgme --disable-w32threads --enable-opencl --enable-libzimg --enable-openssl --disable-debug
libavutil 55. 10.100/55. 10.100
libavcodec 57. 17.100/57. 17.100
libavformat 57. 20.100/57. 20.100
libavdevice 57. 0.100/57. 0.100
libavfilter 6. 21.100/6. 21.100
libswscale 4. 0.100/4. 0.100
libswresample 2. 0.101/2. 0.101
[dshow @ 0000000ba36b6480] DirectShow video devices (some may be both video and audio devices)
[dshow @ 0000000ba36b6480] "Blackmagic WDM Capture"
[dshow @ 0000000ba36b6480] Alternative name "@device_pnp_\\?\decklink#avstream#5&2550cef9&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\decklinkcapture1"
[dshow @ 0000000ba36b6480] "Decklink Video Capture"
[dshow @ 0000000ba36b6480] Alternative name "@device_sw_{860BB310-5D01-11D0-BD3B-00A0C911CE86}\{44A8B5C7-13B6-4211-BD40-35B629D9E6DF}"
[dshow @ 0000000ba36b6480] DirectShow audio devices
[dshow @ 0000000ba36b6480] "Wej?øcie liniowe (Blackmagic Audio)"
[dshow @ 0000000ba36b6480] Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{977E2DB6-B17C-4343-9018-652924C20A8C}"
[dshow @ 0000000ba36b6480] "Decklink Audio Capture"
[dshow @ 0000000ba36b6480] Alternative name "@device_sw_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\{AAA22F7E-5AA0-49D9-8C8D-B52B1AA92EB7}"
dummy: Immediate exit requested
Результат выше говорит мне, что FFmpeg можно увидеть карту, и я могу открыть сообщение, я проверил один пост, где он говорит, что вам нужно специфический которая показывает тип входа, в противном случае он никогда не будет работать , и я сделал это, но все равно не повезло.
Запустив приведенную выше командную строку, я вижу только черный экран, но не на самом деле ошибки.
Я запускаю Windows 8.1 64bit.
ffplay -pixel_format uyvy422 -framerate 25 -f dshow -i video="Decklink Video Capture" -format x264
ffplay version N-77245-g7209c94 Copyright (c) 2003-2015 the FFmpeg developers
built with gcc 5.2.0 (Rev4, Built by MSYS2 project)
configuration: --enable-avisynth --enable-libbluray --enable-libcaca --enable-libass --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame
--enable-libschroedinger --enable-libsoxr --enable-libtwolame --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libopus --enable-libtesseract --
enable-libdcadec --enable-libbs2b --enable-libmfx --enable-libfreetype --enable-fontconfig --enable-libfribidi --enable-opengl --enable-libvpx --enable-libkvaza
ar --enable-libwebp --enable-decklink --enable-libgme --disable-w32threads --enable-opencl --enable-libzimg --enable-openssl --disable-debug
libavutil 55. 10.100/55. 10.100
libavcodec 57. 17.100/57. 17.100
libavformat 57. 20.100/57. 20.100
libavdevice 57. 0.100/57. 0.100
libavfilter 6. 21.100/6. 21.100
libswscale 4. 0.100/4. 0.100
libswresample 2. 0.101/2. 0.101
Input #0, dshow, from 'video=Decklink Video Capture': 0B f=0/0
Duration: N/A, start: 0.138773, bitrate: N/A
Stream #0:0: Video: rawvideo (UYVY/0x59565955), uyvy422, 720x576, 25 tbr,
10000k tbn, 25 tbc
1.51 M-V: -0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0
Я действительно понял, что работает только определенный режим записи. Формат FPS и пикселей должен быть ТОЧНО ОДНОЙ, иначе он никогда не будет работать. Мне пришлось записать еще одну камеру, которая использовала uyvy422 на 59,94 FPS, и добавив нужные настройки, мне удалось записать. У меня были некоторые проблемы с записью необработанного видео, из-за некоторой перегрева, даже если бы я сделал буфер больше, чем мог, поэтому я конвертирую «на лету» в MKV. Я надеюсь, что это помогло кому-то, я смогу опубликовать окончательную строку позже – max246