ffmpeg常用命令

常用命令

视频转图片

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 常用命令1
ffmpeg -i inputfile.avi -r 1 -q:v 2 -f image2 image-%05d.jpeg
-r 指定抽取的帧率,即从视频中每秒钟抽取图片的数量。1代表每秒抽取一帧。
-f 指定保存图片使用的格式,可忽略。
-q:v表示存储jpeg的图像质量,一般2是高质量。
image-%05d.jpeg,指定文件的输出名字

# 常用命令2
ffmpeg -i inputfile.avi -r 1 -s 4cif -f image2 image-%05d.jpeg
4cif 代表帧的尺寸为705x576

# 常用命令3
ffmpeg -i inputfile.avi -r 1 -t 4 -f image2 image-%05d.jpeg
-t 代表持续时间,单位为秒

# 常用命令4
ffmpeg -i inputfile.avi -r 1 -ss 01:30:14 -f image2 image-%05d.jpeg
-ss 指定起始时间

# 常用命令5
ffmpeg -i inputfile.avi -r 1 -ss 01:30:14 -vframes 120 4cif -f image2 image-%05d.jpeg
-vframes 指定抽取的帧数,但是这个固定帧不是均匀采样的

图片转视频

1
ffmpeg -r 30 -f image2 -i output/%04d_matte.png -vcodec libx264 -crf 15 -s 1280x720 -pix_fmt yuv420p teaser_matte.mp4

得到视频信息

1
2
3
4
5
# 得到视频的帧数
ffprobe -v error -count_frames -select_streams v:0 -show_entries stream=nb_read_frames -of default=nokey=1:noprint_wrappers=1 test.mp4

# 得到视频时长
ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 test.mp4

参考

使用ffmpeg从视频中截取图像帧
[FFmpeg] ffmpeg 常用命令
ffmpeg
如何用ffmpeg取帧数?
每天学习一个命令:ffprobe 查看多媒体信息

------ 本文结束------
坚持原创技术分享,您的支持将鼓励我继续创作!

欢迎关注我的其它发布渠道