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
 

Logo

音视频技术社区,一个全球开发者共同探讨、分享、学习音视频技术的平台,加入我们,与全球开发者一起创造更加优秀的音视频产品!

更多推荐