1. 从视频中抽取帧
ffmpeg -i input.mp4 -r 1 -q:v 2 D:\images\img_%02d.jpeg
- -i 输入视频
- -r 提取频率,每秒多少帧,可以为小数
- -q:v 图像质量, 2为保存为高质量
- 最后一个是保存路径
2. 从视频中剪切出一段视频
ffmpeg -i input.mp4 -ss 00:00:15 -t 00:00:05 D:\video\output.mp4
- -i 输入视频
- -ss 开始切割时间
- -t 切割持续时长
- 最后一个是保存路径
3. 提取关键帧
ffmpeg -i input.mp4 -vf select='eq(pict_type\,I)' -vsync 2 -f image2 core-%02d.jpg
4. 获取视频时长
import os
cmd = 'ffprobe -i %s -show_entries format=duration -v quiet -of csv="p=0"' % 'input.mp4'
video_length = os.system(cmd)
图片转视频(按帧率25)
ffmpeg -f image2 -i Path_imgs/image%d.jpg -vcodec libx264 -r 25 Path_video/outpu.mp4 -y
FFmpeg左右拼接两个视频
ffmpeg -i video1.mp4 -i video2.mp4 -filter_complex "[0:v]pad=iw*2:ih*1[a];[a][1:v]overlay=0:w" concat.mp4
上下拼接两个视频
ffmpeg -i video1.mp4 -i video2.mp4 -filter_complex "[0:v]pad=iw:ih*2[a];[a][1:v]overlay=0:h" concat.mp4
四个视频2x2拼接
ffmpeg -i video1.mp4 -i video2.mp4 -i video3.mp4 -i video4.mp4 -filter_complex "[0:v]pad=iw*2:ih*2[a];[a][1:v]overlay=w[b];[b][2:v]overlay=0:h[c];[c][3:v]overlay=w:h" concat.mp4