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