应在视频上使用哪种编解码器以避免在 YouTube 和 Vimeo 中重新压缩

应在视频上使用哪种编解码器以避免在 YouTube 和 Vimeo 中重新压缩

使用哪种编解码器来压缩 YouTube 和 Vimeo 不会重新压缩的视频,以避免重新压缩造成的质量损失

@Chris 让我说得更具体一些。我发布了一个一般性问题,以便其他人可以受益。我使用 Sony Vegas 和编解码器 sony AVC/mvc @1920x1080 30fps 和 CABAC 编码 @12mbit,但 YouTube 重新压缩了视频,当我选择以 1080p 分辨率观看时,视频会更模糊。我会尝试 webM,看看会发生什么。我还没有将相同的视频 @1080p 上传到 Vimeo。

[编辑]YouTube 和 Vimeo 的带宽是否有上限(即 15mbit)?

答案1

您无法避免 YouTube 或其他人重新压缩您的输入视频。他们永远不会按原样接收。YouTube 研究人员已证实了这一点。YouTube 研究论文中的一段引文:*

[我们]通过创建高比特率、恒定帧率的中间层在转码之前对文件进行规范化。

造成这种情况的原因有多种:

  1. 视频编解码器/格式可能很奇怪(找不到更好的词来形容)。存在许多不同的编码器,它们可能会产生具有特殊属性的比特流,而这些属性可能不受流媒体架构的所有组件的支持。例如,解码可能无法正常工作,可能存在错误的时间戳,并且用户可能试图上传恶意文件,试图利用软件中的错误。您不想处理这些。您希望拥有一种单一的视频格式(“中间格式”或“夹层格式”),您知道它不会破坏您现有的基础设施。因此,您将把传入的视频转换为该格式,任何进一步的处理都会变得更容易。

  2. 质量优化:YouTube 和其他公司最清楚如何压缩视频,以便输出高质量、低比特率的视频。他们花费大量 CPU 时间和人力来优化这一方面。他们不会直接接受您的视频。

  3. 如今,HTTP 自适应流式传输需要为不同类型的客户端生成不同的视频集(例如,向桌面上的现代浏览器传输 4K 视频与向旧版 Android 设备传输低分辨率视频不同)。因此,即使您有一个压缩良好的输入文件,YouTube 也必须生成数十个替代的缩放版本。

* Covell 等人2016年,使用嵌入比特率模型的神经网络优化转码器质量目标

答案2

有一个伟大的在 avp.stackexchange.com 上回答有关 YouTube 编解码器等问题

关于所用格式的一些一般信息:YouTube 使用 4 种容器格式和 3 种不同的编解码器。您的视频使用哪种编解码器取决于视频的受欢迎程度(请参阅下文了解原因)。通常,您上传的每个视频都将以 h.264 编码,并会混合到 .flv 和 .mp4 容器中。这是标准,每个视频都会如此。不过 .flv 只用于低于 720p 的分辨率。这意味着 .flv 容器中只会存在 360p 和 480p。不过低于 720p 的每个视频也会有一个 mp4 版本,以实现最高分辨率,即 360p 或 480p。对于 240p,YouTube 使用 3gp,这是一种相当古老的编解码器,用于移动设备(早在智能手机时代之前),它也包含在 .3gp 容器中。

使用的另一种编解码器是 VP8,它采用 WebM 容器格式。WebM 是 Google 开发的一种格式,旨在作为 HTML5 的标准视频编解码器,尽管对它的支持并不多。即使在 YouTube 上,也只有极少数视频采用 WebM 编码,WebM 是随 HTML5 版本的 YouTube 一起引入的。YouTube 仅在视频上传后才使用 WebM 编码,而且大多只对热门视频进行编码(根据我看到的采用 WebM 编码的视频来看),因此不确定您的视频是否会出现在 WebM 中。

关于您链接的问题(也许它们应该合并?)

您应该使用什么编解码器/容器来上​​传?

这取决于您的上传速度,如果您受到限制或担心,则使用 h.264 Level 3.1/4.1 和 Main Profile(标清)或 High Profile(高清)和 AAC 音频。YouTube 会很好地接受这一点,并且在经过 YouTube 服务器编码后,视频看起来会很不错。但请注意,YouTube 会始终在您的视频上传后对其进行编码,无论您使用什么编解码器和设置。因此,如果您希望上传的视频在理论上具有最佳质量,请选择无损编解码器上传或至少视觉上无损。将 YouTube 视为交付/消费者格式的最终​​输出,上传到 YouTube 是制作的最后一步,并且在制作过程中您希望保持无损。但请注意,这只是理论上的事情,实际上我认为这并不重要,因为我们谈论的是 YouTube,而不是电视广播或电影。

但如果您真的想以“完美”的方式做到这一点,请使用生产编解码器,而不是像 h.264 这样的消费者编解码器。MJPEG 是一种很好的编解码器,YouTube 绝对支持 .avi 或 .mov 容器。MJPEG 是一种有损编解码器,但视觉质量将与源相同(如果您选择足够高的质量设置,这实际上是 JPEG 视频编解码器)。在我看来,使用真正的无损编解码器会浪费硬盘空间和带宽。

但是,如果你想要真正无损地上传视频,并且不在乎上传时间,我建议使用标准 QuickTime 编解码器,因为 YouTube 几乎都支持这些编解码器(请注意,并非所有编解码器都是无损的,h264 也是标准 QuickTime 编解码器)。尽管 YouTube 不幸没有说明支持哪些 QuickTime 编解码器。我猜动画或 JPEG2000 应该可以。这两种编解码器都可以 100% 无损。

对于音频,如果您希望音频也保持无损,请使用 PCM,但这实际上只是理论上的质量改进。AAC 在质量方面可以完成相同的工作,而且体积更小。我建议 AAC 的比特率至少为 192kbps。YouTube 会将其转换为 ~24kbps(移动版 3gp)、~64kbps(240p)、~128kbps(360p/480p)和 ~192kbps(720p+)。

说到帧速率,如果您可以选择,则在录制/制作动画时使用 25FPS,YouTube 最喜欢这个(每个视频使用的帧速率),但如果您的素材已经是其他帧速率,则请坚持使用该帧速率,不要插值到 25FPS 或 25FPS。YouTube 将为您处理转换,并且通常比您的编码器做得更好。他们每天都要处理各种帧速率,并且很好地解决了这个(实际上非​​常复杂的)问题。

对于 vimeo 你应该看看 vimeo-guidelines。你应该使用 H.264 编解码器。因为这样他们就不需要解压它了

指南:

编解码器: H.264

编解码器是视频的编码格式。Vimeo 接受大多数主流视频编解码器,但为了获得最佳效果,我们建议使用 H.264。如果您要上传高清 (HD) 视频,请选择高级 H.264 设置,而不是主配置文件。高级 H.264 设置:要让您的上传更加流畅,请尽可能选择以下高级设置。

  • 封闭的共和党
  • CABAC(减少文件大小)

相关内容