【问题标题】:What happens if I ffmpeg encode two times successively with the same bitrate如果我用相同的比特率连续两次 ffmpeg 编码会发生什么
【发布时间】:2019-06-03 20:06:55
【问题描述】:

我有一个原始 divx 视频 (3500k),我在 mp4 容器中将其编码为 h.264。例如,我选择使用 1000 k 对其进行编码,以便质量保持接近原始质量。如果我用相同的比特率再编码一次会发生什么?理论上质量应该保持不变?

ffmpeg -i A.divx -an -vcodec h264  -b:v 100k A.mp4

【问题讨论】:

    标签: video ffmpeg encode


    【解决方案1】:

    质量不会保持不变

    每次使用有损编码器重新编码都会降低质量。这称为generation loss

    代损失是后续副本之间的质量损失或 数据的转码。任何降低质量的东西 复制时表示,并会导致进一步减少 制作副本的质量,可以被认为是一种形式 代损失。文件大小增加是生成的常见结果 损失,因为人工制品的引入实际上可能会增加 每一代数据的熵。

    ffmpeg 将输入完全解码为原始视频和 PCM 音频,无论输入格式如何:

     _______              ______________
    |       |            |              |
    | input |  demuxer   | encoded data |   decoder
    | file  | ---------> | packets      | -----+
    |_______|            |______________|      |
                                               v
                                           _________
                                          |         |
                                          | decoded |
                                          | frames  |
                                          |_________|
     ________             ______________       |
    |        |           |              |      |
    | output | <-------- | encoded data | <----+
    | file   |   muxer   | packets      |   encoder
    |________|           |______________|
    

    然后它对原始视频进行编码,其中包括来自先前编码迭代的破坏性压缩伪影。质量不会保持不变,因为两代本质上是完全不同的视频。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-02
      • 2016-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多