ffmpeg常用命令
1. 抽取全部帧
ffmpeg -i 1.mp4 -q:v 2 -f image2 images/%08d.jpg
2. 抽取I帧
ffmpeg -i 1.mp4 -vf “select=eq(pict_type,I)” -vsync vfr -qscale:v 2 -f image2 images/%08d.jpg
3. 抽取P帧
ffmpeg -i 1.mp4 -vf “select=eq(pict_type,P)” -vsync vfr -qscale:v 2 -f image2 images/%08d.jpg
4. 抽取B帧
ffmpeg -i 1.mp4 -vf “select=eq(pict_type,B)” -vsync vfr -qscale:v 2 -f image2 images/%08d.jpg
5. 视频场景转换帧
ffmpeg -i 1.mp4 -filter:v “select=’gt(scene,0.1)’,showinfo” -f null - 2>&1
// 其中0.1表示帧为新场景的概率
6. 均匀抽帧 -r 指定抽取的帧率,即从视频中每秒钟抽取图片的数量。1代表每秒抽取一帧。
ffmpeg -i 1.mp4 -r 1 -q:v 2 -f image2 images/%08d.jpg
7. 抽取指定时间帧
ffmpeg -ss 00:00:30 -i 1.mp4 -vframes 1 0.jpg
// 耗时0.07s
ffmpeg -i 1.mp4 -ss 00:00:30 -vframes 1 0.jpg
// 耗时0.68s
8. 图片合成视频
ffmpeg -threads 1 -y -r 25 -i ./%08d.jpg -s 640x480 -vcodec libx264 output.mp4
9. 切视频
ffmpeg -i 815.mp4 -vcodec copy -acodec copy -ss 00:01:00 -to 00:04:10 output1.mp4 -y