美文网首页软件和工具模版
ffmpeg 的最终呈现效果【版本二】

ffmpeg 的最终呈现效果【版本二】

作者: 张清柏 | 来源:发表于2021-06-08 15:56 被阅读0次

    2021年03月31日10:51:24 总结命令

    实现效果及相关命令

    弹入

    • png 命令
    // 视频 move.mp4
    // 从第3秒开始放大,最多放大至2倍,停止放大,显示4秒
    ffmpeg -y -loop 1  -i  ./jpg/qp1.png  -i 0329_short.mp4 -filter_complex "[0]format=pix_fmts=rgba[v0];[v0]scale=-1:'100+20*min(t-3,2)':eval=frame[v1];[1][v1]overlay=x='if(gte(t,3), if(gte(t,7), NAN,700 ),NAN ):y=200:shortest=1'[v2]" -map [v2] -c:v libx264 move.mp4
       
          
    
    • gif 命令
    ffmpeg -y -i 0329_short.mp4  -ignore_loop 0 -itsoffset 2  -i ./gif/_45.gif  -filter_complex "[0:0]scale=iw:ih[a];[1:0]scale=-1:'100+20*min(t-3,2)':eval=frame[wm];[a][wm]overlay=x='if(gte(t,3), if(gte(t,7), NAN,700 ),NAN ):y=200:shortest=1'[v2]" -map [v2] -c:v libx264 move_gif.mp4
    

    弹簧

    • png 命令
    // 视频 move.mp4
    // 需要计算 滑行距离,滑行时间,计算滑行速度
    ffmpeg -y -loop 1  -i  ./jpg/qp1.png  -i 0329_short.mp4 -filter_complex "[0]format=pix_fmts=rgba[v0];[v0]scale=-1:'100+20*sin((t-3)*6)':eval=frame[v1];[1][v1]overlay=x='if(gte(t,3), if(gte(t,7), NAN,700 ),NAN ):y=200:shortest=1'[v2]" -map [v2] -c:v libx264 move.mp4
       
          
    
    • gif 命令
    ffmpeg -y -i 0329_short.mp4  -ignore_loop 0 -itsoffset 2  -i ./gif/_45.gif  -filter_complex "[0:0]scale=iw:ih[a];[1:0]scale=-1:'100+20*sin((t-3)*6)':eval=frame[wm];[a][wm]overlay=x='if(gte(t,3), if(gte(t,7), NAN,700 ),NAN ):y=200:shortest=1'[v2]" -map [v2] -c:v libx264 move_gif.mp4
    

    向左滑动

    • png 命令
    // 视频 move.mp4
    // 需要计算 滑行距离,滑行时间,计算滑行速度
    ffmpeg -y -loop 1  -i  ./jpg/qp1.png  -i 0329_short.mp4 -filter_complex "[0]format=pix_fmts=rgba[v0];[v0]scale=140:140[v1];[1][v1]overlay=x='if(gte(t,3), if(gte(t,6), NAN,1000-(t-3)*40 ),NAN ):y=200:shortest=1'[v2]" -map [v2] -c:v libx264 move.mp4
       
          
    
    • gif 命令
    ffmpeg -y -i 0329_short.mp4  -ignore_loop 0 -itsoffset 2  -i ./gif/_45.gif  -filter_complex "[0:0]scale=iw:ih[a];[1:0]scale=200:200[wm];[a][wm]overlay=x='if(gte(t,3), if(gte(t,6), NAN,1000-(t-3)*40 ),NAN ):y=200:shortest=1'[v2]" -map [v2] -c:v libx264 move_gif.mp4
    
    • 截取命令
    ffmpeg  -i ./plutopr.mp4 -vcodec copy -acodec copy -ss 00:00:10 -to 00:00:15 ./cutout1.mp4 -y
    
    ffmpeg  -i ./demo.mp4 -vcodec copy -acodec copy -ss 00:00:13 -to 00:00:17 ./tanhuang.mp4 -y
    
    
    

    ffmpeg -ss 00:00:30 -to 00:00:35 -i demo.mp4 -vcodec copy -acodec copy chandou.mp4
    ffmpeg -ss 00:00:47 -to 00:00:51 -i demo.mp4 -vcodec copy -acodec copy qitiao.mp4
    ffmpeg -ss 00:00:52 -to 00:00:55 -i demo.mp4 -vcodec copy -acodec copy yushua.mp4

    ffmpeg -ss 00:00:13 -to 00:00:15 -i demo.mp4 -vcodec copy -acodec copy tanru.mp4

    暂无

    向上滑动

    同上

    向下滑动

    同上

    颤抖

    • png 命令
    ffmpeg -y -loop 1  -i  ./jpg/qp1.png  -i 0329_short.mp4 -filter_complex "[0]format=pix_fmts=rgba[v0];[v0]scale=140:140[v1];[1][v1]overlay=x='if(gte(t,3), if(gte(t,6), NAN,700+mod(floor(n/3),2)*10 ),NAN ):y=200+mod(floor(n/3),2)*10:shortest=1'[v2]" -map [v2] -c:v libx264 chandou_png.mp4
    
    
    • gif 命令
    ffmpeg -y -i 0329_short.mp4  -ignore_loop 0 -itsoffset 2  -i ./gif/_45.gif  -filter_complex "[0:0]scale=iw:ih[a];[1:0]scale=200:200[wm];[a][wm]overlay=x='if(gte(t,3), if(gte(t,6), NAN,700+mod(floor(n/3),2)*10 ),NAN ):y=200+mod(floor(n/3),2)*10:shortest=1'[v2]" -map [v2] -c:v libx264 chandou_gif.mp4
    

    摇摆

    • png 命令
    ffmpeg  -loop 1  -i  ./jpg/qp1.png  -i 0329_short.mp4 -filter_complex "[0]format=pix_fmts=rgba[v0];[v0]rotate=sin(4*PI/2*t):ow='max(iw,ih)':oh=ow:c=none[v1];[1][v1]overlay=y='if(gte(t,2), if(gte(t,5), NAN,200 ),NAN ):x=50:shortest=1'[v2]" -map [v2] -c:v libx264 yaobai_png.mp4
    
    
    
    • gif 命令
    
    ffmpeg -y  -ignore_loop 0  -i  ./gif/_45.gif  -i 0329_short.mp4 -filter_complex "[0]format=pix_fmts=rgba[v0];[v0]scale=200:200[v5];[v5]rotate=sin(4*PI/2*t):ow='max(iw,ih)':oh=ow:c=none[v1];[1][v1]overlay=x=800:y=200:shortest=1[v2]" -map [v2] -c:v libx264 yaobai_gif.mp4
    
    
    
    
    ffmpeg -y  -ignore_loop 0  -i  ./gif/_45.gif  -i 0329_short.mp4 -filter_complex "[0]format=pix_fmts=rgba[v0];[v0]rotate=sin(4*PI/2*t):ow='max(iw,ih)':oh=ow:c=none[v1];[1][v1]overlay=x='if(gte(t,3), if(gte(t,6), NAN,700+mod(floor(n/3),2)*10 ),NAN ):y=200+mod(floor(n/3),2)*10:shortest=1'[v2]" -map [v2] -c:v libx264 yaobai_gif.mp4
    

    轻微跳动,并在结尾淡出

    • png 命令
    // 视频 move.mp4
    // 需要计算 滑行距离,滑行时间,计算滑行速度
    ffmpeg -y -loop 1  -i  ./jpg/qp1.png  -i 0329_short.mp4 -filter_complex "[0]format=pix_fmts=rgba[v0];[v0]scale=140:140[v1];[v1]fade=t=out:st=11:d=1:alpha=1[v5];[1][v5]overlay=x='if(gte(t,6), if(gte(t,12), NAN,800),NAN ):y=200+40*sin((t-6)*3/2):shortest=1'[v2]" -map [v2] -c:v libx264 tiaodong_png.mp4
       
          
    
    • gif 命令
    ffmpeg -y -i 0329_short.mp4  -ignore_loop 0 -itsoffset 2  -i ./gif/_45.gif  -filter_complex "[0:0]scale=iw:ih[a];[1:0]scale=200:200[wm];[wm]fade=t=out:st=7:d=1:alpha=1[wm1];[a][wm1]overlay=x='if(gte(t,3), if(gte(t,8), NAN,800),NAN ):y=200+40*sin((t-3)*3/2):shortest=1'[v2]" -map [v2] -c:v libx264 move_gif.mp4
    

    雨刷

    • png 命令
    // 视频 move.mp4
    // 需要计算 滑行距离,滑行时间,计算滑行速度
    ffmpeg -y -loop 1  -i  ./jpg/qp1.png  -i 0329_short.mp4 -filter_complex "[0]pad=320:288:200:40:0x00F8FF@0[v0];[v0]rotate=1.8*sin(2*PI/5*t):ow='max(iw,ih)':oh=ow:c=none[v1];[1][v1]overlay=y='if(gte(t,2), if(gte(t,25), NAN,200 ),NAN ):x=50:shortest=1'[v2]" -map [v2] -c:v libx264 yaobai_png.mp4
       
          
    
    • gif 命令
    ffmpeg -y -i 0329_short.mp4  -ignore_loop 0 -itsoffset 2  -i ./gif/_45.gif  -filter_complex "[0:0]scale=iw:ih[a];[1:0]scale=200:200[wm1];[wm1]pad=400:400:200:800:0x00F8FF@0[v1];[v1]rotate=1.8*sin(2*PI/5*t):ow='max(iw,ih)':oh=ow:c=none[wm];[a][wm]overlay=x='if(gte(t,3), if(gte(t,25), NAN,800),NAN ):y=200+40*sin((t-3)*3/2):shortest=1'[v2]" -map [v2] -c:v libx264 move_gif.mp4
    

    相关文章

      网友评论

        本文标题:ffmpeg 的最终呈现效果【版本二】

        本文链接:https://www.haomeiwen.com/subject/mckjeltx.html