区分 MPEG-1 容器和 MPEG-2 容器

Distinguish between MPEG-1 container and MPEG-2 container

我正在寻找区分使用 MPEG-1 和 MPEG-2 容器的文件的具体方法,因为我发现的大多数资源表明这两个容器的起始代码都是 00 00 01 BA。

我尝试使用 VLC 的 GUI 将 MP4 容器中的视频转换为 MPEG-1 容器,结果文件的数据包起始代码是 00 00 01 BA,这让我感到困惑。

是否可以使用 FFMPEG 将 MP4 中的视频转换为 MPEG-1 容器,因为无论我尝试什么,都会在 MPEG-2 程序流容器中生成文件.使用的命令是 ffmpeg -i video.mp4 video.mpg

命令ffmpeg -i video.mp4 video.mpg 将生成一个 MPEG-1 系统容器。将 ffmpeg -i video.mp4 -f vob video.mpg 用于 MPEG-2 PS。

紧接着 PACK START 代码 00 00 01 BA。如果接下来的两位是 01,则它是 MPEG-2 PS(VOB、DVD-VOB 或 SVCD),否则如果它是 0010。是 MPEG-1 系统或 VCD。

MPEG-1 视频编码视频旨在与特定一代的视频 CD 和相应的播放器一起使用。它仅限于这种 on-disk 格式。例如,系统层的目的是解释视频和音频如何交错存储和同步播放。

MPEG-2 视频建立在早期标准的一些基本编码概念的基础上,但将其应用范围扩大到可以大致描述为大致“标准清晰度”的“广播电视质量”,从而产生了第一代数字机顶盒和相关服务。这就是我所理解的“DVD 格式”。大多数 DVD 都是以 MPEG-2 格式编码的,您需要使用 MPEG-2 解码器播放 DVD。