【问题标题】:Compress Video with FFmpeg使用 FFmpeg 压缩视频
【发布时间】:2020-12-31 08:11:26
【问题描述】:

我想在 Android 上使用 ffmpeg 在不到一分钟的时间内以最佳质量压缩一个 1 分钟的视频。但是时间短的时候质量低,质量好的时候压缩的时间长。 你知道正确的命令吗?

【问题讨论】:

    标签: android ffmpeg compression


    【解决方案1】:

    以最快的编码速度获得“最佳质量”:

    ffmpeg -i input.mp4 -c:v libx264 -crf 18 -preset veryfast output.mp4
    
    • 这假设您需要 MP4 中的 H.264 + AAC。
    • 如果输入音频是 AAC,请添加 -c:a copy
    • 如果-preset veryfast 太慢,请使用-preset ultrafast
    • 有关更多信息和示例,请参阅 FFmpeg Wiki: H.264

    【讨论】:

      【解决方案2】:

      FFMPEG 无能为力....低质量比高质量花费的时间更少,因此您必须在压缩速度和视频质量之间做出正确的折衷选择。

      您没有告诉我们什么是大小尺寸(WxH 和大小以字节为单位),也没有告诉我们当前的音频和视频编解码器(H264 或其他)。 例如 1 分钟的 8K 视频需要超过 1 分钟才能使用 HEVC 编解码器以 10Mbps 作为比特率进行转换,并且无法减少......所以......

      【讨论】:

        【解决方案3】:

        使用 FFMPEG 压缩视频:

        ffmpeg -i videoPath -s 1280x720 -vf transpose=2 -metadata:s:v:0 rotate=90 -b:v 150k -vcodec mpeg4 -acodec copy outputFile  
        

        【讨论】:

          【解决方案4】:

          我用这个命令解决了问题

          ffmpeg -i innerPath -c:v libx264 -preset superfast -b:a 256k -vf -b:v 1.5M -c:a aac targetFilePath

          【讨论】:

          • 您有一个孤立的-vf 选项,这将导致错误:Unable to find a suitable output format for '1.5M'。您的命令不一定会给您“最好的质量”:请改用-crf,如我的回答所示。
          • 使用 i crf 时,压缩时间很长
          猜你喜欢
          • 2014-05-28
          • 2013-12-29
          • 2014-07-02
          • 2017-03-02
          • 2015-10-22
          • 2021-02-27
          • 2016-06-09
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多