ffmpeg常用命令:
文档地址:http://www.ffmpeg.org/ffmpeg.html#Options
- 查看视频信息:
ffmpeg -i 2.mp4
2. 转换视频格式:
ffmpeg -i 2.mp4 2_1.avi
3. 提取视频里的音频:
fmpeg -i 2.mp4 -acodec copy -vn 2_2.mp3
4. 提取纯视频文件:
ffmpeg -i 2.mp4 -vcodec copy -an 2_3.mp4
5. 视频剪切:
// 如果我们想从视频里剪切某一片段,例:从时间为00:00:02开始,截取1分钟的视频。
/**
-ss设置从视频的哪个时间点开始截取
-t表示截取多长的时间
-vcodec copy表示使用跟原视频一样的视频编解码器。
-acodec copy表示使用跟原视频一样的音频编解码器。
-i 表示源视频文件
-to 截到视频的哪个时间点结束
-y 表示如果输出文件已存在则覆盖。
**/
ffmpeg -i 2.mp4 -vcodec copy -acodec copy -ss 00:00:02 -t 00:01:00 2_4.mp4 -y
6. 压缩视频:
/**
-s 360x640表示修改分辨率为360x640(ffmpeg -i 2.mp4 -s 360x640 2_5_1.mp4)
-b:v 300k表示修改比特率为300kb/s(ffmpeg -i 2.mp4 -b:v 300k -bufsize 300k 2_5_2.mp4)
-bufsize 用于设置码率控制缓冲器的大小,设置的好处是,让整体的码率更趋近于希望的值,减少波动
-r 5表示1秒5帧 压缩帧数(ffmpeg -i 2.mp4 -r 5 2_5_3.mp4)
-b:a 64k表示音频码率为64k/s 压缩音频码率 (ffmpeg -i 2.mp4 -b:a 64k 2_5_4.mp4)
**/
ffmpeg -i 2.mp4 -s 360x640 -b:v 300k -bufsize 300k -r 5 -b:a 64k 2_5.mp4
7.修改编码格式:
ffmpeg -i 2.mp4 -vcodec libx264 2_6.mp4
8.视频添加logo:
ffmpeg -i 1.mp4 -i b.png -filter_complex overlay 1_7.mp4 -y
9.抓取视频的一些帧,存为图片
/**
-r 表示每一秒几帧
-q:v表示存储jpeg的图像质量,一般2是高质量。
-f:指定文件格式(format),这里指定为image2的格式
**/
ffmpeg -i 2.mp4 -r 1 -q:v 2 -f image2 pic-%03d.jpg
/**
-ss 表示开始时间
-t表示共要多少时间
从2.mp4的第20s时间开始,往下3s,即20~23s这3秒钟之间,每隔1s就抓一帧,总共会抓3帧。
**/
ffmpeg -i 2.mp4 -ss 00:00:20 -t 3 -r 1 -q:v 2 -f image2 pic-%03d.jpeg
10.把视频截取成 Gif动态图
// 2.MP4前30秒截取成GIF
ffmpeg -i 2.mp4 -vframes 30 -y -f gif 2_8.gif
// 从2.MP4的第20s开始,往下10秒截取成GIF
ffmpeg -i 2.mp4 -ss 00:00:20 -t 10 -y -f gif 2_9.gif