2025-05-07-FFmpeg视频裁剪(尺寸调整,画面比例不变)

原比例如图

原比例如图
裁剪后的比例

代码:

方法一:极速

bash 复制代码
ffmpeg -i input.mp4 -vf "crop=1080:750:0:345" -c:v libx264 -preset ultrafast -c:a copy output.mp4

关键参数说明:

vf "crop=宽:高❌y":定义裁剪区域。

-c:v libx264:使用高效 H.264 编码器。

-preset ultrafast:最大化编码速度。

-c:a copy:直接复制音频流,避免重新编码。

标题如果想自动化处理

bash 复制代码
import subprocess

# 输入输出路径
input_path = "input.mp4"
output_path = "output.mp4"

# 裁剪参数
width = 1080
height = 850
x = 0#裁剪区域左上角X坐标
y = 200#裁剪区域左上角Y坐标

# 构建 FFmpeg 命令
command = [
    "ffmpeg",
    "-i", input_path,
    "-vf", f"crop={width}:{height}:{x}:{y}",
    "-c:a", "copy",
    output_path
]

# 执行命令
subprocess.run(command)

方法二:moviepy

bash 复制代码
from moviepy.editor import VideoFileClip

# 加载视频
clip = VideoFileClip("input.mp4")

# 裁剪视频区域 (x1, y1, x2, y2)
cropped_clip = clip.crop(x1=0, y1=345, x2=1080, y2=1095)

# 导出视频(保留音频)
cropped_clip.write_videofile("output.mp4", codec="libx264", audio_codec="aac")

⏱️ 速度排序(从快到慢)

FFmpeg 命令行

优势:原生 C 实现、硬件加速、最小化开销。

推荐场景:批量处理、自动化脚本、对速度要求高的场景。

Python 调用 FFmpeg

优势:保持 Python 代码结构,适合集成到脚本中。

劣势:子进程启动开销,编码速度略低于纯命令行。

moviepy

优势:Python 封装,适合开发复杂逻辑。

劣势:依赖 FFmpeg 但封装层增加开销,编码速度较慢。

OpenCV

优势:适合图像处理、帧级操作。

劣势:不支持音频、编码器效率低,仅适合小视频或测试。

最后总结:

🚀 为什么 FFmpeg 命令行最快?

  1. 专为多媒体处理优化
    FFmpeg 是专业的多媒体框架,底层采用 C 语言实现,编码效率极高 。
    支持 硬件加速 (如 NVENC、VAAPI),大幅提升处理速度。
    可通过参数(如 -preset ultrafast)进一步优化编码速度。
  2. 最小化 I/O 开销
    直接读写文件,无需通过 Python 或其他语言的封装层。
    可并行处理多个流(如视频和音频)。
相关推荐
美狐美颜SDK开放平台4 小时前
直播app开发如何实现主播级美颜效果?美颜sdk开发方案详解
人工智能·音视频·美颜sdk·视频美颜sdk·美颜api
ofoxcoding4 小时前
2026年视频生成API选型指南:根据应用场景匹配最佳方案
ai·音视频
玖妍呐5 小时前
会议音视频转文字+智能生成纪要软件哪个最好用?2026实测深度测评
音视频
hz567895 小时前
音视频SDK核心能力分析:低延迟传输与高并发接入方案
网络·安全·音视频·实时音视频·信息与通信
达子6667 小时前
第16章_HarmonyOs开发图解之 音频
华为·音视频·harmonyos
Black蜡笔小新11 小时前
EasyAIS+国标GB28181视频监控平台EasyCVR强强联动,全域视频AI识别能力落地!
大数据·人工智能·音视频
数字融合14 小时前
透明化视场时空配准视频孪生多视域空间融合技术
人工智能·音视频·virtualenv
神奇霸王龙15 小时前
DeepSeek医疗RAG降本60%实战
人工智能·gpt·ai·prompt·音视频·医疗·ai医疗
水獭比特16 小时前
自动成片没报错,为什么音画还会漂?
ffmpeg
Yeauty16 小时前
2026 年在 Rust 里处理音视频,该走哪条路?
rust·ffmpeg·音视频·视频