如何用FFmpeg将1920x1080视频转为1080x1920并缩至半屏?
使用FFmpeg实现视频格式转换与缩放
核心命令
ffmpeg -i input.mp4 -vf "transpose=1, scale=iw/2:ih/2, pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black" -c:v libx264 -crf 23 -c:a copy output.mp4
参数解释
- transpose=1:将原1920×1080横屏视频顺时针旋转90度,得到1080×1920的竖屏画面。
- scale=iw/2:ih/2:把旋转后的竖屏视频缩小至原尺寸的50%,最终画面尺寸为540×960。
- pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black:创建1080×1920的目标画布,将缩小后的画面居中放置,空白区域填充黑色。
- -c:v libx264 -crf 23:采用H.264视频编码,CRF23为默认质量参数,兼顾画质与文件体积。
- -c:a copy:直接复制原视频的音频流,避免音频重新编码带来的质量损失。
自定义调整
如果需要将缩小后的画面放在非居中位置,可修改pad滤镜的偏移参数:
- 左对齐:将
(ow-iw)/2改为0 - 右对齐:将
(ow-iw)/2改为ow-iw - 顶部对齐:将
(oh-ih)/2改为0 - 底部对齐:将
(oh-ih)/2改为oh-ih
内容的提问来源于stack exchange,提问作者Rittari771
相关产品推荐
相关产品推荐

