- 视频trim
ffmpeg -ss 00:00:01 -to 00:01:20 -i input.mp4 -c copy output.mp4
-ss后面是开始时间,-to后面是结束时间 - 视频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
- 视频crop
ffmpeg -i input.mp4 -vf "crop=w:h:x:y" output.mp4
w,h对应output的大小,x,y为crop的起点 - 合并视频
先创建一个文本文件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中转义。
将 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视频文件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视频静音
ffmpeg -i input.mp4 -c:v copy -an output.mp4