1

见最终编辑。

我需要捕获第二台显示器并在一个小窗口的主显示器中显示。我需要的不是质量,而是性能。

因此,捕获 1280x1024 的第二个监视器并以 15fps 的速度在 640x480 窗口中显示并水平翻转的(工作)命令将是(来自askUbuntu):

avconv -f x11grab -r 15 -s 1280x1024 -i :0.1 -c:v mpeg4 \
  -b:v 1000k -s 640x480 -vf "hflip" -f avi - | avplay -i -
  • 如何使用“无”插值进行缩放?
  • 我使用“-c:v mpeg4”和“-b:v 1000k”来获得良好的图像质量,但是......还有其他格式/比特率可以至少减少 CPU 消耗吗?
  • 我知道水平翻转是一种基本效果,但是有没有办法告诉 avconv 通过使用 -vf 选项来减少 CPU 呢?
  • 当播放窗口星星显示时,它的 15fps 受到尊重。但是随后,它逐渐变得越来越低以被冻结......直到我点击窗口。然后,它上升到 15fps 并再次变低。为什么会这样以及如何避免呢?我尝试将“nice -n-20”与 avconv 和 avplay 一起使用,但这没有区别。

当我说我需要性能而不是质量时,我说节省 CPU 更重要……但我不想看到一个充满低压缩伪影的视频

我在 Ubuntu-Mate 14.04 上。

谢谢!

最后编辑:命令将是:

avconv -f x11grab -r 30 -s 1280x1024 -i :0.0+1920 -c:v mpeg4 \
-b:v 1000k -vf "hflip" -vf "scale=640:480" -sws_flags "neighbor" \
-f avi - | avplay -i -

但是帧率问题并没有解决,它消耗了 16-18% 的 CPU。在这个问题中,有 Gstreamer 选项,带有 gst-launch:它消耗 2-4% 的 CPU。所以,avconvert/avplay 选项对我没有用。

4

1 回答 1

-1

尝试使用frameratex11grab 的选项。

于 2015-11-13T05:57:13.653 回答