dshow 未显示为 FFMPEG 的有效输入格式

Han*_*mon 5 ffmpeg

我刚刚购买了 DeckLink Quad HDMI 录像机来进行一些屏幕捕获,我想使用 FFMPEG 进行录制。

我发现我必须使用附加标志来编译 FFMPEG,以便我可以使用 dshow 作为输入源。我按照这两个指南进行编译:

https://gist.github.com/afriza/879fed4ede539a5a6501e0f046f71463
https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

一切似乎都工作正常,但是当我跑步时

  ffmpeg -list_devices true -f dshow -i dummy
Run Code Online (Sandbox Code Playgroud)

它告诉我“未知的输入格式:'dshow'”

当我运行命令时,我可以看到标签“--enable-nonfree --enable-decklink”,
我知道采集卡正在工作,因为我可以通过 OBS 进行采集。

所以我不知道为什么我不能使用 dshow

这是终端的完整输出:

ffmpeg -list_devices true -f dshow -i dummy
ffmpeg version N-94264-g74d4fd0 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1)
  configuration: --prefix=/home/capture/ffmpeg_build --pkg-config-flags=--static --extra-cflags='-I/home/capture/ffmpeg_build/include -I/home/capture/ffmpeg_sources/BMD_SDK/include' --extra-ldflags=-L/home/capture/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/capture/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree --enable-decklink
  libavutil      56. 30.100 / 56. 30.100
  libavcodec     58. 53.101 / 58. 53.101
  libavformat    58. 28.101 / 58. 28.101
  libavdevice    58.  7.100 / 58.  7.100
  libavfilter     7. 56.101 /  7. 56.101
  libswscale      5.  4.101 /  5.  4.101
  libswresample   3.  4.100 /  3.  4.100
  libpostproc    55.  4.100 / 55.  4.100
Unknown input format: 'dshow'
Run Code Online (Sandbox Code Playgroud)

llo*_*gan 5

dshow是 Windows DirectShow 输入设备,因此它在 Linux 上不可用。

如果您想从 Decklink 卡捕获,请尝试使用Decklink输入设备。如果您想捕获屏幕,替代方法是x11grab