IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    ffmpeg笔记

    Derobukal发表于 2024-11-18 03:18:36
    love 0
    合并一个文件夹内的所有视频
    1
    2
    3
    4
    5
    find *.mp4 | sed 's:\ :\\\ :g'| sed 's/^/file /' > fl.txt
    ffmpeg -f concat -i fl.txt -c copy output.mp4
    // 忽略错误信息
    ffmpeg -safe 0 -f concat -i fl.txt -c copy output.mp4
    rm fl.txt

    参考资源

    视频压缩
    1
    2
    3
    4
    5
    6
    // 视频使用h.264编码,声音使用aac编码
    ffmpeg -i input.mp4 -vcodec h264 -acodec aac output.mp4
    // 视频使用h.265编码,压缩到更小文档
    ffmpeg -i input.mp4 -vcodec libx265 -crf 28 output.mp4
    // 视频使用h.264编码,保留更好的质量
    ffmpeg -i input.mp4 -vcodec libx264 -crf 20 output.mp4

    crf越小,视频质量越高;crf越大,视频文件越小

    编码参数也可以简写,从-vcodec和-acodec改为-c:v和-c:a:

    1
    2
    3
    ffmpeg -i input.mp4 -c:v libx264 -crf 23 output.mp4
    ffmpeg -i input.mp4 -c:v libx265 -crf 28 output.mp4
    ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 31 -b:v 0 output.mkv

    参考资源

    其中AVC/H264和HEVC/H265都是软件编码,速度很慢。可以选择英伟达的硬件编码:hevc_nvenc与h264_nvenc,它们使用硬件加速,速度很快。

    参考资源

    使用英伟达显卡进行编码:

    1
    ffmpeg -i video.mp4 -c:v hevc_nvenc -crf 28 output.mp4

    将视频从H.264转码到H.265,花了55分钟,视频体积从3.8GB减小到430MB,效果立竿见影。转码命令:ffmpeg -i 1.mp4 -c:v libx265 -vtag hvc1 -c:a copy 1_hevc.mp4

    在win10可以用scoop安装ffmpeg,更新Windows上面通过scoop安装的所有程序
    scoop list | foreach { scoop update $_.Name }。

    将视频以同样的编码,按照指定时间进行裁剪

    1
    ffmpeg -ss 00:05 -to 08:53.500 -i ./input.mp4 -c copy video.mp4

    利用ffmpeg快速剪辑视频

    1
    ffmpeg -ss 07:18 -to 13:45 -i ./aaa.mkv -c copy bbb.mkv
    • -ss表示开始时间
    • -to表示结束时间
    • -i是输入文档
    • -c表示使用被剪辑视频一样的编码
    • bbb是输出文档的名称

    合并视频和声音,视频使用原始编码,声音改为aac编码

    1
    ffmpeg -i 1.mp4 -i 1.opus -c:v copy -c:a aac output.mp4

    将PNG格式图片转为JPG格式图片

    1
    ffmpeg -i image.png -preset ultrafast image.jpg


沪ICP备19023445号-2号
友情链接