• ffmpeg用法(心得体会还有你见过的用法)


    ffmpeg的常用用法很多,我这里提供的用法有可能有许多地方是你没见过的。

    一、ffmpeg合并视频

    我经常需要切割再把一些零碎的视频给拼接起来,这样可以省许多磁盘空间。其实用mencoder挺不错的,至少合并的参数极简单。用ffmpeg可以用下面的方法合并,至少我觉得比用cat这么野蛮的合并文件的方法要好。

    1
    2
    3
    4
    ffmpeg -i 1.avi -qscale:v 1 1.mpg
    ffmpeg -i 2.avi -qscale:v 1 2.mpg
    ffmpeg -i concat:"1.mpg|2.mpg" -c copy all.mpg
    ffmpeg -i all.mpg -qscale:v 2 output.avi

    二、ffmpeg做水面倒影效果

    1
    ffmpeg -i input.avi -vf "split[a][b];[a]pad=iw:ih*2[a];[b]vflip[b];[a][b]overlay=0:h" output.avi

    三、ffmpeg处理MKV文件也很方便

    一般情况下用mkvtoolnix的,ffmpeg处理mkv也很灵活强大。

    例如:把2.mkv和3.mkv的所有音频加到1.mkv里(在拼轨同时还可以分别指定对每个轨道进行copy还是重编码):

    1
    ffmpeg -i 1.mkv -i 2.mkv -i 3.mkv -map 0:0 -map 0:a -map 1:a -map 2:a -map 3:a -c copy OK.mkv

    四、添加图片水印

    1
    ffmpeg -i input.avi -vf "movie=1.png[wm];[in][wm]overlay=W-w:H-h" output.avi

    这样会把图片放在原影片的最右下角位置

    五、把图片和音频合为mp4

    1
    ffmpeg -f image2 -r 30/216 -i %3d.jpg -i music.mp3 -c:v mpeg4 -c:a copy OK.mp4

    这样就能把图片和mp3合成视频了,而且图片的张数的时间按指定的music.mp3的时间来平均分配,不会出现图片放完了,音乐还在播放的情况。但有一点要特别注意,如果图片特别少指定的帧率太低了播放可能会出问题,我在Windows下用smplayer播放会出现卡死情况。用mencoder做这些事也非常方便。

    六、分割视频并给分割出的视频开头和结尾做淡入淡出效果

    1
    2
    ffmpeg -ss 20 -i p.mp4 -vf "fade=in:0:50,fade=out:450:50" -t 20 Ok.mp4
    ffmpeg -ss 20 -i p.mp4 -vf "fade=in:0:d=1,fade=out:st=29:d=1" -t 20 OK.mp4

    上面第一个命令是从p.mp4的第20秒开始到第40秒结束的一段视频保存为OK.mp4,并给开头的前50帧做个渐入的效果,给结尾的50帧做个渐黑的效果。第二个命令是按时间来算的,意思是开头淡入1秒和结尾最后一秒淡出,这在指定结尾的淡出非常方便。

  • 相关阅读:
    C++ STL 介绍
    C++多线程学习笔记 (CreateThread()与 _beginthreadex() )
    Spring轻量级开发---基础知识和初体验
    J2EE面试题
    SSH的优缺点比较
    Qt容器类总结
    Qt Creater使用技巧
    Visual Studio里使用Qt
    Qt的学习之路
    解决Github下载慢和下载失败问题
  • 原文地址:https://www.cnblogs.com/lidabo/p/7344482.html
Copyright © 2020-2023  润新知