使用 libx264 编码的文件可以在 Windows 8 上播放吗?

Mik*_*ail 3 ffmpeg windows-8

我正在通过电子邮件发送电影。

使用 ffmpeg 选项编码的文件libx264是否能够在没有任何外部软件的情况下在 Windows 8 中本地播放?

ffmpeg -i in.avi -vcodec libx264 out.avi
Run Code Online (Sandbox Code Playgroud)

slh*_*hck 6

特尔;博士:

  • Windows 8 可以播放 x264 编码的视频,只要它是 MP4 或 3GP 文件(参考
  • AVI 文件可能有效,但不是必须的,因为 AVI 并不支持 x264 提供的所有内容。

有关更多信息,我将向您指出我在此处发布的答案:什么是编解码器(例如 DivX?),它与文件格式(例如 MPG)有何不同?这远远超出了我在这里写的内容,但是对于这个问题,我们可以缩小范围。

x264是什么?

所以,首先libx264是一个 FFmpeg 库,它允许 FFmpeg 使用x264 编码器对视频进行编码。X264又是只有一个编码,在H.264编解码标准编码的视频-也称为MPEG-4第10部分AVC /高级视频编码。所述编解码器(“编码器/解码器”)简单地指定一个标准,编码器和解码器必须坚持。

因为只有一个编解码器标准,所以除了 x264 之外还有许多其他 H.264 编码器,例如Mainconcept,甚至是来自 FFmpeg 的内置编码器。但 x264 是免费的、开源的、非常高效且质量上乘的,这就是它被如此频繁使用的原因。

为什么我们需要一个容器?

x264 只能编码实际视频。理论上,您可以将它存储在一个.264文件中,并且它是一个有效的视频位/字节流。没有音频,没有字幕等。但通常,您不只是想在没有音频的情况下观看视频。这就是为什么我们需要将视频、音频和字幕合并到一个文件中的原因。该文件称为容器,因为它包含所有单独的媒体轨道。

容器将根据其演示时间戳 (PTS) 同步视频和音频帧,以确保它们完全同时显示。

如今流行的容器包括……

  • MP4是 MPEG-4 Part 14 的缩写,不要与视频编解码器标准混淆,例如MPEG-4 Part 2视频(例如 XviD 编码)或 MPEG-4 Part 10 视频(我们在上面讨论过的 H.264 ,例如 x264 编码)。

  • MKV是 Matroska 的缩写,一个容器,几乎可以包含你喂它的所有东西。

  • AVI,一种非常古老的容器格式,几乎在任何地方都受支持,但本身并不支持很多。除非真的必须,否则不要使用它。

总结一下:编解码器存储在容器内。编解码器代表实际的媒体,而容器只是将它们捆绑到一个文件中。您可以将它们称为“格式”,但不要使用该术语,因为它含糊不清。