ffmpeg 无法捕获在屏幕上运行的视频

标签 ffmpeg

我正在尝试将幻灯片演示文稿捕获为视频。我正在使用以下命令来捕获我的屏幕

ffmpeg \
   -f x11grab -s 1024x768 -r 25 -i $DISPLAY \
   -f alsa -i pulse \
   -vcodec libx264 -preset ultrafast -vb 1000k \
   -acodec libmp3lame -ab 128k \
   test.avi

这有效(屏幕上的应用程序窗口可见,声音记录在 test.avi 中),但问题是:屏幕上显示的任何视频(例如,在浏览器窗口中运行的 youtube 视频,还有例如由 mplayer 播放的视频) 仅在我播放捕获的视频 (test.avi) 时显示为空(例如绿色)框。

我在带有 nvidia-331 驱动程序的 Ubuntu 12.04.5 LTS 上使用 ffmpeg 版本 0.8.16-4:0.8.16-0ubuntu0.12.04.1(效果与旧版 nvidia-304 相同)。

我真的很感激任何建议,非常感谢!

最佳答案

禁用视频播放器的视频加速。目前,视频是由视频硬件覆盖的,而不是使用软件绘制的,因此无法通过简单的截图来捕获。

关于ffmpeg 无法捕获在屏幕上运行的视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25951559/

相关文章:

FFMPEG 元数据提取失败

gcc - 使用ffmpeg库编译报错

macos - 为 Mac OSX High Sierra 10.13 编译 ffmpeg

c++ - FFMPEG undefined reference `avdevice_register_all'

perl - 我可以在 Perl 脚本内部使用 ffmpeg 而不需要系统调用吗?

c++ - 使用 gstreamer 接收 rtsp 流

ffmpeg - 无法使用 quicktime 打开 ffmpeg 输出,pix_fmt 标志无法修复它

ffmpeg将多个mp3文件添加到mp4视频的特定位置

ffmpeg 1 多帧图像

php - ffmpeg 和 php - 生成缩略图