常用的 ffmpeg 命令
2023-09-13 · 392 chars · 2 min read
不是专业做音视频相关工作的,只是偶尔用 ffmpeg 处理下视频,几个常用的命令记录一下,方便日常查找。
慢放 & 快放视频#
ffmpeg -i ./input.mp4 -filter:v "setpts=5*PTS" output.mp4
把 input.mp4
放慢 5 倍,另存为 output.mp4
。
加速视频就用小数,比如速度加快 5 倍:
ffmpeg -i ./input.mp4 -filter:v "setpts=0.2*PTS" output.mp4
Tip
对于前端来说,录个屏,慢放,能更加细致的查看交互&动画细节,对体验优化很有帮助!
片段截取#
ffmpeg -ss 6 -t 4 -accurate_seek -i input.mp4 -codec copy output.mp4
截取 input.mp4
,从第 6 秒开始,截取 4 秒,另存为 output.mp4
。
也可以按照时分秒来写。
ffmpeg -ss 00:00:06 -t 00:00:04 -accurate_seek -i input.mp4 -codec copy output.mp4
分辨率调整#
ffmpeg -i input.mp4 -filter:v scale=320:-1 -c:a copy output.mp4
读取 input.mp4
,调整分辨率,另存为 output.mp4
。640:-1
的意思就是宽度设置为 640,保持宽高比,高度自适应。
不过有时候这么用会报错:
[libx264 @ 0x7f977cf06840] height not divisible by 2 (320x711) Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height Conversion failed!
异常信息写的很明显了,原始视频按照宽度 320,保持宽高比计算后,是 320x711
,高度不能被 2 整除。此时明确写一下高度即可,比如 scale=320:712
。
还有些更好的方案可以看这里。
视频流下载#
ffmpeg 也可以用来下载视频流,比如:
ffmpeg -i https://xxx.com/xxx.m3u8 -c copy output.mp4