【问题标题】:Using ffmpeg with xvfb renders a cropped version of the screen将 ffmpeg 与 xvfb 一起使用会呈现屏幕的裁剪版本
【发布时间】:2015-09-23 11:11:07
【问题描述】:

我正在使用以下命令来渲染在虚拟帧缓冲区中运行的 chrome 浏览器的视频(使用 xvfb):

ffmpeg -f x11grab -i :5 -s `DISPLAY=:5 xdpyinfo | grep 'dimensions:'|awk '{print $2}'` -r 30 tests.mpg

当我省略DISPLAY=:5 xdpyinfo | grep 'dimensions:'|awk '{print $2}' 时,它将呈现在1024x768 左右,所以我调用xdpyinfo 来获取显示器的分辨率并告诉ffmpeg。

但是当我使用该命令时,它会显示相同的裁剪区域,只是拉伸以适合我给 ffmpeg 的分辨率。

我希望能够记录整个虚拟帧缓冲区无需裁剪或拉伸。有办法吗?

我今天早上刚刚从源代码编译了ffmpeg,运行v2.8.git

【问题讨论】:

  • 缺少完整的控制台输出。

标签: ffmpeg debian x11 xvfb


【解决方案1】:

之后 -i 的参数控制输出,而不是输入。

要设置源分辨率,请使用-video_sizexdpyinfo 输出之前 -i。对于帧率使用-framerate

x11grab 输入的格式为[hostname]:display_number.screen_number[+x_offset,y_offset]

ffmpeg -video_size `DISPLAY=:5 xdpyinfo | grep 'dimensions:'|awk '{print $2}'` -framerate 30 -f x11grab -i :5.0+0,0 output.mpg

查看文档和指南:https://trac.ffmpeg.org/wiki/Capture/Desktop

【讨论】:

  • 这就是答案。谢谢!这让我有点困惑。
猜你喜欢
  • 1970-01-01
  • 2012-01-03
  • 2015-12-16
  • 1970-01-01
  • 1970-01-01
  • 2023-03-24
  • 1970-01-01
  • 1970-01-01
  • 2018-01-25
相关资源
最近更新 更多