最全pmt中的stream_type总结
在探讨PMT(Program Map Table)中的`stream_type`时,我们主要关注的是不同编码格式在传输流(Transport Stream, TS)或节目流(Program Stream, PS)中的标识方式。这些标识码对于解复用器来说至关重要,因为它们决定了如何正确地解析数据包并将其分发到相应的解码器进行解码。下面我们将根据提供的信息,详细解释各种`stream_type`所代表的具体含义及其应用场景。 ### PMT `stream_type` 概览 #### 视频编码格式 - **0x01**: MPEG-1视频编码。这是一种早期的标准,常见于VCD等媒体。 - **0x02**: MPEG-2视频编码。广泛应用于DVD、有线电视和卫星广播中。 - **0x80**: 这个类型可能指代两种不同的内容:MPEG-2视频或LPCM音频。具体是哪一种可以通过检查附加的描述符来确定。如果存在描述符0x05且其格式描述符为"HDMV",则表明该轨道来源于蓝光,因此是LPCM音频。 - **0x10**: MPEG-4视频编码。用于H.264/AVC等高级视频编码标准,常用于互联网视频传输。 #### 音频编码格式 - **0x03**: MPEG-1音频编码,即MPEG-1 Audio Layer II。 - **0x04**: MPEG-2音频编码,同样指的是MPEG-2 Audio Layer II。 - **0x0F**: ISO/IEC 13818-7音频,带有ADTS传输语法,通常指的是AAC音频。 - **0x11**: MPEG-4 Part 3音频编码,也是AAC的一种。 - **0x81**: AC3音频编码。AC3是一种常见的多声道音频压缩标准,广泛用于家庭影院系统和数字电视广播中。 - **0x82**: DTS音频编码。DTS是一种高质量的多声道音频压缩技术,常用于电影和家庭影院系统。 - **0x83**: LPCM(线性脉冲编码调制)音频。这是一种无损的音频格式,用于高保真音频回放。 - **0x84**: SDDS音频。这是一种由杜比实验室开发的数字环绕声系统,主要用于电影院。 #### 其他格式 - **0x1B**: H.264视频编码。这是一种非常流行的视频编码标准,广泛应用于高清视频传输。 - **0x12**: MPEG-4通用子流/场景。这是一种用于MPEG-4的通用格式,可以表示子图片或其他类型的场景数据。 - **0xEA**: 私有管理的ES(VC-1)。这是一种用于Windows Media Video的编码格式,常见于蓝光和HD DVD等媒体。 #### 特殊情况 - **0x85**: DTS-HD High Resolution Audio。这是一种高分辨率版本的DTS音频格式。 - **0x86**: DTS-HD Master Audio。这是一种最高质量的DTS音频格式,能够提供几乎无损的声音体验。 - **0x87**: E-AC3音频。这是一种增强型AC3音频格式,支持更多的通道和更高的音质。 - **0xA1**: 辅助E-AC3音频。这通常用于辅助音频流,如评论音轨。 - **0xA2**: 辅助DTS音频。与上一个类似,用于辅助DTS音频流。 ### 总结 通过以上分析可以看出,PMT中的`stream_type`标识了TS或PS流中包含的数据类型。这对于多媒体播放器正确识别并处理不同类型的数据流至关重要。特别是对于那些具有多种含义的`stream_type`(如0x80),需要通过额外的信息(如描述符)来进行更准确的判断。掌握这些知识有助于开发者和工程师更好地理解和处理多媒体数据流,从而提高系统的兼容性和用户体验。
case 0x01: /* MPEG-1 video */
case 0x02: /* MPEG-2 video */
case 0x80: /* MPEG-2 MOTO video or LPCM*/
case 0x03: /* MPEG-1 audio */
case 0x04: /* MPEG-2 audio */
case 0x11: /* MPEG4 (audio) */
case 0x0f: /* ISO/IEC 13818-7 Audio with ADTS transport syntax */
case 0x10: /* MPEG4 (video) */
case 0x1B: /* H264 <- check transport syntax/needed descriptor */
case 0x81: /* A52 (audio) */
case 0x82: /* DVD_SPU (sub) */
case 0x83: /* LPCM (audio) */
case 0x84: /* SDDS (audio) */
case 0x82:
case 0x8A:
case 0x85: /* DTS (audio) */
case 0x91: /* A52 vls (audio) */
case 0x92: /* DVD_SPU vls (sub) */
case 0x94: /* SDDS (audio) */
case 0xa0: /* MSCODEC vlc (video) (fixed later) */
- 粉丝: 26
- 资源: 69
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
- 1
- 2
- 3
- 4
前往页