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

​​FFmpeg命令全解析:三步完成视频合并、精准裁剪​​、英伟达显卡加速

一、裁剪

常规裁剪

根据时长裁剪,常规的裁剪
-c copy 表示直接复制流(不重新编码),速度极快,但要求切割时间必须是关键帧。否则裁剪下来的画面开头/结尾 会模糊花屏

ffmpeg -i input.mp4 -ss 00:00:30 -to 00:01:00 -c copy output.mp4 

 精确裁剪

(重新编码确保精度)
-c:v libx264 需要重新编码,时间上会比较耗时 

ffmpeg -i input.mp4 -ss 00:00:30 -t 30 -c:v libx264 -c:a aac output.mp4

批量裁剪

遇到大量的精确裁剪,单个单个裁剪,明显比较耗时,需要更高效命令。对同一个源文件,裁剪出不同时间段的视频分段,耗时跟单个视频裁剪差不多,但不建议,一下搞太多,容易导致系统资源爆满 ,通常5~10个即可

ffmpeg -y -i source.mp4 -threads 10 -filter_complex [0:v]trim=start=0.00:end=6.42,setpts=PTS-STARTPTS[v0];[0:a]atrim=start=0.00:end=6.42,asetpts=PTS-STARTPTS[a0];[0:v]trim=start=6.42:end=13.02,setpts=PTS-STARTPTS[v1];[0:a]atrim=start=6.42:end=13.02,asetpts=PTS-STARTPTS[a1];[0:v]trim=start=13.02:end=14.05,setpts=PTS-STARTPTS[v2];[0:a]atrim=start=13.02:end=14.05,asetpts=PTS-STARTPTS[a2]

-map [v0] -map [a0] -c:v libx264 -preset fast -c:a aac source_0_6420.ts -map [v1] -map [a1] -c:v libx264 -preset fast -c:a aac source_6420_13020.mp4 -map [v2] -map [a2] -c:v libx264 -preset fast -c:a aac source_13020_14050.mp4

显卡加速

在这基础上,还能继续提速,使用英伟达\AMD显卡继续加速

英伟达加速

-c:v libx264  换成 -c:v h264_nvenc

-preset fast 换成  -preset p6

再追加 -cq 26

ffmpeg -y -i source.mp4 -threads 10 -filter_complex [0:v]trim=start=0.00:end=6.42,setpts=PTS-STARTPTS[v0];[0:a]atrim=start=0.00:end=6.42,asetpts=PTS-STARTPTS[a0];[0:v]trim=start=6.42:end=13.02,setpts=PTS-STARTPTS[v1];[0:a]atrim=start=6.42:end=13.02,asetpts=PTS-STARTPTS[a1];[0:v]trim=start=13.02:end=14.05,setpts=PTS-STARTPTS[v2];[0:a]atrim=start=13.02:end=14.05,asetpts=PTS-STARTPTS[a2] -map [v0] -map [a0] -c:v h264_nvenc -preset p6 -cq 26 -c:a aac source_0_6420.ts -map [v1] -map [a1] -c:v h264_nvenc -preset p6 -cq 26 -c:a aac source_6420_13020.mp4 -map [v2] -map [a2] -c:v h264_nvenc -preset p6 -cq 26 -c:a aac source_13020_14050.mp4

AMD加速

-c:v libx264  换成 -c:v h264_amf

-preset fast 换成  -quality quality

再追加 -rc cqb

 ffmpeg -y -i source.mp4 -threads 10 -filter_complex [0:v]trim=start=0.00:end=6.42,setpts=PTS-STARTPTS[v0];[0:a]atrim=start=0.00:end=6.42,asetpts=PTS-STARTPTS[a0];[0:v]trim=start=6.42:end=13.02,setpts=PTS-STARTPTS[v1];[0:a]atrim=start=6.42:end=13.02,asetpts=PTS-STARTPTS[a1];[0:v]trim=start=13.02:end=14.05,setpts=PTS-STARTPTS[v2];[0:a]atrim=start=13.02:end=14.05,asetpts=PTS-STARTPTS[a2] -map [v0] -map [a0] -c:v h264_nvenc -quality quality -rc cqb -c:a aac source_0_6420.ts -map [v1] -map [a1] -c:v h264_nvenc -quality quality -rc cqb -c:a aac source_6420_13020.mp4 -map [v2] -map [a2] -c:v h264_nvenc -quality quality -rc cqb -c:a aac source_13020_14050.mp4

二、合并

常规合并

 简单视频合并命令,不大推荐使用

ffmpeg -i "concat:video1.mp4|video2.mp4|video3.mp4" -c copy output.mp4

批量合并

ffmpeg -y -i video1.mp4 -i video2.mp4 -filter_complex [0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a] -map [v] -map [a] -c:v libx264 -crf 23 -preset fast -threads 10 合并视频.mp4

显卡加速

英伟达

ffmpeg -y -i video1.mp4 -i video2.mp4 -filter_complex [0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a] -map [v] -map [a] -c:v  h264_nvenc -preset p6 -cq 26 -threads 10 合并视频.mp4

 AMD

ffmpeg -y -i video1.mp4 -i video2.mp4 -filter_complex [0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a] -map [v] -map [a] -c:v  h264_amf -quality quality -rc cqb -threads 10 合并视频.mp4

http://www.lryc.cn/news/574065.html

相关文章:

  • 飞往大厂梦之算法提升-7
  • vue | vue-macros 插件升级以及配置
  • OSC靶机练习 PG ZenPhoto
  • 华为HN8145V光猫改华为蓝色公版界面,三网通用,xgpon公版光猫
  • redis如何使用IO多路复用
  • 深入理解PHP中的面向对象编程
  • 医疗B端系统布局创新:医护操作界面与患者数据的差异化呈现
  • 347. 前 K 个高频元素
  • 洛谷P1217 [USACO1.5] 回文质数 Prime Palindromes
  • Rust 切片类型(slice type)
  • 关于华为Pura70Pro+升级鸿蒙NEXT和回退
  • 第三章---需求分析
  • JavaScript 中 async/await 的工作原理
  • Chromium 136 编译指南 macOS篇:编译优化技巧(六)
  • 【C++】C++中的虚函数和多态的定义与使用
  • 微软ASR与开源模型分析
  • 黑马python(十五)
  • C语言数组介绍 -- 一维数组和二维数组的创建、初始化、下标、遍历、存储,C99 变长数组
  • 三、kubectl使用详解
  • 安卓9.0系统修改定制化____如何编辑和修改安卓手机默认按键配置文件 改变按键功能 操作篇 九
  • LeetCode中K个链表的链接的解法
  • 区块链大讲堂 | 分布式隐私计算友好的零知识证明协议
  • 矩阵阶数(线性代数) vs. 张量维度(深度学习):线性代数与深度学习的基石辨析,再也不会被矩阵阶数给混淆了
  • Flink SQL执行流程深度剖析:从SQL语句到分布式执行
  • 机器学习基础:从概念到应用的全面解析
  • mac隐藏文件现身快捷键
  • Node.js 中的 JWT 认证:从生成到验证的完整指南
  • 深入浅出Node.js中间件机制
  • Apache SeaTunnel Spark引擎执行流程源码分析
  • 17、Rocket MQ快速实战以及核⼼概念详解