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

dshow 不显示为 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

它告诉我“未知的输入格式:'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'

答案1

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

尝试使用甲板链接输入设备,如果你想从 Decklink 卡捕获。如果你想捕获屏幕,另一种方法是x11grab

相关内容