我想将 TS 文件转换为 mpeg 文件。有没有描述这个过程的文件? 我知道TS架构,但是我不知道mpeg的文件架构。非常感谢有关此主题的任何信息。
谢谢。
最佳答案
您可能想要做的是从 MPEG-TS(传输流)转换为 MPEG-PS(节目流)。 MPEG-PS 是标准 .mpg 文件的格式,也是 DVD 视频使用的格式。
您可能应该掌握 ISO/IEC 13818-1 标准。该标准包含所有 MPEG-TS 和 MPEG-PS 容器详细信息(它不涵盖 ISO/IEC 13818-2 中涵盖的编码视频)。
幸运的是,这种转换相当简单,因为整个 MPEG-PS 结构的大部分都包含在 MPEG-TS 格式中。传输流包含一系列 188 字节的数据包,每个数据包都有一个 header 。 PES(节目基本流)数据包包含在数据包有效载荷中。 PES 数据包包含实际的视频或音频负载。一个 PES 数据包可以是任意长度,并且大多数时候它们跨越多个 TS 数据包。从传输流中解复用 PES 数据包实际上只涉及删除 TS header 并正确连接有效负载数据以形成 PES 数据包。
一旦你有了 PES 数据包流,你就会将它们多路复用到标准中规定的节目流格式中。所以基本上,您不需要解析 PES 数据包或它们的内容,您可以将它们从一种格式中提取出来,然后插入到另一种格式中。
尽管转换相当简单,但它仍然需要大量的工作,因为您需要非常熟悉容器标准并仔 segmentation 析比特流才能正确处理。因此,尽管我说转换很简单,但这只是在与其他格式转换相比简单的意义上,在其他格式转换中您可能需要进一步深入挖掘视频数据。
关于c++ - 传输流和 mpeg 文件格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4145575/