尝试在 ffmpeg 中启用 x11grab 时出错

尝试在 ffmpeg 中启用 x11grab 时出错

我正在尝试设置 ffmpeg,以便可以进行屏幕截图,但错误接二连三地出现。然而,根本问题是我似乎甚至无法启用 x11grab。

在终端我做了这个:

$ cd ffmpeg
$ ./configure --enable-gpl --enable-x11grab

我收到此错误:

ERROR: X11 not found

If you think configure made a mistake, make sure you are using the latest
version from Git.  If the latest version fails, report the problem to the
[email protected] mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.log" produced by configure as this will help
solving the problem.

据我所知,我拥有最新版本的 ffmpeg。

对下一步采取的措施有什么建议?

编辑

ffmpeg -version给了我这个:

ffmpeg version 1.0
built on Oct 31 2012 15:46:24 with Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn)
configuration: --prefix=/opt/local --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libopus --enable-libtheora --enable-libschroedinger --enable-libopenjpeg --enable-libmodplug --enable-libvpx --enable-libspeex --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/clang --arch=x86_64 --enable-yasm --enable-gpl --enable-postproc --enable-libx264 --enable-libxvid
libavutil      51. 73.101 / 51. 73.101
libavcodec     54. 59.100 / 54. 59.100
libavformat    54. 29.104 / 54. 29.104
libavdevice    54.  2.101 / 54.  2.101
libavfilter     3. 17.100 /  3. 17.100
libswscale      2.  1.101 /  2.  1.101
libswresample   0. 15.100 /  0. 15.100
libpostproc    52.  0.100 / 52.  0.100

答案1

您所尝试的事情实际上是不可能的,或者可能不会给您带来您想要的结果。

这个 GitHub 项目自述:

尽管它的名字如此,Mac OS X 中的大多数程序实际上并不使用 X(它使用 Core Graphics 或 Quartz 之类的东西代替)。即使你使用 x11grab 编译 ffmpeg,你也只能录制运行 X 的应用程序,比如 gimp 和 wireshark。

因此,即使你使用 编译 FFmpeg x11grab,你也无法捕获屏幕。你安装石英,它将使您能够启用x11grab和编译 - 至少我希望如此 - 但您的可能性将非常有限。

实质上,再次引用 Albert Veli 的话:

另一种选择是实际询问 ffmpeg 开发人员他们是否会在将来的某个时候实现“quartzgrab”格式选项。

在此之前,您可能需要使用 QuickTime 来录制您的桌面,或者查看其他桌面录制工具,如 Snapz Pro X。

答案2

这个问题已经问了很久了,可能没人会在意,但万一有人偶然发现这个问题,完全可以(截至目前,我不知道当时是否如此)在 Mac OS X 中使用“avfoundation”设备使用 ffmpeg 来捕获屏幕。

获取可用源的列表:

ffmpeg -f avfoundation -list_devices true -i “”

然后实际捕获:

ffmpeg -f avfoundation -i "<屏幕设备索引>:<音频设备索引>" <目标文件名>

来源:ffmpeg 维基

相关内容