当前位置: 首页 > news >正文

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

原比例如图

原比例如图在这里插入图片描述
裁剪后的比例在这里插入图片描述

代码:

方法一:极速

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:直接复制音频流,避免重新编码。

标题如果想自动化处理

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

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 或其他语言的封装层。
    可并行处理多个流(如视频和音频)。
http://www.xdnf.cn/news/321355.html

相关文章:

  • 系统思考:教育焦虑恶性循环分析
  • C语言初阶:数组
  • DeepSeek全域智能革命:从量子纠缠到星际文明的认知跃迁引言:认知边界的坍缩与重构
  • 解决leetcode第3537题填充特殊网格
  • CSS详细学习笔记
  • eclipse常用快捷键
  • Jmeter进行http接口测试
  • 使用VSCode在Windows 11上编译运行项目
  • 005 权限的理解
  • Linux上将conda环境VLLM服务注册为开机自启
  • Java 常用的 ORM框架(对象关系映射)
  • 企业级AI革命!私有化部署开源大模型:数据安全+自主可控,打造专属智能引擎
  • Ubuntu20.04安装使用ROS-PlotJuggler
  • 【MCP】客户端配置(ollama安装、qwen2.5:0.5b模型安装、cherry-studio安装配置)
  • C#与Halcon联合编程
  • 迁移学习:如何加速模型训练和提高性能
  • 锁相环HMC830的调试
  • 缓存替换算法与存储器管理的分页、分段、段页式管理联系
  • http Status 400 - Bbad request 网站网页经常报 HTTP 400 错误,清缓存后就好了的原因
  • 办公学习 效率提升 超级PDF处理软件 转换批量 本地处理
  • android 折叠屏开发适配全解析:多窗口、铰链处理与响应式布局
  • 回溯进阶(一):以全排列问题为例,来展示如何对回溯的纵向和横向进行操作
  • C++ 有哪些标准版本
  • eFish-SBC-RK3576工控板音频接口测试操作指南
  • ElementUI 表格el-table自适应高度设置
  • RISC-V架构深度解析
  • SPSS系统发育分析中的聚类相关part
  • Python案例实战《手势识别》
  • Linux:web服务nginx
  • 应急响应靶机-Linux(1):知攻善防实验室