ffmpeg - ffmpeg 将不同尺寸的视频转码为 4:3
问题描述
我们有一些具有不同比例和纵横比的视频,我们希望将它们转换为固定的 640x480 尺寸(如有必要,使用 4/3 ar 信箱填充)。经常出现两种尺寸:853×480、1280×720。我在写这个问题之前做了一些研究和尝试,但没有得到预期的结果。
例如:
ffmpeg -i video.mp4 -vf "scale=640:480,pad=640:480:(ow-iw)/2:(oh-ih)/2,setdar=4/3" -c:a copy output.mp4
setdar=4/3似乎是必需的,因为如果我省略了结果,则保持原来的纵横比。
有没有针对不同尺寸转换的解决方案?
解决方案
用于在 WxH 画布中拟合视频的通用过滤器链是
"scale=iw*sar:ih,scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:-1:-1"
第一个比例过滤器确保视频不会保持变形。如果您知道视频是方形像素,则可以跳过它。force_original_aspect_ratio
第二个过滤器使用该选项将视频放入 640x480 的画布中。
推荐阅读
- c# - 在 ASP.NET 中一次将多条记录写入数据库
- javascript - 如何让后端文件(app.js)处理任何来自前端的url
- yaml - 从 Markdown 生成的 pptx 上的自定义标题页
- android - 如何以编程方式在位图周围完全添加填充?
- json - 键入'_InternalLinkedHashMap
' 不是“字符串” JSON 映射到模型中的子类型 - .net - Visual Studio 打开“记录 CPU 配置文件”以通过分析 CPU 使用率来测量应用程序性能但得到空结果
- c# - 从 TextBox 中的每一行中提取哈希值子字符串
- python - 使用 python 扩展、转置和去聚合数据集
- html - 防止文本中断到一半
- spring-boot - 启用弹簧启动执行器时的 Solr 自动配置问题