见最终编辑。
我需要捕获第二台显示器并在一个小窗口的主显示器中显示。我需要的不是质量,而是性能。
因此,捕获 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 选项对我没有用。