ffmpeg基本操作

  1. 视频trim
    ffmpeg -ss 00:00:01 -to 00:01:20 -i input.mp4 -c copy output.mp4
    -ss后面是开始时间,-to后面是结束时间
  2. 视频2倍速播放
    ffmpeg -i input.mp4 -filter:v "setpts=0.5*PTS" output.mp4

保证原始质量

ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" -c:v libx264 -crf 18 -preset slow -c:a aac -b:a 192k output.mp4

  1. 视频crop
    ffmpeg -i input.mp4 -vf "crop=w:h:x:y" output.mp4
    w,h对应output的大小,x,y为crop的起点
  2. 合并视频
    先创建一个文本文件filelist.txt:

file 'input1.mkv'
file 'input2.mkv'
file 'input3.mkv'

然后:

ffmpeg -f concat -i filelist.txt -c copy output.mkv

注意:使用 FFmpeg concat 分离器时,如果文件名有奇怪的字符,要在 filelist.txt中转义。

  1. 将 6 个视频合并到一个窗口以2x3 的网格布局播放,并以最长的视频时长为准
    ffmpeg
    -i 1.MOV -i 2.MOV -i 3.MOV -i 4.MOV -i 6.MOV -i 7.MOV
    -filter_complex "
    [0:v]scale=360:640[v0];
    [1:v]scale=360:640[v1];
    [2:v]scale=360:640[v2];
    [3:v]scale=360:640[v3];
    [4:v]scale=360:640[v4];
    [5:v]scale=360:640[v5];
    [v0][v1][v2][v3][v4][v5]xstack=inputs=6:layout=0_0|360_0|720_0|0_640|360_640|720_640[outv]"
    -map "[outv]" -c:v libx264 -preset veryfast -crf 23 output2.mp4

  2. 视频文件downsample
    ffmpeg -i input.mp4 -vf "scale=iw/2:ih/2" output.mp4
    ffmpeg -i input.mp4 -vf "scale=1280:720" output.mp4
    保持宽高比:ffmpeg -i input.mp4 -vf "scale=640:-1" output.mp4

  3. 视频静音
    ffmpeg -i input.mp4 -c:v copy -an output.mp4

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容