代码之家  ›  专栏  ›  技术社区  ›  Jesse

视频压缩:什么需要更长的时间?

  •  1
  • Jesse  · 技术社区  · 14 年前

    所以,我一直想知道,当涉及到压缩时,将视频编码成较小分辨率还是较大分辨率所需的时间是否更少。

    为了真实地回答这个问题,让我们举一个有点无损的MOV(可能是MJPEG或ProRes 422)的例子,29.97 fps,设置为压缩机想要的任何键,或者24个(如果无法使用Auto)。我将进行2次转换,1到480p@800kbps,1到720p@1500kbps,都是2通,转换为mp4。我知道这可能是特定于编码器的,但是知道哪个编码器要花更长的时间来做某些事情也很好。如果你想知道细节,我们假设它是ffmpeg。

    如果我以800kbps的速度转换成480p的视频,一开始看起来它会更小,因为它生成的数据更少。

    但我当时在想,压缩每帧的速度可能会更快(如果事实上是这样的话)。所以如果我以1500 Kbps的速度转换为720p,也许会更快?

    我想这两个特定的转换之间的时间差不会太大,但会有所不同。什么会对转换速度产生负面影响?视频的大小?比特率?关键帧?您如何建议在对质量影响最小的情况下最大化转换速度?

    这主要是假设性的,我真的想不出一种情况,我不能让一个服务器彻夜不停地进行转换,但我一直想知道是否有什么事情我正在做,不必要地减慢了我的转换。

    1 回复  |  直到 14 年前
        1
  •  0
  •   Merlyn Morgan-Graham    14 年前

    疯狂地推测,您可以(幼稚地)将压缩时间解释为读取输入文件所需的时间、从源代码处理每个采样点所需的时间以及写出结果处理输出所需的时间。如果在那个(极度简化的)表示中唯一改变的是输出,并且输出的大小减小了,那么您的时间就会减少。

    除此之外,解决这个问题最简单的方法就是为自己建立一个编码基准,确保您多次重复测试,以确保没有外部影响因素。