【问题标题】:FFmpeg/FFplay directshow and blackmagicFFmpeg/FFplay directshow 和 blackmagic
【发布时间】:2016-03-21 06:58:04
【问题描述】:

我得到了一张 BlackMagic intensity pro 4k 采集卡,它在 express 工具上运行良好,我可以看到实时提要和录制,但是在我尝试了与我在网上找到的不同的东西以使 ffplay/ffmpeg 正常工作后,我结果只是黑屏。

我检查了我的 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 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

【问题讨论】:

  • 我实际上已经发现只有特定的录音模式才有效。 FPS 和像素格式必须完全相同,否则将永远无法正常工作。我不得不以 59.94 FPS 的速度录制另一台使用 uyvy422 的摄像机,通过添加正确的设置,我设法录制了。由于内存过大,我在录制原始视频时遇到了一些问题,即使我可以将缓冲区做得更大,所以我正在即时转换为 MKV。我希望它对某人有所帮助,稍后我将能够发布最后一行

标签: ffmpeg capture


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-19
    • 2019-02-03
    • 1970-01-01
    • 2013-10-07
    • 1970-01-01
    • 1970-01-01
    • 2019-04-26
    相关资源
    最近更新 更多