Ffmpeg常用命令
常用参数:
-i 输入流
-ss 起始时间
-t 持续时间
-f 输出格式
-b 设置码率,默认为200Kbit/s
-r 设置帧率,默认25
-s 设定画面宽高
-aspect 设定画面比例
-vcodec 视频编码器
-vn 不处理视频
-ar 设定采样率
-ac 设定声音频道数
-acodec 音频编码器
-an 不处理音频
视频格式转换
ffmpeg -i input.avi output.mp4
//编码格式转换,假设原先是MPEG4编码
ffmpeg -i input.mp4 -vcodec h264 output.mp4
提取音频
ffmpeg -i 奇葩说.mp4 -acodec aac -vn output.aac
提取视频
ffmpeg -i 奇葩说.mp4 -vcodec copy -an output.mp4
码率控制
-b:v设置平均码率,-maxrate设置最大值,-bufsize用于设置码率控制缓冲器的大小,好处是,让整体的码率更趋近于希望的值,减少波动。
ffmpeg -i input.mp4 -b:v 2000k -bufsize 2000k -maxrate 2500k output.mp4
视频剪辑
ffmpeg -ss 0.0 -t 5.0 -accurate_seek -i input.mp4 -vcodec copy -acodec copy output.mp4
视频裁剪
ffmpeg -i input.mp4 -filter_complex crop=200.0:200.0:0.0:0.0 -preset superfast output.mp4
旋转
//transpose=1为顺时针旋转90°,transpose=2逆时针旋转90°
ffmpeg -i input.mp4 -filter_complex transpose=2 -preset superfast output.mp4
缩放
//将输入的1920x1080缩小到960x540输出
ffmpeg -i input.mp4 -vf scale=960:540 output.mp4
添加字幕
ffmpeg -y -i input.mp4 -filter_complex drawtext=fontfile=/storage/emulated/0/EpMedia/msyh.ttf:fontsize=30.0:fontcolor=red:x=250:y=250:text='我是字幕' -preset superfast output.mp4
添加logo
//右上角:overlay=W-w 左下角:overlay=0:H-h 右下角:overlay=W-w:H-h
ffmpeg -i input.mp4 -i iQIYI_logo.png -filter_complex overlay output.mp4
删除logo
语法:-vf delogo=x:y:w:h[:t[:show]]
x:y 离左上角的坐标
w:h logo的宽和高
t: 矩形边缘的厚度默认值4
show:若设置为1有一个绿色的矩形,默认值0。
ffmpeg -i input.mp4 -vf delogo=0:0:220:90:100:1 output.mp4
抓取视频的一些帧,另存为图片
-r 表示每一秒几帧
-q:v 表示存储jpeg的图像质量,一般2是高质量。
-ss 表示开始时间
-t 持续时间
ffmpeg -i input.mp4 -ss 00:00:20 -t 10 -r 1 -q:v 2 -f image2 pic-%03d.jpeg