我的 gstreamer 版本是 0.10,我想通过在顶部和底部插入空白来将 16:9 视频扩展为 4:3。
我用 gst-inspect 搜索了插件列表。有“videoscale”和“videocrop”,但没有“videoexpand”。
是否有任何插件可以直接完成这项工作?
编辑:问题已解决。“videobox”过滤器正好符合我的需求。
我的 gstreamer 版本是 0.10,我想通过在顶部和底部插入空白来将 16:9 视频扩展为 4:3。
我用 gst-inspect 搜索了插件列表。有“videoscale”和“videocrop”,但没有“videoexpand”。
是否有任何插件可以直接完成这项工作?
编辑:问题已解决。“videobox”过滤器正好符合我的需求。
检查videobox
过滤器。它可以生成任何宽高比的信箱视频。通过添加透明边框以匹配较大视频的大小,它对于在较大视频上合成较小视频也很有用(请参阅http://www.oz9aec.net/index.php/gstreamer/347-more-gstreamer-tips -画中画合成)。
由于我是 stackoverflow 的新手,因此不允许我发布两个链接。您可能也想检查一下。
我将在这里放下两分钱,因为这篇文章引导我找到了我认为是相关问题的解决方案(将不确定分辨率和宽高比的**输入视频缩放到具有固定分辨率的显示器):
添加add-borders=true
到videoscale
元素将根据需要通过填充字母/支柱框来保持纵横比。
对我来说有一个小警告,因为我的项目正在处理静态定义 AR 会出现问题的动态输入,因此要确保pixel-aspect-ratio=1/1
在我的管道中包含一个 caps 过滤器,以定义输出 AR(与旁边指定的height
和width
参数一致pixel-aspect-ratio
)。
**尽管即使不进行缩放,您仍然可以从中受益add-borders
——文档指出,“如果不需要缩放,可以安全地将这个元素插入管道 [...],无需任何成本。”