MoviePy如何将1920x1080横屏视频通过中心缩放转为1080x1920竖屏
使用MoviePy实现横屏转竖屏(中心区域放大)的操作方案
实现原理
原1920x1080横屏视频的宽高比为16:9,目标1080x1920竖屏的宽高比为9:16。我们先将原视频等比例放大到高度刚好为1920,再对左右两侧多余的宽度进行中心裁剪,即可得到中心区域放大后的竖屏视频。
前置依赖
首先安装MoviePy库:pip install moviepy
完整实现代码
from moviepy.editor import VideoFileClip # 加载原视频,替换为你的本地视频路径 input_path = "your_input_video.mp4" original_clip = VideoFileClip(input_path) # 计算缩放比例,确保放大后视频高度匹配目标竖屏高度1920 scale_ratio = 1920 / original_clip.size[1] scaled_clip = original_clip.resize(scale_ratio) # 中心裁剪为1080x1920分辨率 target_w, target_h = 1080, 1920 crop_x_start = (scaled_clip.size[0] - target_w) / 2 final_clip = scaled_clip.crop(x1=crop_x_start, y1=0, width=target_w, height=target_h) # 导出视频,替换为你想要的输出路径 final_clip.write_videofile( "output_vertical_video.mp4", codec="libx264", audio_codec="aac", # 可选参数:调整码率控制画质和文件大小 # bitrate="6000k" ) # 释放资源 original_clip.close() final_clip.close()
注意事项
- 代码会自动适配输入的1920x1080视频,不需要手动修改尺寸参数
- 若导出后画质不符合预期,可调整
bitrate参数,数值越高画质越好、文件体积越大 - 若使用过程中出现编码器相关报错,可检查本地FFmpeg环境是否正常,MoviePy默认会携带适配的FFmpeg版本
内容的提问来源于stack exchange,提问作者bodyanyash
相关产品推荐
相关产品推荐

