要充分理解 VideoLAN 解决方案,您必须理解编解码器和容器格式之间的区别
编解码器是一种压缩算法,用于减小数据流的大小。有音频编解码器和视频编解码器。MPEG-1、MPEG-2、MPEG-4、Vorbis、DivX 等都是编解码器
容器格式包含一个或多个已经通过编解码器编码的数据流。通常,会有一个音频流和一个视频流。AVI、Ogg、MOV、ASF 等都是容器格式。包含的数据流可以使用不同的编解码器进行编码。在理想情况下,您可以将任何编解码器放入任何容器格式中。不幸的是,存在一些不兼容性。您可以在功能页面上找到可能的编解码器和容器格式的矩阵
要解码数据流,VLC 首先对其进行解复用。这意味着它读取容器格式并分离音频、视频和字幕(如果有)。然后,这些分离出的数据流被传递给解码器,解码器执行数学处理以解压缩数据流。
关于 MPEG 有一些特别之处
MPEG 是一种编解码器。它有几个版本,称为 MPEG-1、MPEG-2、MPEG-4 等。
MPEG 也是一种容器格式,有时被称为 MPEG 系统。MPEG 有几种类型:ES、PS 和 TS
例如,当您播放 DVD 中的 MPEG 视频时,MPEG 数据流实际上由几个数据流(称为基本流,ES)组成:一个用于视频,一个用于音频,另一个用于字幕等等。这些不同的数据流混合在一起形成一个单一的节目流 (PS)。因此,您在 DVD 中找到的 .VOB 文件实际上是 MPEG-PS 文件。但是,PS 格式不适用于通过网络或卫星等方式流式传输视频。因此,另一种称为传输流 (TS) 的格式被设计用于通过此类通道流式传输 MPEG 视频。