音视频学习(二十五):ts
TS(MPEG-TS,MPEG Transport Stream) 是一种广泛应用于流媒体传输和存储的容器格式。它最早由 MPEG(Moving Picture Experts Group)组织订定,用于视频和音频的压缩编码。在 HLS(HTTP Live Streaming) 等流媒体协议中,常用 TS 格式来封装视频片断(通常为 .ts 文件),用于网络传输和客户端播放。概述
TS(Transport Stream)是一种为广播和流媒体应用操持的容器格式,具有高容错性和灵活性,能够承载视频、音频、字幕等多种数据流。它常用于卫星电视、广播电视、视频传播输等场景。
[*]文件扩展名:.ts。
[*]基本组成:TS 文件将视频和音频编码流(如 H.264、AAC)分割成固定大小的小数据包(通常为 188 字节)。每个数据包包罗一个或多个编码流的包头和数据负载。
TS文件结构
一个标准的 MPEG-TS 文件(.ts)重要由 TS 数据包(Transport Stream Packet)组成,每个数据包的大小固定为 188 字节。每个数据包都包罗一个 包头 和一个 负载(payload)。
TS 数据包(Transport Stream Packet)结构
每个 TS 数据包的结构如下:
字段长度描述同步字节1字节固定值 0x47,用于标识数据包的开始。错误标志1字节指示是否发生了错误。PID(Packet ID)13位表示该数据包的流标识符,决定了该数据包属于哪个流。优先级标志2位用于优先级控制,通常设置为 00。有效负载指示符1位表示该包是否包罗有效的数据。继续传输标志1位如果设置为1,表示后续包还是同一数据流的一部分。包计数1字节每个数据包的序列号。负载184字节现实存储的视频或音频数据。
[*] 同步字节(Sync Byte):每个 TS 数据包的首字节固定为 0x47,这用于包的同步,确保数据包的正确起始。如果接收到一个包的同步字节不是 0x47,则表示包大概已损坏。
[*] 错误标志(Error Indicator):指示数据包是否损坏。如果包标志为 1,则表示该数据包存在错误,需要抛弃。
[*] PID(Packet Identifier):该字段是 13 位长,用于标识该数据包所属于的流范例。每个流都有一个唯一的 PID。例如,视频流、音频流、字幕流等都使用不同的 PID 标识。PID 也有特别寄义:
[*]0x1FFF:表示一个无效的 PID,通常用于空数据包。
[*]0x0000:用于 PAT(Program Association Table)。
[*]0x0001:用于 PMT(Program Map Table)。
[*] 负载单元开始指示符(Payload Unit Start Indicator):当数据包包罗一个新的数据单元时,该指示符为 1。通常,这意味着数据包的负载部分是一个完备的数据单元的开始(如一个视频帧的开始,或者音频数据的开始)。
[*] 自顺应字段控制(Adaptation Field Control):指示数据包是否包罗 自顺应字段。如果该值为 01,则表示没有自顺应字段;如果为 10 或 11,则表示包罗自顺应字段。自顺应字段包罗如时间戳、插入控制字节等信息,用于增补流媒体内容。
[*] 负载(Payload):负载部分承载了现实的数据内容。根据数据包的 PID,负载部分大概包罗视频数据、音频数据、字幕数据,或者一些控制数据。例如,视频数据通常是 H.264 编码后的数据,音频数据则大概是 AAC 编码的数据。
包头
[*] TS 数据包的包头包罗了同步字节和其他控制信息,包头的结构如下:
字段长度描述同步字节 (Sync Byte)1字节固定值 0x47,标识数据包开始。错误标志 (Error Indicator)1位如果包发生错误,标识设置为 1。PID(Packet Identifier)13位用于标识流范例,指向具体的音视频流。优先级标志 (Priority Flag)1位设置为 1 表示优先级较高。有效负载标志 (Payload Unit Start Indicator)1位如果为 1,表示该数据包是负载的开始。自顺应字段控制 (Adaptation Field Control)2位标识数据包是否有自顺应字段。包计数(Continuity Counter)1字节包的连续性计数。
负载
负载部分的内容根据数据包的范例而不同,大概是视频数据、音频数据或其他范例的控制信息。
[*]视频数据:如果该数据包是视频流的一部分,负载将包罗如 H.264 编码的视频帧数据。
[*]音频数据:如果该数据包是音频流的一部分,负载将包罗如 AAC 编码的音频帧数据。
[*]字幕数据:如果该数据包是字幕流的一部分,负载将包罗字幕数据。
TS 文件中的顺应性字段(Adaptation Field)
顺应性字段是可选的字段,通常用于增补流信息,如时间戳、插入字节等。顺应性字段可以包罗:
[*]时间戳:用于同步音频和视频流。
[*]插入字节:用于数据包的对齐。
[*]自顺应字段的长度:指示该字段的长度。
顺应性字段的出现与否由 自顺应字段控制(Adaptation Field Control) 字段决定。如果数据包需要包罗这些信息,它将占据包头后的 1 到 184 字节之间的位置。
工作原理
在 HLS 流媒体协议中,TS 文件用于将视频流和音频流分成若干小片断,每个片断大多为 10 秒钟左右。每个 .ts 文件通常由多个 TS 数据包组成,并通过网络传输给客户端举行播放。
编码流的分割
在 HLS 中,视频(如 H.264)和音频(如 AAC)编码后被分割成一个个 TS 数据包。每个 TS 包包罗该视频片断的一部分或整个音频流的部分内容。由于 TS 数据包是固定大小的,因此视频流和音频流会被切割成多个包举行传输。
数据传输
每个 TS 文件会包罗一个 .m3u8 播放列表文件,客户端根据该播放列表按顺序请求 TS 文件中的数据段。每个 TS 文件通过 HTTP 或其他协议传输给客户端,客户端逐个解析并播放这些数据段。
错误规复与容错
由于 TS 格式具有良好的容错本领,如果某个 TS 数据包出现损坏,播放器可以通过抛弃该数据包来继续播放后续内容。TS 格式的容错本领重要体现在:
[*]每个 TS 数据包的大小固定,可以较容易地实现错误检测和修复。
[*]各个流(视频、音频等)通常是独立的,因此如果一个流的数据包损坏,其他流通常不会受到影响。
TS文件的封装与编码
视频与音频封装
在 TS 文件中,视频流和音频流的数据是独立的,它们通过不同的 PID(Packet Identifier)标识。每个 TS 数据包可以包罗以下范例的流:
[*]视频流:如 H.264 编码的视频流,通常具有特定的 PID。
[*]音频流:如 AAC 编码的音频流,具有另一个独立的 PID。
[*]字幕流:例如,嵌入的字幕也可以作为一个独立的流举行传输。
HLS 流的 TS 切片
在 HLS 流中,视频源文件会被分割成多个小的 .ts 文件(通常每个文件连续约 10 秒钟)。每个 .ts 文件包罗了一个视频段的编码数据,客户端通过 .m3u8 播放列表文件来顺序请求这些 .ts 文件。
TS 文件与 HLS 流的关系
在 HLS 中,每个视频流(如直播视频或点播视频)都被切分成多个小的 TS 文件,每个 TS 文件包罗了一个视频片断。播放器使用 .m3u8 播放列表文件中的链接,按顺序加载这些 TS 文件举行播放。
[*]每个 TS 文件通常包罗一个视频段(如 10 秒钟的 H.264 编码视频片断)和音频段(如 10 秒钟的 AAC 编码音频)。
[*]每个 .m3u8 播放列表文件会列出这些 TS 文件的路径,播放器根据网络状况逐个请求这些文件。
[*]HLS 支持多码率流(例如,低码率、中码率和高码率流),每个流使用不同的 TS 文件和 .m3u8 播放列表。
TS文件的特点
优点
[*]容错性强:由于 TS 包内置的错误检测和修复机制,使得 TS 格式在流媒体传输中具有较强的容错本领,纵然网络状况不稳定,也能保证流媒体播放的稳定性。
[*]实时性好:TS 格式特别得当实时流媒体的传输,能够在直播等场景中提供较低的耽误。
[*]灵活性:TS 文件不但可以包罗视频和音频流,还可以支持字幕、元数据等多种数据流,非常得当多种媒体格式的封装。
缺点
[*]文件大小和传输服从:TS 文件通过固定大小的数据包传输,大概会导致一定的网络带宽浪费,尤其是对于低比特率流(例如低清楚度视频)的传输。
[*]耽误:由于每个 TS 文件都需要一定的传输时间和播放时间,所以它的耽误通常比其他实时协议(如 RTMP)要高,尤其是在使用 HLS 举行直播时。
TS 文件与其他容器格式的对比
与 MP4 格式:
[*]MP4 是基于文件的格式,更得当离线存储和播放,不得当流媒体传输。
[*]TS 格式则是针对流媒体传输而操持,支持边下载边播放,并具有较好的错误规复本领。
与 FLV 和 RTMP:
[*]TS 和 FLV 都支持流媒体播放,但 TS 在错误规复方面体现更好。
[*]RTMP 通常用于低耽误的直播流,而 TS 更适用于具有容错要求的场景,如通过 HTTP 举行的直播流。
总结
TS 文件(Transport Stream) 是 HLS 流媒体协议中常用的封装格式,它通过将视频、音频和其他数据流切分为固定大小的数据包(188 字节)举行传输,具有高容错性和顺应流媒体传输的本领。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]