FFmpeg / FFplay directshow和blackmagic

时间:2015-12-15 13:02:43

标签: ffmpeg capture

我有一张BlackMagic强度专业4k采集卡,使用快速工具工作正常,我可以看到实时反馈和记录,但在我尝试了不同的东西,我在网上发现使ffplay / ffmpeg工作,我结果只有一个黑屏。

我已经检查过我的ffmpeg文件的所有版本是否都是eanable-decklinnk,我已经使用最新版本的api编译了最新版本,但我仍然得到黑屏而不是实际的Feed。

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 64位。

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

1 个答案:

答案 0 :(得分:0)

您必须配置捕获卡的硬件驱动程序以匹配源的帧速率。虽然使用较新的驱动程序版本,桌面视频应该自动检测帧速率。我不相信它在BMD专有的Media Express应用程序之外工作。通常记录未压缩视频使用较少的处理能力,因为不需要解码,但是您需要更高的读/写磁盘速度和可用磁盘空间。