ffmpeg视频特效

2019-12-02  本文已影响0人  技术笔记

ffmpeg视频合并淡入淡出效果 原文

下面这个写法会报错:

ffmpeg -i dog3.mp4 -i dog3.mp4 -i dog3.mp4 -i dog3.mp4 -i dog3.mp4 -filter_complex \
"[0:v]setpts=PTS-STARTPTS[v1]; \
 [1:v]format=yuva420p,fade=in:st=0:d=1:alpha=1,setpts=PTS-STARTPTS+(4/TB)[v2]; 
[2:v]format=yuva420p,fade=in:st=0:d=1:alpha=1,setpts=PTS-STARTPTS+(8/TB)[v3]; 
[3:v]format=yuva420p,fade=in:st=0:d=1:alpha=1,setpts=PTS-STARTPTS+(12/TB)[v4]; 
[4:v]format=yuva420p,fade=in:st=0:d=1:alpha=1,setpts=PTS-STARTPTS+(16/TB)[v5]; 
[v1][v2]overlay[12]; [12][v3]overlay[123]; [123][v4]overlay[1234]; [1234][v5]overlay,format=yuv420p[v]; \
[1][2]acrossfade=d=1[a12]; [a12][3]acrossfade=d=1[a123]; [a123][4]acrossfade=d=1[a];" \
-map [v] -map [a] result.mp4

在前面的filter_complex的最后一个标签后不能跟分号,跟了分号就报错:

[AVFilterGraph @ 0x55a826aa5a60] No such filter: ''
Error initializing complex filters.
Invalid argument

以前碰到这个问题的时候因为-map后面没加""报错:

-map "[v]" -map "[a]"

这次不是这个问题。

正确的如下:

ffmpeg -i dog3.mp4 -i dog3.mp4 -i dog3.mp4 -i dog3.mp4 -i dog3.mp4 -filter_complex \
"[0:v]setpts=PTS-STARTPTS[v1]; \
 [1:v]format=yuva420p,fade=in:st=0:d=1:alpha=1,setpts=PTS-STARTPTS+(4/TB)[v2]; 
[2:v]format=yuva420p,fade=in:st=0:d=1:alpha=1,setpts=PTS-STARTPTS+(8/TB)[v3]; 
[3:v]format=yuva420p,fade=in:st=0:d=1:alpha=1,setpts=PTS-STARTPTS+(12/TB)[v4]; 
[4:v]format=yuva420p,fade=in:st=0:d=1:alpha=1,setpts=PTS-STARTPTS+(16/TB)[v5]; 
[v1][v2]overlay[12]; [12][v3]overlay[123]; [123][v4]overlay[1234]; [1234][v5]overlay,format=yuv420p[v]; \
[1][2]acrossfade=d=1[a12]; [a12][3]acrossfade=d=1[a123]; [a123][4]acrossfade=d=1[a]" \
-map [v] -map [a] result.mp4

ffmpeg快慢快效果

 ffmpeg -i dog3.mp4 -timestamp now -filter_complex "[0:v]split=3[1v][2v][3v];[0:a]asplit=3[1a][2a][3a];
 [1v]trim=0:2.234000,setpts=PTS-STARTPTS[v1];\
 [2v]trim=2.234000:4.943000,setpts=(PTS-STARTPTS)*4[v2];\
 [3v]trim=4.943000:11.208000,setpts=PTS-STARTPTS[v3];\
 [1a]atrim=0:2.234000,asetpts=PTS-STARTPTS[a1];\
 [2a]atrim=2.234000:4.943000,volume=0,atempo=2.0,atempo=2.0[a2];\
 [3a]atrim=4.943000:11.208000,asetpts=PTS-STARTPTS[a3];\
 [v1][a1][v2][a2][v3][a3]concat=n=3:v=1:a=1[vout][aout]" \
 -map [vout] -map [aout] -c:v libx264 -preset superfast -x264opts bframes=0:keyint=10 \
-r 30.000000 -strict -2 -y result.mp4 -v info
上一篇 下一篇

猜你喜欢

热点阅读