图片合成视频,加入淡入淡出等效果,视频出现问题

我将多张图片依次处理,每张图片生成一段小视频,有各自的时长和效果,把这些小视频合成一个完整视频的时候出现问题,每张图片的播放时长跟原先的小视频时长不一样,有的变短,有的变长,求大神告知如何解决,下面是脚本



/usr/local/ffmpeg/bin/ffmpeg -y -loop 1 -r 30 -i /Users/lk/Desktop/file/im00001.jpg -t 00:00:03 -s 1280x720  -b:v 2048k -vcodec mpeg4 text1.mp4
/usr/local/ffmpeg/bin/ffmpeg -i text1.mp4 -vf "drawtext=text=FIIISH:fontfile=/Library/Fonts/Arial.ttf:x=20:y=20:fontsize=44:enable='gte(t,1)'" -t 00:00:03 -vcodec mpeg4 -b:v 2048k -y 1.mp4
/usr/local/ffmpeg/bin/ffmpeg -y -i 1.mp4 -vf fade=in:0:25 -s 1280x720 -t 00:00:03 -vcodec mpeg4 -b:v 2048k fade_1.mp4

/usr/local/ffmpeg/bin/ffmpeg -y -loop 1 -r 30 -i /Users/lk/Desktop/file/im00002.jpg -t 00:00:02 -s 1280x720  -b:v 2048k -vcodec mpeg4 2.mp4
/usr/local/ffmpeg/bin/ffmpeg -y -i 2.mp4 -vf "scale=8000:-1,zoompan=z='zoom+0.001':s='1280*720'" -s 1280x720 -t 00:00:02 -b:v 2048k -vcodec mpeg4 fade_2.mp4

/usr/local/ffmpeg/bin/ffmpeg -y -loop 1 -r 30 -i /Users/lk/Desktop/file/im00003.jpg -t 00:00:03 -s 1280x720  -b:v 2048k -vcodec mpeg4 3.mp4
/usr/local/ffmpeg/bin/ffmpeg -y -i 3.mp4 -vf fade=out:70:20:c=white -b:v 2048k -t 00:00:03 -s 1280x720 -vcodec mpeg4 fade_3.mp4

/usr/local/ffmpeg/bin/ffmpeg -y -loop 1 -r 30 -i /Users/lk/Desktop/file/im00004.jpg -t 00:00:02 -s 1280x720  -b:v 2048k -vcodec mpeg4 4.mp4
/usr/local/ffmpeg/bin/ffmpeg -y -i 4.mp4 -vf fade=in:0:25 -s 1280x720 -t 00:00:02 -b:v 2048k -vcodec mpeg4 fade_4.mp4

/usr/local/ffmpeg/bin/ffmpeg -y -loop 1 -r 30 -i /Users/lk/Desktop/file/im00005.jpg -t 00:00:02 -s 1280x720  -b:v 2048k -vcodec mpeg4 5.mp4
/usr/local/ffmpeg/bin/ffmpeg -y -i 5.mp4 -vf "scale=8000:-1,zoompan=z='zoom+0.001':s='1280*720'" -s 1280x720 -t 00:00:02 -b:v 2048k -vcodec mpeg4 fade_5.mp4

/usr/local/ffmpeg/bin/ffmpeg -y -loop 1 -r 30 -i /Users/lk/Desktop/file/im00006.jpg -t 00:00:03 -s 1280x720  -b:v 2048k -vcodec mpeg4 6.mp4
/usr/local/ffmpeg/bin/ffmpeg -y -i 6.mp4 -vf "scale=8000:-1,zoompan=z='zoom+0.001':s='1280*720'" -s 1280x720 -t 00:00:03 -b:v 2048k -vcodec mpeg4 fade_6.mp4

/usr/local/ffmpeg/bin/ffmpeg -y -loop 1 -r 30 -i /Users/lk/Desktop/file/im00007.jpg -t 00:00:02 -s 1280x720  -b:v 2048k -vcodec mpeg4 7.mp4
/usr/local/ffmpeg/bin/ffmpeg -y -i 7.mp4 -vf "scale=8000:-1,zoompan=z='zoom+0.001':s='1280*720'" -s 1280x720 -t 00:00:02 -b:v 2048k -vcodec mpeg4 fade_7.mp4

/usr/local/ffmpeg/bin/ffmpeg -y -loop 1 -r 30 -i /Users/lk/Desktop/file/im00008.jpg -t 00:00:02 -s 1280x720  -b:v 2048k -vcodec mpeg4 8.mp4
/usr/local/ffmpeg/bin/ffmpeg -y -i 8.mp4 -vf "scale=8000:-1,zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015)):s='1280*720'" -t 00:00:02 -b:v 2048k -vcodec mpeg4 fade_8.mp4

/usr/local/ffmpeg/bin/ffmpeg -y -loop 1 -r 30 -i /Users/lk/Desktop/file/im00009.jpg -t 00:00:03 -s 1280x720  -b:v 2048k -vcodec mpeg4 9.mp4
/usr/local/ffmpeg/bin/ffmpeg -y -i 9.mp4 -vf "scale=8000:-1,zoompan=z='zoom+0.001':s='1280*720'" -s 1280x720 -t 00:00:03 -b:v 2048k -vcodec mpeg4 fade_9.mp4

/usr/local/ffmpeg/bin/ffmpeg -y -loop 1 -r 30 -i /Users/lk/Desktop/file/im00010.jpg -t 00:00:02 -s 1280x720  -b:v 2048k -vcodec mpeg4 10.mp4
/usr/local/ffmpeg/bin/ffmpeg -y -i 10.mp4 -vf "scale=8000:-1,zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':s='1280*720'" -t 00:00:02 -b:v 2048k -vcodec mpeg4 fade_10.mp4

/usr/local/ffmpeg/bin/ffmpeg -y -loop 1 -r 30 -i /Users/lk/Desktop/file/im00011.jpg -t 00:00:03 -s 1280x720  -b:v 2048k -vcodec mpeg4 11.mp4
/usr/local/ffmpeg/bin/ffmpeg -y -i 11.mp4 -vf fade=out:60:30 -t 00:00:03 -s 1280x720 -b:v 2048k -vcodec mpeg4 fade_11.mp4


/usr/local/ffmpeg/bin/ffmpeg -f concat -i files.txt -c copy -y -b:v 4096k -vcodec mpeg4 myvideo.mp4 

自己写的

ffmpeg.exe -f image2 -r 1 -i %d.jpg -vcodec libx264 -r 30 -b 2090k tt.mp4


//渐入
i in.mp4 -vf fade=in:0:90 out.mp4                 
//黑白                    
i in.mp4 -vf lutyuv="u=128:v=128" out.mp4   
//锐化
i in.mp4 -vf unsharp=luma_msize_x=7:luma_msize_y=7:luma_amount=2.5 out.mp4   
//反锐化
i in.mp4 -vf unsharp=7:7:-2:7:7:-2 out.mp4 
//渐晕
i in.mp4 -vf vignette=PI/4 out.mp4
//闪烁渐晕
i in.mp4 -vf vignette='PI/4+random(1)*PI/50':eval=frame out.mp4
//视频颤抖
i in.mp4 -vf crop="in_w/2:in_h/2:(in_w-out_w)/2+((in_w-out_w)/2)*sin(n/10):(in_h-out_h)/2+((in_h-out_h)/2)*sin(n/7)" out.mp4  
//色彩变幻
i in.mp4 -vf hue="H=2*PI*t:s=sin(2*PI*t)+1" out.mp4
//模糊处理
i in.mp4 -vf boxblur=5:1:cr=0:ar=0 out.mp4
//镜像翻转
i in.mp4 -vf crop=iw/2:ih:0:0,split[left][tmp];[tmp]hflip[right];[left]pad=iw*2[a];[a][right]overlay=w out.mp4
//水平翻转
i in.mp4 -vf geq=p(W-X\\,Y) out.mp4
//垂直翻转
i in.mp4 -vf vflip out.mp4
//浮雕效果
i in.mp4 -vf format=gray,geq=lum_expr='(p(X,Y)+(256-p(X-4,Y-4)))/2' out.mp4
//均匀噪声
i in.mp4 -vf noise=alls=20:allf=t+u out.mp4


https://blog.51cto.com/13136504/2364944?source=dra
https://326301045.iteye.com/blog/2172957
https://gl-transitions.com/editor/CrazyParametricFun


ffmpeg -i 0.mp4 -i 1.mp4 -filter_complex "[0:v][1:v] overlay=y='if(gte(t,2), -h+(t-2)*500, NAN):x=0"  outab.mp4

ffmpeg -loop 1 -t 5 -i 0.jpg -loop 1 -t 5 -i 1.jpg -loop 1 -t 5 -i 2.jpg -loop 1 -t 5 -i 3.jpg -loop 1 -t 5 -i 4.jpg -filter_complex "[0:v]fade=t=out:st=4:d=1[v0]; [1:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v1]; [2:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v2];[3:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v3];[4:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v4]; [v0][v1][v2][v3][v4]concat=n=5:v=1:a=0,format=yuv420p[v]" -map "[v]" out.mp4

ffmpeg -loop 1 -t 5 -i input0.png -loop 1 -t 5 -i input1.png -filter_complex "[0:v]fade=t=out:st=4:d=1[v0]; [1:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v1]; [v0][v1]concat=n=5:v=1:a=0,format=yuv420p[v]" -map "[v]" out.mp4


ffmpeg -loop 1 -i a.png -loop 1 -i b.png -loop 1 -i c.png -filter_complex"[0:v]trim=duration=4,split=2[v0-1][v0-2];[v0-1]trim=0:3[v0main];[v0-2]trim=3:4,setpts=PTS-3/TB,fade=t=out:d=1[v0-end];[1:v]trim=duration=4,split=3[v1-1][v1-2][v1-3];[v1-1]trim:0:1,fade=t=in:d=1[v1-head];[v1-2]trim=1:3,,setpts=PTS-1/TB[v1-main];[v1-3]trim=3:4,,setpts=PTS-3/TB,fade=t=out:d=1[v1end];[v0-end][v1-head]overlay[middle1];[2:v]trim=duration=4,split=2[v2-1][v2-2];[v2-1]trim=0:1,fade=t=in:d=1[v2head];[v2-2]trim=1:4,setpts=PTS-3/TB[v0-main];[v1-end][v2-head]overlay[middle2];[v0-main][middle1][v1-main][middle2][v2-main]concat=n=5:v=1:a=0[out]" -map "out" -t 10 -y dd.mp4


fade=[0|3]:st=[1.2]:d=[3]:color=yellow

ffmpeg -r 25 -loop 1 -i 0.jpg -pix_fmt yuv420p -vcodec libx264 -b:v 600k -r:v 25 -preset medium -crf 30 -s 750x1334 -vframes 250 -r 25 -t 3 a.mp4
ffmpeg -r 25 -loop 1 -i 1.jpg -pix_fmt yuv420p -vcodec libx264 -b:v 600k -r:v 25 -preset medium -crf 30 -s 750x1334 -vframes 250 -r 25 -t 3 b.mp4

ffmpeg -i a.mp4 -i b.mp4 -i c.mp4 -i d.mp4 -i e.mp4 -filter_complex "[0:v][1:v][2:v][3:v][4:v] overlay=y='if(gte(t,2), -h+(t-2)*500, NAN):x=0"  outa222b.mp4

ffmpeg -i a.mp4 -i b.mp4  -filter_complex "[0:v][1:v] overlay=y='if(gte(t,2), -h+(t-2)*500, NAN):x=0"  outa222b.mp4


ffmpeg -i a.mp4 -i b.mp4 -filter_complex "[0:v][1:v] overlay=y='if(gte(t,2), -h+(t-2)*500, NAN):x=0" outa222b.mp4


合并视频
ffmpeg -f concat -i filelist.txt -c copy output_set.mp4
https://blog.csdn.net/chengyq116/article/details/79047331

http://bbs.chinaffmpeg.com/forum.php?mod=viewthread&tid=396&extra=


//若影若现
/**
 * 每张照片进行处理然后合并
 * [b description]
 * @type {[type]}
 */
第一张图片处理
ffmpeg -y -loop 1 -r 30 -i 1.jpg -t 00:00:03 -s 1280x720  -b:v 2048k -vcodec mpeg4 text1.mp4
ffmpeg -i text1.mp4 -vf "drawtext=text=FIIISH:y=20:fontsize=44:enable='gte(t,1)'" -t 00:00:03 -vcodec mpeg4 -b:v 2048k -y 1.mp4
#ffmpeg -y -i 1.mp4 -vf fade=in:0:25 fade=out:60:30  -s 1280x720 -t 00:00:03-vcodec mpeg4 -b:v 2048k fade_1.mp4
ffmpeg -y -i 1.mp4 -vf fade=in:0:25,fade=out:60:30 -s 1280x720 -t 00:00:04 -vcodec mpeg4 -b:v 2048k fade_1.mp4

第二张图片处理
ffmpeg -y -loop 1 -r 30 -i /Users/lk/Desktop/file/im00011.jpg -t 00:00:03 -s 1280x720  -b:v 2048k -vcodec mpeg4 11.mp4
ffmpeg -y -i 11.mp4 -vf fade=out:60:30 -t 00:00:03 -s 1280x720 -b:v 2048k -vcodec mpeg4 fade_11.mp4

1-2处理的视频合并
ffmpeg -f concat -i files.txt -c copy -y -b:v 4096k -vcodec mpeg4 myvideo.mp4 


ffmpeg -f concat -i files.txt -c copy -y -b:v 4096k -vcodec mpeg4 myvideo.mp4 -i 1.mp3 -ss 0 -t 30

ffmpeg -f concat -i image/files.txt -c copy -y -b:v 4096k -vcodec mpeg4 image/myvideo.mp4


ffmpeg -i 1.mp4 -i 11.mp4  -filter_complex "[0:v][1:v] overlay=y='if(gte(t,2), -h+(t-2)*800, NAN):x=20"  1111a.mp4

ffmpeg -i image/fade_1.mp4 -i image/fade_2.mp4  -filter_complex "[0:v][1:v] overlay=y='if(gte(t,2), -h+(t-2)*800, NAN):x=20"  1111a.mp4


ffmpeg -y -loop 1 -r 30 -i image/1.jpg -t 00:00:04 -s 1280x720  -b:v 2048k -vcodec mpeg4 image/1.mp4
ffmpeg -y -i image/1.mp4 -vf fade=in:0:5,fade=out:100:80 -s 1280x720 -t 00:00:04 -vcodec mpeg4 -b:v 2048k image/fade_1.mp4

ffmpeg -y -loop 1 -r 30 -i image/2.jpg -t 00:00:04 -s 1280x720  -b:v 2048k -vcodec mpeg4 image/2.mp4
ffmpeg -y -i image/2.mp4 -vf fade=in:0:5,fade=out:100:80 -s 1280x720 -t 00:00:04 -vcodec mpeg4 -b:v 2048k image/fade_2.mp4

ffmpeg -y -loop 1 -r 30 -i image/3.jpg -t 00:00:04 -s 1280x720  -b:v 2048k -vcodec mpeg4 image/3.mp4
ffmpeg -y -i image/3.mp4 -vf fade=in:0:5,fade=out:100:80 -s 1280x720 -t 00:00:04 -vcodec mpeg4 -b:v 2048k image/fade_3.mp4

ffmpeg -y -loop 1 -r 30 -i image/4.jpg -t 00:00:04 -s 1280x720  -b:v 2048k -vcodec mpeg4 image/4.mp4
ffmpeg -y -i image/4.mp4 -vf fade=in:0:5,fade=out:100:80 -s 1280x720 -t 00:00:04 -vcodec mpeg4 -b:v 2048k image/fade_4.mp4

ffmpeg -y -loop 1 -r 30 -i image/5.jpg -t 00:00:04 -s 1280x720  -b:v 2048k -vcodec mpeg4 image/5.mp4
ffmpeg -y -i image/5.mp4 -vf fade=in:0:5,fade=out:100:80 -s 1280x720 -t 00:00:04 -vcodec mpeg4 -b:v 2048k image/fade_5.mp4

ffmpeg -y -loop 1 -r 30 -i image/6.jpg -t 00:00:04 -s 1280x720  -b:v 2048k -vcodec mpeg4 image/6.mp4
ffmpeg -y -i image/6.mp4 -vf fade=in:0:5,fade=out:100:80 -s 1280x720 -t 00:00:04 -vcodec mpeg4 -b:v 2048k image/fade_6.mp4

ffmpeg -y -loop 1 -r 30 -i image/7.jpg -t 00:00:04 -s 1280x720  -b:v 2048k -vcodec mpeg4 image/7.mp4
ffmpeg -y -i image/7.mp4 -vf fade=in:0:5,fade=out:100:80 -s 1280x720 -t 00:00:04 -vcodec mpeg4 -b:v 2048k image/fade_7.mp4

ffmpeg -y -loop 1 -r 30 -i image/8.jpg -t 00:00:04 -s 1280x720  -b:v 2048k -vcodec mpeg4 image/8.mp4
ffmpeg -y -i image/8.mp4 -vf fade=in:0:5,fade=out:100:80 -s 1280x720 -t 00:00:04 -vcodec mpeg4 -b:v 2048k image/fade_8.mp4

ffmpeg -f concat -i E:\\ffmpeg\\ffmpeg-20190428-45048ec-win64-static\\bin\\ceshi\\files.txt -c copy -y -b:v 4096k -vcodec  mpeg4 E:\\ffmpeg\\ffmpeg-20190428-45048ec-win64-static\\bin\\111.mp4

ffmpeg -f concat -i E:/ffmpeg/ffmpeg-20190428-45048ec-win64-static/bin/ceshi/files.txt -c copy -y -b:v 4096k -vcodec  mpeg4 E:ffmpeg/ffmpeg-20190428-45048ec-win64-static/bin/111.mp4
ffmpeg -f concat -i files.txt -c copy -y -b:v 4096k -vcodec  mpeg4 111.mp4


file 'E:\\ffmpeg\\ffmpeg-20190428-45048ec-win64-static\\bin\\ceshi\\fade_1.mp4'
file 'E:\\ffmpeg\\ffmpeg-20190428-45048ec-win64-static\\bin\\ceshi\\fade_2.mp4'

自己测试数据

ffmpeg.exe -f image2 -r 1 -i %d.jpg -vcodec libx264 -r 30 -b 2090k tt.mp4


//渐入
i in.mp4 -vf fade=in:0:90 out.mp4                 
//黑白                    
i in.mp4 -vf lutyuv="u=128:v=128" out.mp4   
//锐化
i in.mp4 -vf unsharp=luma_msize_x=7:luma_msize_y=7:luma_amount=2.5 out.mp4   
//反锐化
i in.mp4 -vf unsharp=7:7:-2:7:7:-2 out.mp4 
//渐晕
i in.mp4 -vf vignette=PI/4 out.mp4
//闪烁渐晕
i in.mp4 -vf vignette='PI/4+random(1)*PI/50':eval=frame out.mp4
//视频颤抖
i in.mp4 -vf crop="in_w/2:in_h/2:(in_w-out_w)/2+((in_w-out_w)/2)*sin(n/10):(in_h-out_h)/2+((in_h-out_h)/2)*sin(n/7)" out.mp4  
//色彩变幻
i in.mp4 -vf hue="H=2*PI*t:s=sin(2*PI*t)+1" out.mp4
//模糊处理
i in.mp4 -vf boxblur=5:1:cr=0:ar=0 out.mp4
//镜像翻转
i in.mp4 -vf crop=iw/2:ih:0:0,split[left][tmp];[tmp]hflip[right];[left]pad=iw*2[a];[a][right]overlay=w out.mp4
//水平翻转
i in.mp4 -vf geq=p(W-X\\,Y) out.mp4
//垂直翻转
i in.mp4 -vf vflip out.mp4
//浮雕效果
i in.mp4 -vf format=gray,geq=lum_expr='(p(X,Y)+(256-p(X-4,Y-4)))/2' out.mp4
//均匀噪声
i in.mp4 -vf noise=alls=20:allf=t+u out.mp4


https://blog.51cto.com/13136504/2364944?source=dra
https://326301045.iteye.com/blog/2172957
https://gl-transitions.com/editor/CrazyParametricFun


ffmpeg -i 0.mp4 -i 1.mp4 -filter_complex "[0:v][1:v] overlay=y='if(gte(t,2), -h+(t-2)*500, NAN):x=0"  outab.mp4

ffmpeg -loop 1 -t 5 -i 0.jpg -loop 1 -t 5 -i 1.jpg -loop 1 -t 5 -i 2.jpg -loop 1 -t 5 -i 3.jpg -loop 1 -t 5 -i 4.jpg -filter_complex "[0:v]fade=t=out:st=4:d=1[v0]; [1:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v1]; [2:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v2];[3:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v3];[4:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v4]; [v0][v1][v2][v3][v4]concat=n=5:v=1:a=0,format=yuv420p[v]" -map "[v]" out.mp4

ffmpeg -loop 1 -t 5 -i input0.png -loop 1 -t 5 -i input1.png -filter_complex "[0:v]fade=t=out:st=4:d=1[v0]; [1:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v1]; [v0][v1]concat=n=5:v=1:a=0,format=yuv420p[v]" -map "[v]" out.mp4


ffmpeg -loop 1 -i a.png -loop 1 -i b.png -loop 1 -i c.png -filter_complex"[0:v]trim=duration=4,split=2[v0-1][v0-2];[v0-1]trim=0:3[v0main];[v0-2]trim=3:4,setpts=PTS-3/TB,fade=t=out:d=1[v0-end];[1:v]trim=duration=4,split=3[v1-1][v1-2][v1-3];[v1-1]trim:0:1,fade=t=in:d=1[v1-head];[v1-2]trim=1:3,,setpts=PTS-1/TB[v1-main];[v1-3]trim=3:4,,setpts=PTS-3/TB,fade=t=out:d=1[v1end];[v0-end][v1-head]overlay[middle1];[2:v]trim=duration=4,split=2[v2-1][v2-2];[v2-1]trim=0:1,fade=t=in:d=1[v2head];[v2-2]trim=1:4,setpts=PTS-3/TB[v0-main];[v1-end][v2-head]overlay[middle2];[v0-main][middle1][v1-main][middle2][v2-main]concat=n=5:v=1:a=0[out]" -map "out" -t 10 -y dd.mp4


fade=[0|3]:st=[1.2]:d=[3]:color=yellow

ffmpeg -r 25 -loop 1 -i 0.jpg -pix_fmt yuv420p -vcodec libx264 -b:v 600k -r:v 25 -preset medium -crf 30 -s 750x1334 -vframes 250 -r 25 -t 3 a.mp4
ffmpeg -r 25 -loop 1 -i 1.jpg -pix_fmt yuv420p -vcodec libx264 -b:v 600k -r:v 25 -preset medium -crf 30 -s 750x1334 -vframes 250 -r 25 -t 3 b.mp4

ffmpeg -i a.mp4 -i b.mp4 -i c.mp4 -i d.mp4 -i e.mp4 -filter_complex "[0:v][1:v][2:v][3:v][4:v] overlay=y='if(gte(t,2), -h+(t-2)*500, NAN):x=0"  outa222b.mp4

ffmpeg -i a.mp4 -i b.mp4  -filter_complex "[0:v][1:v] overlay=y='if(gte(t,2), -h+(t-2)*500, NAN):x=0"  outa222b.mp4


ffmpeg -i a.mp4 -i b.mp4 -filter_complex "[0:v][1:v] overlay=y='if(gte(t,2), -h+(t-2)*500, NAN):x=0" outa222b.mp4


合并视频
ffmpeg -f concat -i filelist.txt -c copy output_set.mp4
https://blog.csdn.net/chengyq116/article/details/79047331

http://bbs.chinaffmpeg.com/forum.php?mod=viewthread&tid=396&extra=


//若影若现
/**
 * 每张照片进行处理然后合并
 * [b description]
 * @type {[type]}
 */
第一张图片处理
ffmpeg -y -loop 1 -r 30 -i 1.jpg -t 00:00:03 -s 1280x720  -b:v 2048k -vcodec mpeg4 text1.mp4
ffmpeg -i text1.mp4 -vf "drawtext=text=FIIISH:y=20:fontsize=44:enable='gte(t,1)'" -t 00:00:03 -vcodec mpeg4 -b:v 2048k -y 1.mp4
#ffmpeg -y -i 1.mp4 -vf fade=in:0:25 fade=out:60:30  -s 1280x720 -t 00:00:03-vcodec mpeg4 -b:v 2048k fade_1.mp4
ffmpeg -y -i 1.mp4 -vf fade=in:0:25,fade=out:60:30 -s 1280x720 -t 00:00:04 -vcodec mpeg4 -b:v 2048k fade_1.mp4

第二张图片处理
ffmpeg -y -loop 1 -r 30 -i /Users/lk/Desktop/file/im00011.jpg -t 00:00:03 -s 1280x720  -b:v 2048k -vcodec mpeg4 11.mp4
ffmpeg -y -i 11.mp4 -vf fade=out:60:30 -t 00:00:03 -s 1280x720 -b:v 2048k -vcodec mpeg4 fade_11.mp4

1-2处理的视频合并
ffmpeg -f concat -i files.txt -c copy -y -b:v 4096k -vcodec mpeg4 myvideo.mp4 


ffmpeg -f concat -i files.txt -c copy -y -b:v 4096k -vcodec mpeg4 myvideo.mp4 -i 1.mp3 -ss 0 -t 30

ffmpeg -f concat -i image/files.txt -c copy -y -b:v 4096k -vcodec mpeg4 image/myvideo.mp4
ffmpeg -f concat -i ceshi/files.txt -c copy -y -b:v 4096k -vcodec mpeg4 ceshi/myvideo.mp4

ffmpeg -i 1.mp4 -i 11.mp4  -filter_complex "[0:v][1:v] overlay=y='if(gte(t,2), -h+(t-2)*800, NAN):x=20"  1111a.mp4

ffmpeg -i image/fade_1.mp4 -i image/fade_2.mp4  -filter_complex "[0:v][1:v] overlay=y='if(gte(t,2), -h+(t-2)*800, NAN):x=20"  1111a.mp4


ffmpeg -y -loop 1 -r 30 -i image/1.jpg -t 00:00:04 -s 1280x720  -b:v 2048k -vcodec mpeg4 image/1.mp4
ffmpeg -y -i image/1.mp4 -vf fade=in:0:5,fade=out:100:80 -s 1280x720 -t 00:00:04 -vcodec mpeg4 -b:v 2048k image/fade_1.mp4

ffmpeg -y -loop 1 -r 30 -i image/2.jpg -t 00:00:04 -s 1280x720  -b:v 2048k -vcodec mpeg4 image/2.mp4
ffmpeg -y -i image/2.mp4 -vf fade=in:0:5,fade=out:100:80 -s 1280x720 -t 00:00:04 -vcodec mpeg4 -b:v 2048k image/fade_2.mp4

ffmpeg -y -loop 1 -r 30 -i image/3.jpg -t 00:00:04 -s 1280x720  -b:v 2048k -vcodec mpeg4 image/3.mp4
ffmpeg -y -i image/3.mp4 -vf fade=in:0:5,fade=out:100:80 -s 1280x720 -t 00:00:04 -vcodec mpeg4 -b:v 2048k image/fade_3.mp4

ffmpeg -y -loop 1 -r 30 -i image/4.jpg -t 00:00:04 -s 1280x720  -b:v 2048k -vcodec mpeg4 image/4.mp4
ffmpeg -y -i image/4.mp4 -vf fade=in:0:5,fade=out:100:80 -s 1280x720 -t 00:00:04 -vcodec mpeg4 -b:v 2048k image/fade_4.mp4

ffmpeg -y -loop 1 -r 30 -i image/5.jpg -t 00:00:04 -s 1280x720  -b:v 2048k -vcodec mpeg4 image/5.mp4
ffmpeg -y -i image/5.mp4 -vf fade=in:0:5,fade=out:100:80 -s 1280x720 -t 00:00:04 -vcodec mpeg4 -b:v 2048k image/fade_5.mp4

ffmpeg -y -loop 1 -r 30 -i image/6.jpg -t 00:00:04 -s 1280x720  -b:v 2048k -vcodec mpeg4 image/6.mp4
ffmpeg -y -i image/6.mp4 -vf fade=in:0:5,fade=out:100:80 -s 1280x720 -t 00:00:04 -vcodec mpeg4 -b:v 2048k image/fade_6.mp4

ffmpeg -y -loop 1 -r 30 -i image/7.jpg -t 00:00:04 -s 1280x720  -b:v 2048k -vcodec mpeg4 image/7.mp4
ffmpeg -y -i image/7.mp4 -vf fade=in:0:5,fade=out:100:80 -s 1280x720 -t 00:00:04 -vcodec mpeg4 -b:v 2048k image/fade_7.mp4

ffmpeg -y -loop 1 -r 30 -i image/8.jpg -t 00:00:04 -s 1280x720  -b:v 2048k -vcodec mpeg4 image/8.mp4
ffmpeg -y -i image/8.mp4 -vf fade=in:0:5,fade=out:100:80 -s 1280x720 -t 00:00:04 -vcodec mpeg4 -b:v 2048k image/fade_8.mp4

ffmpeg -f concat -i E:\\ffmpeg\\ffmpeg-20190428-45048ec-win64-static\\bin\\ceshi\\files.txt -c copy -y -b:v 4096k -vcodec  mpeg4 E:\\ffmpeg\\ffmpeg-20190428-45048ec-win64-static\\bin\\111.mp4

ffmpeg -f concat -i E:/ffmpeg/ffmpeg-20190428-45048ec-win64-static/bin/ceshi/files.txt -c copy -y -b:v 4096k -vcodec  mpeg4 E:ffmpeg/ffmpeg-20190428-45048ec-win64-static/bin/111.mp4
ffmpeg -f concat -i files.txt -c copy -y -b:v 4096k -vcodec  mpeg4 111.mp4


file 'E:\\ffmpeg\\ffmpeg-20190428-45048ec-win64-static\\bin\\ceshi\\fade_1.mp4'
file 'E:\\ffmpeg\\ffmpeg-20190428-45048ec-win64-static\\bin\\ceshi\\fade_2.mp4'


ffmpeg -i temp.mp4 -i 99.mp4 -filter_complex "[0:v]setpts=PTS-STARTPTS[top]; [1:v]setpts=PTS-STARTPTS, format=yuva420p,colorchannelmixer=aa=0.9[bottom]; [top][bottom]overlay=shortest=0" -acodec libvo_aacenc -vcodec libx264 ou22t.mp4 -y

file 'fade_1.mp4'
file 'fade_2.mp4'
file 'fade_3.mp4'
file 'fade_4.mp4'
file 'fade_5.mp4'
file 'fade_6.mp4'
file 'fade_7.mp4'
file 'fade_8.mp4'


、、缩放
ffmpeg -loop 1 -i image/%d.jpg -vf "zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125" -c:v libx264 -t 5 -s "800x450" zoomout.mp4

、、镜面特效
>ffmpeg -i temp.mp4 -vf "split [main][tmp]; [tmp] crop=iw:ih/2:0:0, vflip [flip]; [main][flip] overlay=0:H/2:enable='between(t,10,15)'" -y -strict -2 output.mp4


ffmpeg -i ceshi/1.mp4 -i ceshi/2.mp4 -filter_complex "[0:v][1:v] overlay=y='if(gte(t,2), -h+(t-2)*800, NAN):x=20"  a.mp4

ffmpeg -i ceshi/1.mp4 -i ceshi/2.mp4 -vcodec libx264 -filter_complex "[1:v]scale=1920x1080[v1]; [0:v][v1]overlay=x='if(gte(t,1), min(-w+(t-2)*2000, 0), NAN)':y=0[o]" -map '[o]' -vcodec h264_videotoolbox -s 320x240 -map 1:1 -allow_sw 1 -y output.mp4

ffmpeg -i image/1.mp4 -i image/2.mp4 -filter_complex "[0:v][1:v]overlay=x='if(gte(t,1), max(0, w - (t-1)*480), NAN)':y=0" -y 1_1.mp4

if(gte(n,0),lt(n,250),NAN)

ffmpeg -i image/1.mp4 -i image/2.mp4 -i image/3.mp4  -i image/4.mp4 -filter_complex "[0:v][1:v]overlay=x='if(gte(t,1), max(0, w - (t-1)*480), NAN)':y=0","[2:v][3:v]overlay=x=0:y='if(gte(t,1), min(-h+(t-2)*1500,0),NAN)'[b]" -y 1_1.mp4

ffmpeg("C:/Users/Administrator/Desktop/ffmpeg/11.jpg") //图片文件
        .loop(20)
        .videoBitrate('2048k')
        .videoCodec('mpeg4')
        .on('end', function() {
            console.log('video one end')
        })
        .on('error', function(error) {
            console.log('an error happend: create one video' + error)
        })
        .save('C:/Users/Administrator/Desktop/ffmpeg/test_output1.mp4') 

        、、s居中
        ffmpeg -i 111111.mp4 -i 01.gif -filter_complex "overlay=main_w/2-overlay_w/2:main_h/2-overlay_h/2"  -codec:a copy output.mp4


        https://www.jianshu.com/p/9b3375c2e2c1


        ffmpeg -y -t 60 -i 111111.mp4 -i 01.gif -i 1.jpg -filter_complex "overlay=x=if(lt(mod(t\,20)\,5)\,5\,NAN ):y=80" output.mp4


        、、视频加水印  //:shortest=1  gif循环

        ffmpeg -y -t 60 -i 111111.mp4 -ignore_loop 0 -i 02.gif -filter_complex "overlay=x=if(lt(mod(t\,20)\,5)\,main_w/2-overlay_w/2\,NAN ):y=main_h/2-overlay_h/2:shortest=1" output.mp4


https://www.jianshu.com/p/9b3375c2e2c1

、、视频加水印动图
        ffmpeg -i video.mpg -ignore_loop 0 -i loop.gif -filter_complex  "[0:v][1:v]overlay=10:10:shortest=1" -vcodec mpeg2video out.mpg


        ffmpeg -i media/0.mp4 -i media/1.mp4 -i media/2.mp4 -filter_complex "[0:v]split[v000][v010];[1:v]split[v100][v110];[2:v]split[v200][v210];[v000]trim=0:3[v001];[v010]trim=3:4[v011t];[v011t]setpts=PTS-STARTPTS[v011];[v100]trim=0:3[v101];[v110]trim=3:4[v111t];[v111t]setpts=PTS-STARTPTS[v111];[v200]trim=0:3[v201];[v210]trim=3:4[v211t];[v211t]setpts=PTS-STARTPTS[v211];[v011][v101]gltransition=duration=1:source=crosswarp.glsl[vt0];[v111][v201]gltransition=duration=1[vt1];[v001][vt0][vt1][v211]concat=n=4[outv]" -map "[outv]" -c:v libx264 -profile:v baseline -preset slow -movflags faststart -pix_fmt yuv420p -y out.mp4
 

猜你喜欢

转载自blog.csdn.net/m0_38129431/article/details/89847880