ffmpeg的基本操作

243 阅读2分钟

1.视频转ts格式:

Bash

ffmpeg -i 1.MOV -vcodec copy -acodec copy -vbsf h264_mp4toannexb -v quiet  1.ts -y

2.多个视频合并

Bash

ffmpeg -i "concat:1.ts|2.ts|3.ts" -c copy -absf aac_adtstoasc -v quiet input.mp4 -y

对于多视频合并操作例子,网上大多数说直接例如txt文件逐行,经测试还是将所有要合并的视频转码ts格式后,然后在合并速度超快且清晰度非常好。

因此这两步可以作为视频合并例子参考

3.视频去声音

Bash

ffmpeg -i input.mp4 -an -v quiet input_noan.mp4

4.视频倍速

Bash

ffmpeg -i input_noan.mp4 -filter:v "setpts=0.5*PTS" -v quiet output.mp4 -y

5.MP3剪辑 (表示从头开始,截取到1分49秒的音频)

Bash

ffmpeg  -i 1.mp3  -vn -acodec copy -ss 00:00:00 -t 00:01:49 -v quiet output.mp3 -y

6.将音频合并到视频中

Bash

ffmpeg -i input_noan.mp4 -i 1.mp3 -c:v copy -c:a aac -strict experimental -shortest -v quiet outputVideo.mp4 -y

7.降低音频音量

Bash

ffmpeg -i 1.mp3 -af "volume=-10dB,volume=0.5" output.mp3

8.将图片合成视频(需指定图片名称)

Bash

ffmpeg -r 0.2  -f image2 -i ./image%d.jpg  -vcodec libx264 -threads 2  tt.mp4

9.将图片合成视频(附带上下左右转场效果)

Bash

ffmpeg -y -i image0.jpg -i image2.jpg -i image3.jpg -i image0.jpg -i image2.jpg -filter_complex "[0:v]zoompan='1.5':x='if(lte(on,-1),(iw-iw/zoom)/2,x+3)':y='if(lte(on,1),(ih-ih/zoom)/2,y)':d=150[v0];[1:v]zoompan='1.5':x='if(lte(on,1),(iw-iw/zoom)/2,x)':y='if(lte(on,-1),(ih-ih/zoom)/2,y+2)':d=150[v1];[2:v]zoompan='1.5':x='if(lte(on,1),(iw/zoom)/2,x-3)':y='if(lte(on,1),(ih-ih/zoom)/2,y)':d=150[v2];[3:v]zoompan='1.5':x='if(lte(on,1),(iw-iw/zoom)/2,x)':y='if(lte(on,1),(ih/zoom)/2,y-2)':d=150[v3];[4:v]zoompan='1.5':x='if(lte(on,1),(iw-iw/zoom)/2,x)':y='if(lte(on,1),(ih/zoom)/2,y-2)':d=150[v4];[v0][v1][v2][v3][v4]concat=n=5:v=1:a=0,format=yuv420p[v]" -map "[v]" out.mp4

10.图片尺寸调整1440x1080

Bash

ffmpeg -i image1.jpg -vf scale=1440:1080 output_320x240.jpg

11.视频加速

Bash

ffmpeg -i out.mp4 -filter:v "setpts=0.6*PTS" -v quiet output.mp4 -y

12.视频截取

Bash

ffmpeg -ss 00:00:00 -t 00:00:30 -i test.mp4 -vcodec copy -acodec copy output.mp4