我正在使用GStreamer处理我的项目中的视频。输入视频可以有不同的格式(分辨率和纵横比)。例如,400x300,1080 p,4K,2000x1000等。
我想缩小视频自动,这是大于1080 p。因此,如果视频是在4K,它应该缩小到1080 p,但如果它是400x300格式,它应该保持原来的格式。
我已经找到了视频尺度管道插件,但它并不像我想的那样工作。它是在没有任何区别的情况下上下变化。而且,当只提供宽度或高度时,它不会按比例改变尺寸。
您知道在GStreamer中有什么简单的方法可以自动将分辨率降到所需的大小吗?
发布于 2022-04-21 16:44:17
GStreamer的帽子允许范围。所以我相信你是在寻找这样的东西:
video/x-raw,width=[1,1920],height=[1,1080],pixel-aspect-ratio=1/1
这将保持相同的高宽比,但如果需要适应1920x1080,则缩小。
例如。
gst-launch-1.0 videotestsrc ! video/x-raw,width=4000,height=2000 ! videoscale ! video/x-raw,width=[1,1920],height=[1,1080],pixel-aspect-ratio=1/1 ! autovideosink
将缩小到1920x960。
和:
gst-launch-1.0 videotestsrc ! video/x-raw,width=400,height=200 ! videoscale ! video/x-raw,width=[1,1920],height=[1,1080],pixel-aspect-ratio=1/1 ! autovideosink
将停留在400x200。
https://stackoverflow.com/questions/71955148
复制相似问题