ffmpeg命令使用
发布于2025-03-23 19:59:45,更新于2025-03-25 20:03:42,标签:ffmpeg 文章会持续修订,转载请注明来源地址:https://meethigher.top/blog针对 ffmpeg 记录一系列常规用法。官网指路
一、视频截取(剪辑)
1.1 从第 60 秒开始,截取 30 秒
1 | ffmpeg -ss 60 -t 30 -i input.mp4 -c copy output.mp4 |
参数说明
-ss 60
:从第 60 秒开始-t 30
:截取时长为 30 秒-i input.mp4
:输入文件-c copy
:复制原始编码(不重新编码,处理更快)
1.2 从指定时间段截取(起止时间点)
1 | ffmpeg -ss 00:01:00 -to 00:02:30 -i input.mp4 -c copy output.mp4 |
参数说明
-ss
:起始时间-to
:结束时间-c copy
:无需转码,快速导出
二、视频合并
2.1 同格式无转码合并
先准备一个 filelist.txt
文件,内容如下:
1 | file '1.mp4' |
然后执行合并命令:
1 | ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4 |
参数说明
-f concat
:启用合并模式-safe 0
:允许使用绝对路径-c copy
:无转码直接合并
2.2 异格式重新编码合并
1 | ffmpeg -i 1.mp4 -i 2.mp4 -i 3.mp4 \ |
参数说明
concat=n=3
:合并 3 个视频v=1 a=1
:合并一轨视频和音频-map
:指定输出轨道
三、格式转换
3.1 MP4 转 AVI
1 | ffmpeg -i input.mp4 output.avi |
- 自动转码为 AVI 支持的编码格式
3.2 MKV 转 MP4(不转码)
1 | ffmpeg -i input.mkv -c copy output.mp4 |
参数说明
-c copy
:直接封装为 MP4 格式,不进行转码
四、提取音频 / 视频
4.1 仅提取音频
1 | ffmpeg -i input.mp4 -vn -acodec copy output.aac |
参数说明
-vn
:禁用视频轨道-acodec copy
:保留音频原始编码
4.2 仅提取视频
1 | ffmpeg -i input.mp4 -an -vcodec copy output.mp4 |
参数说明
-an
:禁用音频轨道-vcodec copy
:保留视频原始编码
五、压缩视频大小
1 | ffmpeg -i input.mp4 -vcodec libx264 -crf 28 output.mp4 |
参数说明
libx264
:使用 H.264 编码压缩-crf
:视频质量参数(范围 0–51,默认 23,越大压缩越狠)
六、静音视频(去除音轨)
1 | ffmpeg -i input.mp4 -an output.mp4 |
参数说明
-an
:移除音频轨道
七、添加背景音乐
1 | ffmpeg -i input.mp4 -i music.mp3 -c:v copy -c:a aac -shortest output.mp4 |
参数说明
-shortest
:以较短的输入为输出时长(避免音乐过长)
八、视频转图片序列
1 | ffmpeg -i input.mp4 -r 1 img_%03d.jpg |
参数说明
-r 1
:每秒输出一帧图片%03d
:命名格式,如img_001.jpg
、img_002.jpg
等
九、图片序列合成视频
1 | ffmpeg -framerate 25 -i img_%03d.jpg -c:v libx264 output.mp4 |
参数说明
-framerate
:每秒帧数(此处为 25 帧)libx264
:使用 H.264 编码输出视频
十、添加水印图片
1 | ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=10:10" output.mp4 |
参数说明
overlay=10:10
:水印位置为左上角偏移(10,10)
十一、查看视频信息
1 | ffmpeg -i input.mp4 |
参数说明
- 显示编码信息、时长、轨道数、分辨率等详细参数
打赏