MPEG TS总结
MPEG2+TS基本概念和数据结构
payload_unit_start_indicator 这个位功能有点复杂,字面意思是有效负载的开始标志,根据后面有效负载的内容不同功能也不同,后面用到的时候再说。
transport_priority 传输优先级位,1表示高优先级,传输机制可能用到,解码好像用不着。
section_syntax_indicator // 1
'0' // 1
reserved // 2
section_length // 12
if(adaptation_field_control=='10' || adaptation_field_control=='11'){
adaptation_field()
}
if(adaptation_field_control=='01' || adaptation_field_control=='11') {
(5)传输流分组和PES分组原始流分成很多PES分组,保持串行顺序,一个PES分组只包含一个原始流的编码数据。PES分组长度很大,最大可为64K字节。PES分组分为"分组首部(header)"和"有效负载(payload)"。"有效负载"指跟随在首部字节之后的字节。首部的前4个字节构成分组的起始码,标识了该分组所属原始流的类型和ID号。TS分组也就是传输流数据形成的数据包。每个TS分组长度为188字节,包括"分组首部"和"有效负载,前4个字节是分组首部,包含了这个分组的一些信息。有些情况下需要更多的信息时,需在后面添加"调整字段(adaption field)"。两者之间的关系:PES分组是插入到TS分组中的,每个PES分组首部的第一字节就是TS分组有效负载的第一字节。一个PID值的TS分组只带有来自一个原始流的数据。
MPEG-2 TS码流监测的研究分析
应字段 控制字段 ( 字段 ) 连 续性计数 器字段 ( 字段 ) 2位 . 4位
等 信 息 。PD指 示 存 储 于 分 组 有 效 负 载 中数 据 的 类 型 。 从 P I I D 可 以 判 断 其 后 面 负 载 的 数 据 类 型 是 视 频 流 、音 频 流 、P IS S/ I 还 是 其 他 数 据 包 ; 应 字 段 控 制 字 段 表 示 当 前 包 携 带 调 整 字 适
0,
EPG
节 的 Pce 后部 加 上 1 节 的 C C数据 . akt 6字 R 其他 格式 是一 样
的 ) S流 系 统 层 由系 统 层 信 息 和 有 效 负载 构 成 。 T 。T s流 系 统 层 信 息 就 是 在 PS包 组 成 T E s流 的过 程 中 . 了 使 码 流 适 合 于 为 信道传输 和接收端恢复数据而添加 的 T s包 头 和 其 他 相 关 控 制 信息 。 如 图 1 示 .T 所 s包 头 是 T s包 的 标 识 部 分 ,以 0 4 X 7标 志 一个 T s包 的 开 始 . 4个 字 节 , 含 了 与 当 前 T 共 包 s包 相 关
Ra i n dO a dTV o i rn M nt ig o
P S包 所 包 含 的 信 息 .E E PS包 被 分 段 后 用 来 组 成 丁 S包 . 带 携
况 . 有标识 具体 C 含 A系统的 C — yt _D和用于获取授权 A S se l m
分 析 了 MP G 2的 P I 息和 D E 一 S信 VB 的 s 信 息 中 的各 种 I
表 , 而 更 清 晰 地 了解 各 个 表 的 功 能和 作 用 。还 分 析 了 从
T 0 —9 R1 12 0错 误 监 测 的 各 项 内 容 。 充 分 应 用 了模 块 化 等 设 计 思 想 , 得 各 模 块 可 以 获取 码 流 中 对 应 的 数据 , 使 实 现 对 码 流 中各 种 信 息 的 分 析 , 完成 码 流 分 析 的 功 能 。 并
MPEG-TS流的Buffer策略分析与优化
Subject to change – H. Gsoedl 11.2005 – 7BM53_0EProducts: R&S ®DVM50, R&S ®DVM100, R&S ®DVM100L, R&S ®DVM120, R&S ®DVM400, R&S ®ETXBuffer AnalysisMPEG-2 TS Analysis&MonitoringApplication NoteThe new buffer analysis feature was introduced with firmware version 2.80 for the R&S ®DVM family. This application note describes this feature and explains how it represents a valuable asset to your daily business operations This application note first provides background information and then explains how monitoring and measurement have been implemented in the R&S ®DVM family.Buffer AnalysisContents1Overview (3)2Introduction (3)3Requirements (4)4Transport Stream System Target Decoder in MPEG-2 (5)5Buffer Architecture Overview (5)6Different Buffer Models for Video, Audio and System Information (6)MPEG-2 video (6)Advanced video coding (AVC) video (7)MPEG-1/2 audio (7)System information (7)7R&S®DVM Graphical User Interface - Overview (8)8R&S®DVM Buffer Monitoring in Accordance with ETSI TR 101 290 (12)MPEG-2 video (12)MPEG-1/2 audio (13)9R&S®DVM Buffer Analysis for AVC Video (14)10Abbreviations (15)11Literature (15)12Additional Information (16)13 Ordering Information (16)7BM53_0E 2 Rohde & SchwarzBuffer Analysis1OverviewThe new buffer analysis feature was introduced with firmware version 2.80for the R&S®DVM family. This application note describes this feature andexplains how it represents a valuable asset to your daily businessoperations This application note first provides background information andthen explains how monitoring and measurement have been implementedin the R&S®DVM family.2IntroductionToday, exceedingly large amounts of information are transmitted throughoutthe world via cable, satellite and terrestrial systems. Bandwidth limitationshave made it necessary to optimize existing resources. This has led to thedevelopment of compression mechanisms such as MPEG-2 ISO/IEC13818.As an example, this standard provides makes it possible to reduce the datarate for video and audio transmissions by removing unnecessary andredundant data. In this context, "unnecessary" means detailed informationthat cannot be detected by human senses. The term "redundant" meansthat the same information is present more than once.To explain the basic steps of digital television transmission, the followingfigure shows the generation and transmission principle:Fig. 1: Generation/transmission endTo make the transmission of multiple services in one channel possible, thecontent of each program is divided into small packets after compression(encoder). These packets are “multiplexed” into one stream at a constantbit rate. The MPEG-2 transport stream (TS) has been created inaccordance with ISO/IEC 18131. This content is fed to the transmitter.The TS that is created may contain a large number of independentservices. Each service often consists of more than one elementary stream(ES), e.g. video, audio, data. The bit rate in an ES commonly varies overtime (e.g. I, B and P frames within a video ES).Consider the following example: If you look at the ES of video, you havespecific elements commonly referred to as I frames (see [4]), which arelarge in size compared to the rest of the stream. Now assume that the TSused has a bit rate just high enough to hold one peak at any given time. If asecond peak from another ES in the multiplex coincidentally occurs at thesame time, the TS would not be able to hold and send out the data in amanner that allows a receiver to decode both sets of content properly.This leads to the challenge of fitting these services into one TS at a fixedlimited bit rate. To ensure proper presentation on the terminal device, theencoder and the multiplexer have to create data streams that can bedemultiplexed and decoded without any problems during presentation.The task is to determine how data of a specific ES can be delayedcompared to others in such a manner that a synchronized decodingprocess with audio, for example, will be successful in every case.Therefore, ISO/IEC 13818-1 provides the transport stream system targetdecoder (T-STD). Although real buffers are required on the decoder end inorder to present the content of the transmitted packets properly, the T-STDis not intended as a reference design for real decoders. The T-STD helps toensure that a multiplexer or encoder functions properly.Network providers in particular can verify TS compliance by means of theR&S®DVM family using the T-STD. A solution can be found by looking atthese theoretical buffers and how they are impaired when an underflow oroverflow occurs due to incorrectly generated transport streams.3RequirementsTo access the buffer analysis functionality, your R&S®DVM device musthave the in-depth analysis functionality (R&S®DVM400: DVM-B1,R&S®DVM100/120: DVM-K10, R&S®DVM50: DVM50-K10) and an analyzerfirmware version of 2.80 or later installed.Understanding buffer analysis requires a basic knowledge of MPEG-2 TS.Since an introduction to MPEG-2 technology is beyond the scope of thisdocument, please see [4] for an in-depth description.4Transport Stream System Target Decoder in MPEG-2The systems layer of the MPEG-2 standard specifies transport streamsystem target decoders (T-STD). The purpose of a T-STD is to ensure thattransport streams that have passed this “theoretical” decoder can bedecoded with any true decoder. You can say that the T-STD buffer model embodies the timely and controlled delivery of data.Fig. 2: Part of T-STD modelEach and every service has to be decoded with its own target decoder. AsFig. 2 shows, a single decoder path is introduced for each ES such asaudio and video services. Additionally, the system information such as PATand PMT also has a specific decoding path.5Buffer Architecture OverviewAs Fig. 2 shows, every decoder path includes the transport buffer (TB). Thetask of this 4096-bit storage is to uncouple the decoder from the TS datarate in order to decode transport streams with variable transmission rates.Video elementary streams have to pass the multiplex buffer (MB) andelementary stream buffer (EB). In contrast, audio and system data isdirected to one main buffer (B). The transfer rates between the buffersshown in Fig. 2, the buffer size and the decoding times can be eithercomputed (descriptor information) or derived (DTS) from the content. Anaccess unit is defined as a coded representation of a video or audio frame.An access unit is removed from the output buffer at the time of decoding.The size of each access unit (for video, for example) differs depending onthe scene complexity and the type of a specific frame of video.The data rates and buffer sizes specified in this document are based on [1]and [2].Video packetsSI packets Audio packets PresentationTB: transport stream bufferB: main bufferEB: elementary stream bufferMB: multiplex buffer6Different Buffer Models for Video, Audio and System Information MPEG-2 video As mentioned above, the main buffer of the video path of the T-STD is divided into the MB and the EB. Only payload information of a TS packet is written to the MB. The size of the MB as well as the data rate from the TB to the MB vary depending on the video profile and level. Fig. 3: MPEG-2 video path of the T-STDTwo different methods for checking the compliance of an MPEG-2 video stream are available. Depending on the TS content, one of these two mechanisms is used. The principle behind the compliance checks is to determine how effectively data is transferred between the MB and the EB. •Leak method: This method checks the multiplexing of the ES into the TS by transferring data with a constant data rate between the specified buffers. The data rate is specified through the profile and level of the video streams. •Video buffer verifier (VBV) method: In addition to the functionality of the leak method, the VBV method is able to perform a compliance check of the ES that is used by extracting VBV-specific entries such as VBV buffer size and VBV delay from the TS. These values are used for specifying the buffer model parameters. This method defines a hypothetical decoder consisting of a VBV buffer and an ideal decoder. If the VBV buffer experiences neither an underflow nor an overflow, the TS has passed the test. Fig. 4: Video buffer verifier (VBV) method The leak method is used if one of the following conditions is met; otherwise, the VBV method is used (note: all names used below are defined in [1]): •No STD descriptor is listed in the PMT for the ES. •An STD descriptor exists and the leak_valid_flag is set to 1. •An STD descriptor exists, the leak_valid_flag of the descriptor is set to 0and the parameter vbv_delay is set to 0xFFFF. •The DSM_trick_mode_flag is set to 1. TB: transport stream buffer EB: elementary stream buffer MB: multiplex buffer MPEG-2 Encoder VBV BufferAll data for the access unit that is present in the EB is removed at the time of decoding. Advanced video coding (AVC) video The architecture of the T-STD path for AVC video is the same as for MPEG-2 video. The data rate for the input as well as the size of the MB depend on the content. With regard to the technologies for transferring data between the MB and the EB, there are a few differences as compared to MPEG-2 video. •Leak method: As described under the buffer model for MPEG-2 video, the data transfer rate between the MB and the EB is constant. However, a different equation is used to determine the rate as a function of the profile and level applied. •Hypothetical reference decoder (HRD) method: A hypothetical reference decoder consisting of a coded picture buffer (CPB) fed by a hypothetical stream scheduler (HSS) and a decoder free of any time lag is used to examine the compliance of a TS with existing standards. A total of 32 different CPB and HSS pairs can exist for just one TS. Thus, the transmission of a data stream with different data rates is possible. In the T-STD model, the EB is equivalent to the CPB, and the MB is equivalent to the HSS. MPEG-1/2 audio All TS packets of the audio elementary streams are fed to the audio TB. The data is read out at 2 Mbit/s for MPEG-1 and MPEG-2. Only payload information from the TS packets is written to B. Data transmitted twice is transferred only once. B has a size of 28672 bits. At the time of decoding, all data of an access unit in the main buffer is instantly removed. Fig. 5: Audio path of the T-STD System information All TS packets with a PID of 0, 1 or 3 and the ones listed in the PMT of the service to be decoded are collected in the TB of the system path. Packets transmitted twice and packets without payload are also fed to this buffer. Packets of the NIT are not written to this object, because the use of the NIT is usually part of the DVB standard. All packets in the TB are read at 1Mbit/s. Packets that occur twice are fed to the main buffer only once. This main buffer has a size of 12288 bits. If B contains data, it is transmitted to the system's controller at a variable data rate. TB: transport stream buffer B: main buffer 4096 bits 28672 bitsFig. 6: System path of the T-STD7R&S ®DVM Graphical User Interface - Overview To access the buffer analysis functionality, select Advanced from theMeasurement Group Selection: Fig. 7: Measurement Group Selection The results display shows various tabs. To determine buffer compliance, you need to use the Buffer Analysis and Buffer Model Info tabs, marked inred in Fig. 8. Fig. 8: Results display To access buffer analysis for a specific video or audio ES, select the stream from a service listed in the TS tree. Fig. 9 shows that an MPEG-2 videoelement has been selected: Fig. 9: TS tree The fill level of the various buffers is graphically displayed on the Buffer Analysis tab. The green graph shows the measurement values over time; the red horizontal line equals the limit line. TB: transport stream bufferB:main buffer 4096 bits 12288 bits SystemcontrolFig. 10: Buffer Analysis tabThe available monitoring types vary depending on the kind of streamselected. The analysis function can be started by clicking Start:Fig. 11: Start and stopYou can stop the measurement at any time by clicking Stop. The Clearbutton clears the measurement screen.The monitoring and error alarm process is located on the Buffer Model Info tab. The buffer model applied (MPEG-2 video in the example) for the specific ES is shown, and color signals indicate the compliance of the buffer fill levels and delays.Fig. 12: Buffer Model Info tabBoth the Buffer Analysis and Buffer Model Info tabs contain display fields for the current measurement:Fig. 13: Display fieldsThe Pos Pk field indicates the maximum value reached during the measurement. The Limit field shows the value specified by the standard or by the user.By selecting Config from the measurement control buttons (Fig. 14), you can define your own parameters and limits. You can choose the buffer size and the method used for transferring data from the main buffer to the EB for video streams. Thus, a user-specific configuration that differs from ETSI TR 101 290 can be applied.Fig. 14: Configuration8R&S®DVM Buffer Monitoring in Accordance withETSI TR 101 290You can monitor various conditions as defined by the different T-STD pathsand standards in order to determine the conformance of the TS that isused. The appropriate buffer model is automatically selected for thespecified stream. If a condition for a buffer model is violated, an error alarmwill be output. The fill level of the buffers as well as the time required for abyte to enter the T-STD and then exit the main buffer or EB are monitored.The error alarm conditions (below) vary depending on the buffer modelused. You can monitor them with the R&S®DVM.MPEG-2 videoFig. 15: MPEG-2 video analysisError alarm conditions:•Overflow of the TB has occurred. (I)•The TB is not empty at least once per second. (I)•Overflow of the MB has occurred. (II)•If the VBV method is used, an underflow of the MB has occurred. (II)•If the leak method is used, the MB is not empty at least once persecond. (II)•Overflow of the EB has occurred. (III)•If Low Delay is selected and the DSM_trick_mode_flag is set to 0, theEB is not allowed to underflow. (III)•If the still_picture_flag of the video descriptor is set to 0, the data delay has exceeded 1 s. (IV)•If the still_picture_flag of the video descriptor is set to 1, the data delay has exceeded 60 s. (IV)MPEG-1/2 audioAs shown in the figure below, the MB is not available (grey) for measurements on MPEG-1/2 audio signals.Fig. 16: MPEG-1/2 audio analysisError alarm conditions:•Overflow of the TB has occurred. (I)•Underflow or overflow of the main buffer has occurred. (II)•Data delay has exceeded 1 s. (III)9R&S®DVM Buffer Analysis for A VC VideoThe graphical example of the measurement display is identical to thatshown in Fig. 15. The error conditions monitored by the R&S®DVM are asfollows:•Overflow of the TB has occurred.•The TB is not empty at least once per second.•Overflow of the MB has occurred.•Overflow of the EB has occurred.•If the low_delay_hrd_flag is set to 0, an underflow of the EB hasoccurred.•If the AVC_still_present flag of the AVC video descriptor is set to 0, thedata delay has exceeded 10 s.•If the AVC_still_present flag of the AVC video descriptor is set to 1, thedata delay has exceeded 60 s.10AbbreviationsAVC Advanced Video CodingB Main BufferCPB Coded Picture BufferDTS Decoding Time StampDVB Digital Video BroadcastingEB Elementary Stream BufferES Elementary StreamETSI European Telecommunications Standards InstituteHRD Hypothetical Reference DeocderHSS Hypothetical Stream SchedulerISO International Organization for StandardizationMB Multiplex BufferMPEG Moving Picture Experts GroupNIT Network Information TablePAT Program Association TablePCR Program Clock ReferencePID Packet IdentifierPMT Program Map TablePTS Presentation Time StampTB Transport Stream BufferTS Transport StreamT-STD Transport Stream System Target DecoderVBV Video Buffer Verifier11LiteratureStandards:[1] InInEEFE12Additional InformationOur application notes are updated from time to time. Please visit theRohde & Schwarz website to download new versions.Please send any comments or suggestions about this application note to13Ordering InformationDVM50 MPEG-2 Monitoring System 2085.1900.02DVM-K1 Additional TS Input 2085.5211.02DVM50-K10 In-Depth Analysis 2085.5434.02DVM-K11 Data Broadcast Analysis 2085.5311.02DVM100 MPEG-2 Monitoring System 2085.1600.02DVM120 MPEG-2 Monitoring System 2085.1700.02DVM-B1 Analyzer Board 2085.3283.02DVM-K1 Additional TS Input 2085.5211.02DVM-K10 In-Depth Analysis 2085.5228.02DVM400 Base Unit 2085.1800.02DVM400-B1 Analyzer 2085.5505.02DVM-K1 Additional TS Input 2085.5211.02DVM-K2 TS Capture 2085.5234.02DVM-K11 Data Broadcast Analysis 2085.5311.02DVM400-B2 TS Generator 2085.5511.02DVM400-B3 Upgrade TS Recorder up to 902085.5528.02Mbit/s2085.5534.02DVM400-B4 Upgrade TS Recorder up to214 Mbit/sDV-TCM Test Card M Streams 2085.7708.02DV-HDTV HDTV Sequences 2085.7650.02DV-ASC Advanced Stream Combiner 2085.8804.022082.0490.29DVM-DCV Documentation of CalibrationValuesService Manual 2085.1839.02For additional information about MPEG-2 measurement equipment, see theRohde & Schwarz website .ROHDE & SCHWARZ GmbH & Co. KG .Mühldorfstraße 15 .D-81671 München .Postfach 80 14 69 .D-81614 München .Tel (089) 4129 -0 .Fax (089) 4129 - 13777 .Internet: This application note and the supplied programs may only be used subject to the conditions of use set forth in thedownload area of the Rohde & Schwarz website.。
ts流 标准
ts流标准
TS流(Transport Stream)是一种在数字视频广播和存储中广
泛使用的、用于传输和处理音视频数据的标准。
它是MPEG-2
标准中定义的一种容器格式,主要用于将音视频数据打包和传输到接收端。
TS流采用分段的方式将音视频数据进行打包,并将每个分段
称为Packet。
每个Packet由一个特定长度的字节组成,其中
包含了音视频数据以及相关的控制信息。
传输过程中,这些Packet按照一定的顺序依次发送,并在接收端进行解析和播放。
TS流的主要特点包括:
1. 支持多路复用:TS流可以将多个音视频数据流复用在同一
个传输流中,从而实现多路数据的同时传输。
2. 容错性强:TS流通过在数据中添加冗余信息来保证数据传
输的可靠性,从而提高对传输异常的容错能力。
3. 灵活性高:TS流可以提供多种音视频编码方式的支持,同
时还可以加入私有的扩展信息和自定义的元数据。
4. 支持多种传输方式:TS流可以通过各种传输方式进行传输,包括广播、卫星传输、以太网传输等。
TS流广泛应用于数字电视、视频点播、IPTV以及视频监控等
领域,成为目前最主流的音视频传输格式之一。
TS协议解析范文
TS协议解析范文TS(Transport Stream)协议是一种用于传输音视频数据的协议,主要用于广播和传输领域。
它是MPEG(Moving Picture Experts Group)组织制定的一种标准,用于在数字电视中传送视频和音频数据。
TS协议解析主要包括协议的基本介绍、协议格式、协议应用和协议的优势等方面。
下面将对TS协议进行详细解析。
一、基本介绍TS协议是一种用于传输音视频数据的协议,它的全称是Transport Stream。
TS协议最早是在数字广播和数字电视领域中应用的,后来也被广泛用于互联网传输领域。
TS协议是一种基于分组的传输协议,它将音视频数据分割成小的数据包进行传输。
每个数据包包含了以时间为基准的音视频帧数据。
二、协议格式1.数据包格式:每个数据包由188字节组成。
前4个字节是同步字节,用于标识数据包的起始位置。
紧接着的1个字节是传输错误指示位,用于指示数据包是否有错误。
接下来的1个字节是每个数据包的有效载荷单元开始指示位,用于指示有效载荷单元的开始位置。
剩下的184个字节是有效载荷单元。
2.数据包层次结构:每个数据包分为三个层次,包头、适配字段和有效负载。
包头的长度是4个字节,包含了同步字节和控制信息。
适配字段的长度是0~183个字节,用于对不同的数据包做适配处理。
有效负载包含了音视频数据。
3. 多路复用:在TS协议中,可以将多个音视频数据流进行多路复用,并通过PID(Packet ID)进行区分。
每个音视频数据流占用一个PID,并且在数据包的包头中进行标识。
接收端可以通过PID来识别不同的音视频数据。
三、协议应用1.数字广播:TS协议广泛应用于数字广播领域,例如地面数字电视、卫星数字电视和有线数字电视等。
在数字广播中,TS协议被用于将音视频数据进行传输,以提供高清晰度的视频和高音质的音频。
2.视频点播:TS协议也可以应用于视频点播领域。
在视频点播中,TS协议可以将视频文件进行分割,并通过网络进行传输。
9大网络视频格式详解
9大网络视频格式详解1.CAM 通常是用数码摄像机从电影院盗录。
有时会使用小三角架,但大多数时候不可能使用,所以摄像机会抖动。
因此我们看到画面通常偏暗人物常常会失真,下方的字幕时常会出现倾斜。
由于声音是从摄像机自带的话筒录制,所以经常会录到观众的笑声等声音。
因为这些因素,图象和声音质量通常都很差。
2.TS(准枪版)TS 与CAM版的标准是相同的。
但它使用的是外置音源(一般是影院座椅上为听力不好的人设的耳机孔)这个音源不能保证是好的音源,因为受到很多背景噪音的干扰。
TS是在空的影院或是用专业摄像机在投影室录制,所以图象质量可能比CAM好。
但画面的起伏很大。
论坛上常出现的有一般TS版和经过修复清晰TS版。
一般版本TS清晰版本TS<--page1--> 3.TC(胶片版)TC使用电视电影机从胶片直接数字拷贝。
画面质量还不错,但亮度不足,有些昏暗。
很多时候制作TC 使用的音源来自TS,因此音质很差,但画面质量远好过TS。
如果不是太讲究的话TC版还是不错的选择。
4.DVDSCR(预售版)预览版的或者是测试版的DVD,非正式出版的版本。
从预览版 DVD 中获取,通过mpeg-4技术进行高质量压缩的视频格式。
能比DVDRip早发布,但画质稍差。
(经常有一些不在黑边里在屏幕下方滚动的消息,包含版权和反盗版电话号码,会影响观看。
)如果没有严格的划分它的画质应与TC版差不多。
5.DVDRIP(最终版)DVDRIP:是从最终版的DVD转制。
质量应该是最好的。
将DVD的视频、音频、字幕剥离出来,再经过压缩或者其他处理,然后重新合成成多媒体文件。
一般来说,DVDrip由影音文件(后缀为avi)和字幕文件组成。
6.HDRIP (高清版)HDRip 是HDTVRip(高清电视资源压缩)的缩写,是用DivX/XviD/x264等MPEG4压缩技术对HDTV的视频图像进行高质量压缩,然后将视频、音频部分封装成一个.avi或.mkv文件,最后再加上外挂的字幕文件而形成的视频格式。
数字电视的常用表总结(PSI,SI,EPG,TS)
1, 一些定义ES:由编码器输出,可以是编码过的视频数据流,音频数据流,或其他编码数据流。
ES流经过PES 打包器之后,被转换成PES包。
PES包由包头和payload组成。
PSI:MPEG-2中定义了PSI(Program Specific Information)信息,其作用是从一个携带多个节目的某一个TS流中正确找到特定的节目。
PSI表:PSI表包括节目关联表(PAT)、条件接收表(CAT)、节目映射表(PMT)和网络信息表(NIT)组成。
SI:在MPEG-2标准中定义的PSI表,是对单一TS流的描述。
由于系统通常存在多个TS流,为了引导数字电视用户能在TS流中快速地找出自己需要的业务,DVB对MPEG-2的PSI进行了扩充,在PSI 四个表的基础上再增加了九个表,形成SI(Service Information)。
SI表:SI表包括业务描述表(SDT)、事件信息表(EIT)、时间和日期表(TDT)、时间偏移表(TOT)、业务群关联表(BAT)和运行状态表(RST)、填充表(ST)、选择信息表(SIT)、间断信息表(DIT)等表信息。
SI中的各表在实际使用中并不都需要传送,其中NIT、SDT、EIT、TDT是必需传送的,其它表则按照需要进行选择传送。
TABLE ID:TS流中有两种标识符,一种是包标识符,一种是表标识符。
具有相同PID的不同信息表由表标识符TABLE ID来区分。
EPG:在实用中,我们将SI所提供的数据通过有序地组织起来,生成类似节目报的形式,它能在电视机上即时浏览,这样将大大方便用户的使用,这就是电子节目指南EPG。
TS包PATCATPMT2、数字电视工作流程当机顶盒要要接收某一个指定节目流程:1. 首先从节目关联表(PAT)中取得这个节目的节目映射表(PMT)的PID值2. 然后从TS流中找出与此PID值相对应的节目映射表(PMT),从这个节目映射表中获得构成这个节目的基本码流的PID值3. 根据这个PID值滤出相应的视频、音频和数据等基本码流4. 解码后复原为原始信号,删除含有其余PID的传送包。
MPEG-2 TS码流分析
MPEG-2 TS码流分析一、TS流概述ES流(Elementary Stream,基本流):数字电视各组成部分编码后所形成的直接表示基本元素内容的流,包含视频、音频或数据的连续码流。
PES流(Paketized Elementary Stream,打包基本码流):是将基本的码流ES流根据需要分成长度不等的数据包,并加上包头就形成了打包的基本码流PES流。
PS (Program Stream,节目流):将一个节目的多个组成部分按照它们之间的互相关系进行组织并加入各组成部分关系描述后的码流。
PS流是一种多路复用数字音频、视频等的封装容器,它一个或多个具有共同的时间基准的PES流合并成一个整体流,主要用于节目存储。
其包长不固定,且较长,一旦失去同步信息,接收机无法确定下一包的同步位置,会造成失步,导致严重的信息丢失。
PS流适用于误码小、信道较好的环境,如演播室、家庭环境和存储介质中。
TS流(Transport Stream,传输流):是将一个节目的多个组成部分按照它们之间的互相关系进行组织并加入各组成部分关系描述和节目组成信息,并进一步封装成传输包后的码流。
TS流是将视频、音频、PSI等数据打包成传输包进行传送。
主要用于节目传输。
TS的传输包长度固定,一般为188字节。
TS流和PS流是MPEG-2标准中规定的两种输出码流。
TS格式中,从视频流的任意一片断开始都可以独立解码,而PS格式不可以。
由于TS流具备较强的抵抗传输误码的能力,因此目前在传输媒体中进行传输的MPEG-2码流基本上都采用了TS 流的包格式。
TS流的播放:播放前将TS流文件的后缀名该为.mpg或者.mpeg,用可以直接播放MPEG-TS流的播放器(一般的播放器都可以)打开播放即可。
TS流的优点:1、动态带宽分配:由于TS的传输包长度是固定的,因此可过PID可以将规定的信道总频带在视频、音频和数据信息见进行实时的、灵活的分配。
利用这一特性,可在广播付费节目前实时地将解密钥匙插入到TS流中送给广大用户。
MPEG2-TS流文件的简介
MPEG2-TS流文件的简介引用自/question/5502243.html随着从HDTV录制的高清节目在网上的流传,烧友们现在对TS这个名词大概已经不陌生了,但随之而来就是如何播放、如何添加字幕等等的一系列问题,本文将重点介绍一下这方面的应用操作。
先来简要介绍一下什么是MPEG2-TS吧。
MPEG2格式大家都通过对DVD的接触而多多少少了解了一些,DVD节目中的MPEG2格式,确切地说是MPEG2-PS,全称是Program Stream,而TS的全称则是Transport Stream。
MPEG2-PS主要应用于存储的具有固定时长的节目,如DVD电影,而MPEG-TS则主要应用于实时传送的节目,比如实时广播的电视节目。
这两种格式的主要区别是什么呢?简单地打个比喻说,你将DVD上的VOB文件的前面一截cut 掉(或者干脆就是数据损坏),那么就会导致整个文件无法解码了,而电视节目是你任何时候打开电视机都能解码(收看)的,所以,MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。
【MPEG2-TS流文件的简单回放】有一些播放器软件可以直接播放MPEG2-TS流,比如:=> 1.WinDVD 5.x=> 2.VLC Media Player=> 3.Elecard Player等等。
播放前,先将TS流文件的后缀名改为.mpg,以便播放器可以识别它是一个MPEG文件,否则一些\"以貌取人\"的播放器可能会拒绝提供服务。
修改了后缀名后,直接用播放器打开文件播放即可。
但是需要通过VOBSub外挂字幕的朋友,可能很快就会发现,在WinDVD里无法对MPEG 文件加载字幕,这是因为WinDVD在对MPEG文件解码的时候,用了内部的解码流程,而没有按照微软的DirectShow标准去搭建解码框架,这样自然就无法触发VOBSub这些基于DirectShow标准的外挂控件了。
MPEG-2TS码流编辑的原理及其应用
MPEG-2TS码流编辑的原理及其应用1. 简介MPEG-2TS(MPEG-2 Transport Stream)是一种应用于数字视频和音频传输的标准格式。
它被广泛应用于数字电视、高清视频广播、视频录制以及流媒体等领域。
MPEG-2TS码流编辑是对MPEG-2TS码流进行剪辑、合并、分离等操作的过程。
本文将介绍MPEG-2TS码流编辑的原理及其应用。
2. MPEG-2TS码流格式MPEG-2TS码流是由一系列的同步的MPEG-2TS包组成。
每个TS包的长度为188字节,其中包括4字节的头部、184字节的有效数据以及4字节的误码检测。
TS包可以携带视频、音频、字幕、导航信息等多种类型的数据。
通过解析TS包的头部信息,可以确定包中数据的类型及其位置。
3. MPEG-2TS码流编辑原理MPEG-2TS码流编辑的原理是通过对TS包进行增删改的操作来实现对码流的编辑。
常见的编辑操作包括剪辑、合并、分离等。
3.1 剪辑剪辑是指从原始的MPEG-2TS码流中选择需要的部分进行提取。
通过解析TS包的头部信息,可以确定需要的起始和结束位置,并将这些TS包提取出来,生成一个新的MPEG-2TS码流。
剪辑操作常用于视频广播中对广告等内容的剪辑。
3.2 合并合并是指将多个MPEG-2TS码流合并成一个新的码流。
通过解析每个TS包的头部信息,可以确定TS包的顺序和对应的PID(Packet Identifier),然后将不同码流的TS包按照顺序进行合并。
合并操作常用于视频编辑软件中对多个视频文件的合并。
3.3 分离分离是指将一个MPEG-2TS码流中的不同PID所对应的TS包分离出来。
通过解析每个TS包的头部信息,可以确定TS包所属的PID,然后将同一PID的TS包提取出来,生成一个新的码流。
分离操作常用于从视频录制设备中对视频、音频等进行分离。
4. MPEG-2TS码流编辑的应用MPEG-2TS码流编辑在多个领域中得到广泛应用。
MPEGPS和TS格式介绍
传输效率比较
传输效率
ts格式具有更高的传输效率,能够在有限带 宽下传输更高质量的视频流。相比之下, mpegps格式的传输效率较低,需要更多的 带宽才能传输相同质量的视频流。
传输方式
ts格式适用于实时流媒体传输,如电视广播 和在线视频平台。由于其高效的传输方式, ts格式在流媒体领域得到了广泛应用。 mpegps格式适用于存储媒体文件,如DVD 和蓝光光盘,不太适合实时流媒体传输。
兼容性比较
兼容性
mpegps格式具有较好的兼容性,被广泛应 用于各种多媒体设备和软件中。ts格式在一 些特定领域也有广泛应用,如高清电视广播 和视频编辑。
应用场景
mpegps格式适用于各种存储和播放媒体文 件的场景,如家庭影音娱乐、教学和培训等 。ts格式适用于高清电视广播、在线流媒体
服务和视频编辑等领域。
03
mpegps与ts格式比较
压缩效率比较
压缩效率
mpegps格式通常具有较高的压缩效率,能够在较低的比特率下实现较好的视频质量。 相比之下,ts格式的压缩效率相对较低,需要更高的比特率才能达到类似的视频质量。
压缩算法
mpegps格式采用MPEG压缩算法,而ts格式采用基于打包传输的MPEG-2传输层压缩 算法。由于mpegps的压缩算法更为先进,因此在压缩效率方面具有优势。
mpegps的特点
总结词
MPEG PS具有较高的压缩效率、灵活的节目组织方式和良好的兼容性。
详细描述
MPEG PS采用了MPEG-2编码技术,具有较高的压缩效率,能够有效地减小音视频数据的体积,便于存储和传输。 同时,MPEG PS支持灵活的节目组织方式,可以将多个节目、音频和字幕流封装在一个文件中,方便管理和播 放。此外,MPEG PS具有良好的兼容性,被广泛应用于数字电视、DVD、卫星广播等领域。
常见视频封装格式(2)
常见视频封装格式(2)概述日常生活中,看到的视频文件的后缀名如 .mp4、.avi、.rmvb 都是属于视频文件的封装格式。
所谓封装格式,就是以怎样的方式将视频轨、音频轨、字幕轨等信息组合在一起。
说得通俗点,视频轨相当于饭,而音频轨相当于菜,封装格式就是一个碗或者一个锅,是用来盛放饭菜的容器。
视频文件的封装格式并不影响视频的画质,影响视频画面质量的是视频的编码格式。
下面介绍常见的视频封装格式 - TS。
1 TS 简述TS 全称是MPEG2-TS,MPEG2-TS 是一种标准容器格式,传输与存储音视频、节目与系统信息协议数据,广泛应用于数字广播系统,我们日常数字机顶盒接收到的就是 TS(Transport Stream,传输流)流。
首先需要先分辨 TS 传输流中几个基本概念1.ES(Elementary Stream):基本流,直接从编码器出来的数据流,可以是编码过的音频、视频或其他连续码流2.PES(Packetized Elementary Streams):PES 流是 ES 流经过PES 打包器处理后形成的数据流,在这个过程中完成了将ES 流分组、加入包头信息(PTS、DTS 等)操作。
PES 流的基本单位是 PES 包,PES 包由包头和 payload 组成3.PS 流(Program Stream):节目流,PS 流由 PS 包组成,而一个 PS 包又由若干个 PES 包组成。
一个 PS 包由具有同一时间基准的一个或多个 PES 包复合合成。
4.TS 流(Transport Stream):传输流,TS 流由固定长度(188 字节)的 TS 包组成,TS 包是对 PES 包的另一种封装方式,同样由具有同一时间基准的一个或多个 PES 包复合合成。
PS 包是不固定长度,而 TS 包为固定长度。
为便于传输,实现时分复用,基本流ES必须打包,就是将顺序连续、连续传输的数据流按一定的时间长度进行分割,分割的小段叫做包,因此打包也被称为分组。
MPEG-2_TS_原理与测量剖析
事
TS header
Payload of TS packet
P
P
P
P …..
I
I
I
I
D
D
D
D
1
2
3
4
PID=0x00
Pointer to PMT1
Pointer to PMT2
Pointer to PMT3
Pointer to PMT4
MPEG-2 TS流 PMT表
每个节目一个,每500ms重新发送一次
PMT的PID由PAT传送。
例如要接收节目3时,先从PAT的payload中的所有PID列 表中选出节目3的PID为1FF3hex,然后查找包头中PID= 1FF3hex的TS包,就是节目3的PMT。
PMT包含该节目中所有ES流(视频、音频或数据)的PID。
TS header
Payload of TS packet
PAT:
节目联合表(program association table),用来检索和定位TS流 中的节目,PAT表的PID值永远为0x0000
PMT 节目映射表(program map tables),对特定节目检索子流
CAT
条件接受表(conditional access table),用于需要认证的环境,CAT 表的PID值永远为0x0001
Pid = 0x000032
Pid=0x000033
TS流的复用特性
支持多路节目的合成复用 复用的节目通过节目编号(program ID)进行标识,该信息在
PAT表中传送
MPEG-2 Multiplexer
Video 1 Audio 1 Video 2 Audio 2 Video 3
TS协议解析范文
TS协议解析范文TS协议(Transport Stream Protocol)是一种用于传输音频、视频和数据的通信协议。
它是MPEG(Moving Picture Experts Group)组织制定的一种传输标准,广泛用于数字广播和数字电视等领域。
TS协议主要通过分组方式将音视频数据进行打包、传输和解析,下面将对TS协议的解析进行详细介绍。
一、TS协议概述TS协议是一种基于分组传输的协议,它将音视频数据进行分组打包,每个分组的大小为188字节。
每个分组都包含了一个称为PacketIdentifier(PID)的标识符,用于标识不同的流。
TS协议可以同时传输多个音视频流和数据流,每个流对应一个唯一的PID。
其中,音频流和视频流采用连续的PID进行标识,数据流则可以采用任意的PID。
TS协议还支持通过PAT(Program Association Table)和PMT(Program Map Table)来描述和管理不同的音视频流。
二、TS协议分组结构TS协议的分组结构非常重要,它决定了数据的组织方式和传输方式。
每个TS分组由4字节的同步字节开始,之后是连续的184字节的有效数据和4字节的错误检测码(CRC32)。
TS分组的有效数据包括了多个TS数据包。
TS数据包由4字节的同步字节和184字节的有效负载组成。
同步字节用于标识分组的开始,有效负载则包含了音视频数据和控制信息。
三、TS协议的传输和解析TS协议的传输过程分为打包、传输和解析三个步骤。
首先,音视频数据被打包成TS分组的形式。
在打包过程中,音频和视频流被分别编码和打包,并通过不同的PID进行标识。
每个分组的PID决定了数据的类型和对应的解析方式。
然后,打包后的TS分组通过传输媒介进行传输。
常用的传输媒介包括卫星、有线和无线网络等。
TS分组通过传输媒介被传输到接收端,并进行解析。
最后,接收端根据TS分组的PID进行解析。
首先,接收端解析PAT 表,获取各个音视频流的PID。
MPEG2-TS流文件的简介--选择
MPEG2-TS流文件的简介--选择IP数据报有首部和数据两部分组成的,首部的前一部分是固定长度20字节,是所有IP数据报必须具有的。
首部包括:总长度、标识、MF、DF、片偏移。
数字信号实际传送的是数据流,一般数据流包括以下三种:ES流:也叫基本码流,包含视频、音频或数据的连续码流。
PES流:也叫打包的基本码流,是将基本的码流ES流根据需要分成长度不等的数据包,并加上包头就形成了打包的基本码流PES流。
TS流:也叫传输流,是由固定长度为188字节的包组成,含有独立时基的一个或多个节目,适用于误码较多的环境。
TS流(TransportStream)即在MPEG-2系统中,由视频,音频的ES流和辅助数据复接生成的用于实际传输的标准信息流称为MPEG-2传送流。
信息复合/分离的过程称为系统复接/分接,据传输媒体的质量不同,MPEG-2中定义了两种复合信息流:传送流(TS)和节目流(PS:ProgramStream)TS流与PS流的区别在于TS流的包结构是固定长度的,而PS流的包结构是可变长度。
PS包与TS包在结构上的这种差异,导致了它们对传输误码具有不同的抵抗能力,因而应用的环境也有所不同。
TS 码流由于采用了固定长度的包结构,当传输误码破坏了某一TS包的同步信息时,接收机可在固定的位置检测它后面包中的同步信息,从而恢复同步,避免了信息丢失。
而PS包由于长度是变化的,一旦某一PS 包的同步信息丢失,接收机无法确定下一包的同步位置,就会造成失步,导致严重的信息丢失。
因此,在信道环境较为恶劣,传输误码较高时,一般采用TS码流;而在信道环境较好,传输误码较低时,一般采用PS码流由于TS码流具有较强的抵抗传输误码的能力,因此目前在传输媒体中进行传输的MPEG-2码流基本上都采用了TS码流的包格。
MPEG-2中TS码流包结构和功能应用
1 概 述
环境较好 、 传输误码较低时一般采用 P 码 流, s 此外采
用 固定 长度包 格式 的 T S码 流 在 为 多路 数 据 复 用 提供 充 分 的灵 活性 的 同时 也 表 现 出诸 多 的优 点 , 如 动态 譬 带 宽分 配 、 可分级 性 、 可扩展 性 、 抗干扰 性 、 接收机 成本 低廉。
一
2复 用 系统 结 构 ( 见图 1 , ) 由系统 图可见 , S码 流 的 T
组成过程是将原始的音频和视频信息按照合适的尺寸 划分为 E 流 , s 之后附加信息形成 P S , E 包 再按照一定 的规 则将 P S 附加 上系统信息 而成 为T 包 , E包 s 进而
从而恢复同步 , 避免 了信息丢失。因此在信道环境较 为恶劣 、 传输误码较高时一 般采用 T 码 流, s 而在信道
作者简介 : 黄成辉( 9 3 ) 男, 17 . , 助理工程师 , 主要从事有 线电视工作 , E—m i ois2 @h ta .o 邓裕 昭 (9 4 ) 男, a :dn2 9 om i cm; l l 18 一 , 助理 工程 师 , 主要从事有线 电视 工作 。
2 6 4
维普资讯
的同步信息 , 接收机就会进入失步状态 , 从而导致严重 的信息丢失事件 。而 T 码流 由于采用 了固定长度的 s 包结构 , 当传输误码破坏了某一 T 包 的同步信息时, s 接收机可在 固定的位置检测它后面包 中的同步信息 ,
在介绍 T S码 流包 结构 之前 , 来 了解 一下 M E 先 PG
mpeg-ts详细介绍
//8bit //1bit //1bit //bit //13bit //2bit //2bit //4bit
adaptation_field_control == '11') { adaptation_field()
} if (adaptation_field_control == '01' ||
//8bit
for(i=0;i<transport_private_data_length;i++){
private_data_byte
//8bit
}
}
if(adaptation_field_extention_flag == 1) {
adaptation_field_extention_length
marker_bit
//1bit
DTS_next_au[14..0]
//15bit
marker_bit
//1bit
}
for(i=0;i<N;i++) {
reserved
//8bit
}
}
for(i=o;i<N;i++) {
stuffing_byte
//8bit
}语义说明
adaptation_field_length : 记 录 紧 跟 在 此 字 段 之 后 的 调 整 字 段 的 长 度 。 如 果 adaptation_field_control 为 11 时 , adaptation_field_length 应 该 在 0-182 之 间 , 如 果 adaptation_field_control 为 10 时,adaptation_field_length 应该在 183 之间.
MPEG2TS小结讲解
MPEG2 TS小结(1)2010-01-14 09:03:59分类:LINUX应该说真正了解TS,还是看了朋友推荐的《数字电视业务信息及其编码》一书之后,MPEG2 TS和数字电视是紧密不可分割的,值得总结一下其中的一些关系。
ISO/IEC-13818-1:系统部分;ISO/IEC-13818-2:视频;ISO/IEC-13818-3:音频;ISO/IEC-13818-4:一致性测试;ISO/IEC-13818-5:软件部分;ISO/IEC-13818-6:数字存储媒体命令与控制;ISO/IEC-13818-7:高级音频编码;ISO/IEC-13818-8:系统解码实时接口;MPEG2系统任务包括:1. 规定以包传输数据的协议;2. 规定收发两端数据流同步的协议;3. 提供多个数据流的复用和解复用协议;3. 提供数据流加密的协议。
以包形式存储和传送数据流是MPEG2系统之要点。
ES是直接从编码器出来的数据流,可以是编码过的视频数据流,音频数据流,或其他编码数据流的统称。
ES流经过PES打包器之后,被转换成PES包。
PES包由包头和payload组成,具体格式摘录如下:可以看到PTS/DTS是打在PES包里面的,这两个parameters是解决视音频同步显示,防止解码器输入缓存上溢或下溢的关键。
PTS表示显示单元出现在系统目标解码器(STD: system target decoder)的时间,DTS表示将存取单元全部字节从STD的ES解码缓存器移走的时刻。
每个I、P、B帧的包头都有一个PTS和DTS,但PTS与DTS对B帧都是一样的,无须标出B帧的DTS。
对I帧和P帧,显示前一定要存储于视频解码器的重新排序缓存器中,经过延迟(重新排序)后再显示,一定要分别标明PTS和DTS。
MPEG2 TS小结(2)2010-01-14 09:05:07分类:LINUX上节介绍过,ES首先需打包成PES流包,然后PES根据需要打包成PS或TS包进行存储或传输。
Mpeg-TS
应该说真正了解TS,还是看了朋友推荐的《数字电视业务信息及其编码》一书之后,MPEG2 TS 和数字电视是紧密不可分割的,值得总结一下其中的一些关系。
ISO/IEC-13818-1:系统部分;ISO/IEC-13818-2:视频;ISO/IEC-13818-3:音频;ISO/IEC-13818-4:一致性测试;ISO/IEC-13818-5:软件部分;ISO/IEC-13818-6:数字存储媒体命令与控制;ISO/IEC-13818-7:高级音频编码;ISO/IEC-13818-8:系统解码实时接口;MPEG2系统任务包括:1. 规定以包传输数据的协议;2. 规定收发两端数据流同步的协议;3. 提供多个数据流的复用和解复用协议;3. 提供数据流加密的协议。
以包形式存储和传送数据流是MPEG2系统之要点。
ES是直接从编码器出来的数据流,可以是编码过的视频数据流,音频数据流,或其他编码数据流的统称。
ES流经过PES打包器之后,被转换成PES包。
PES包由包头和payload组成,具体格式摘录如下:可以看到PTS/DTS是打在PES包里面的,这两个parameters是解决视音频同步显示,防止解码器输入缓存上溢或下溢的关键。
PTS表示显示单元出现在系统目标解码器(STD: system target decoder)的时间,DTS表示将存取单元全部字节从STD的ES解码缓存器移走的时刻。
每个I、P、B帧的包头都有一个PTS和DTS,但PTS与DTS对B帧都是一样的,无须标出B帧的DTS。
对I帧和P帧,显示前一定要存储于视频解码器的重新排序缓存器中,经过延迟(重新排序)后再显示,一定要分别标明PTS和DTS。
上节介绍过,ES首先需打包成PES流包,然后PES根据需要打包成PS或TS包进行存储或传输。
其每路ES只包含一路信源的编码数据流,所以每路PES也只包含相对应信源的数据流。
对PS流而言,每个PES包头含有PTS和DTS,流识别码,用于区别不同性质ES。
MPEG2 TS基本概念和数据结构
payload_unit_start_indicator 这个位功能有点复杂,字面意思是有效负载的开始标志,根
据后面有效负载的内容不同功能也不同,后面用到的时候再说。
transport_priority 传输优先级位,1表示高优先级,传输机制可能用到,解码好像用不
着。
PID 这个比较重要,指出了这个包的有效负载数据的类型,告诉我们这个包传输的是
// 32
}
table_id 固定为0x02 ,标志是该表是 PMT。
section_syntax_indicator section_length
version_number
current_next_indicator 以上四个字段意思和 PAT 相同,可参考上面解释
section_number last_section_number 以上两个字段意思和 PAT 相同,不过值都固定为
transport_error_indicator
//1
payload_unit_start_indicator
//1
transport_priority
// 1 PID
//13
transport_scrambling_control
// 2
adaptation_field_control
//2
continuity_counter
什么内容。前面已经叙述过。
transport_scrambling_control 加密标志位,表示 TS 分组有效负载的加密模式。TS 分组
首部(也就是前面这32bit)是不应被加密的,00表示未加密。
adaption_field_control 翻译为“调整字段控制”,表示 TS 分组首部后面是否跟随有调
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MPEG-2TS码流编辑的原理及其应用[作者:辽宁电视台赵季伟]在当今数字媒体不断发展、新媒体业务不断涌现的前提下,实践证明襁褓中的新媒体只有两种经营方略可供选择:或是购买并集成整套节目,或是低成本深加工新节目,再不可能去按照传统生产模式去自采自编。
低成本的节目生产制作与发布,不仅成为数字媒体经营的主要手段,也成为传统媒体“改革工作流程”的重要举措,进而促成了对新型工作母机和简捷快速流程的迫切需求。
在辽宁新媒体多业务综合服务平台上,先于国际和国内应用了MPEG-2传输流快速剪辑编辑系统(以下简称码流快编)。
这项由辽宁电视台与深圳奥维迅公司在2003年10月联合开发的新技术,为数字媒体低成本节目的制作、推广和运营提供了高效生产工作母机。
尽管担负此项目源代码开发的奥维迅公司出现了经营问题,在技术推广的中间环节发生梗塞,但并不能说明此项技术走到了尽头。
回顾3年的应用实践及研发成果,需要的不是扬弃,而是演进的升级,否则就是对可调控资源的莫大浪费。
特别是针对第二代信源编解码国标AVS-P2的更新换代,很可能成为多业务内容整合的新一代产品的突破口。
一工作原理1. 功能目标码流快编的应用目标是,通过对开放视频的采集,将DVB-S或C的传输流(Transport Stream,TS)节目作为信源,直接进行剪辑处理,再经过人工创意后,整合为新主题内容的新节目,以便直接进入频道集成或编辑频道节目播出,快速实现数据层的内容整合,不仅简捷了采集制作的工作流程,而且为丰富媒体内容资产开辟了一条捷径。
因为码流快编的工作流程无需先以解码后的视频记录于磁带,再以磁带上载编辑机,经编辑后再下载成为磁带,再编码复用成为新内容的新节目。
即便数字化完成以后,视频数据流仍不能用于经复用的数字传输,还需编码、转码、打包等传输格式化以后,才能在数字信道上传输。
而采用码流快编以后,不仅避免了解码后再采样编码所形成的视频损耗,还避免了在1∶1时间的上下载中所造成的效率损耗。
更重要的是在视频内容整合中,一次性完成音/视频同步剪切、字幕处理和音/视频数据打包复用等连续作业。
所以,它能够提高生产效率60%以上。
必要时还可进行节目包装的特技编辑,直接创建数据级和文件级的互联互通内容交换平台,在媒体资产管理下,顺利实现网络化与智能化的节目配送与发布。
由于码流快编是针对以TS为信源的再编辑系统,所以实行“高来高走,低来低走”,或是“高来低走”的应用策略,即高码率对应高码率(包括兼容高清),低码率对应低码率,但码率连续可调,以适应高码率对应低码率的应用。
理论和应用都说明,对比源节目和成品节目,经剪切和编辑处理的图像保持了同等的视频质量,成为不劣化图像的创新工作流程和新型工作母机。
2. 设计特征码流快编的低成本与高效率来自它的主要特征。
常规的非线性编辑机是在编码一侧做文章,通过采集编码卡实现视频图像多层多轨的非线性编辑;而码流快编则是在解码一侧下功夫,通过对TS拆包还原为基本码流(Elementary Stream,ES),而后经编辑再封包成为TS,快速实现视频内容整合的业务应用。
因而,码流快编除了运用非线性图像处理技术外,最大的特点是运用了 MPEG-2和DVB的系统原理,在此基础上进行图像处理的应用开发。
通过图1的系统概念,可以看出码流快编运用了一个逆向思维的方法,利用DVB系统传输的发/收互逆关系,将收端的单节目传输流(SPTS)作为信源,通过ES实现以视频非线性处理的目标功能。
这时的解决方案有两个:一是在TS 基础上直接进行图像处理的基础开发,实现与常规非编一样的操作界面和编辑习惯,这样虽好,但是没有参照模型以及可利用的技术资源,必须从零开始的重写源代码;二是将TS转码为ES,以ES帧结构和句法格式还原成为符合ITU-R.601建议的原始视频帧,就可以很方便地利用或附加现有的常规非编技术,以无卡站形式实现编辑。
码流快编同时采用了两种方案,一方面独立开发新产品系列,以适应于快速发展的数字电视业务需求,另一方面提高系统的兼容性,向后兼容传统非编,有利于在媒体资产管理下实现互联互通和投资保护。
图2说明了方案二的ES还原并显示原始视频的GOP帧结构。
通过图2可以认为,既然能够形成IBBP的句法帧,再转换成为全I帧格式并不难。
这样一来,就可以利用原有的非线性编辑技术,连续处理长与短GOP、全I帧与IBP帧结构、可变与固定码流的节目素材,实现不同节目格式的快编与混编。
由此可见,码流快编的开发技术难点,是结合 DVB系统与MPEG-2标准,从译码过程中读出元数据,实现基于解码器的图像处理技术,并能兼容以编码卡为基础的非线性编辑技术。
因而被业内称为“第一个吃螃蟹者”。
3. 数据变换既然要把TS作为节目源进行编辑,就需要将TS包中的数据变换为非线性编辑所能使用的元数据和视频流。
它们是以码流快编作为工作母机进行生产的真正原料。
数据变换的第一个过程是拆DVB复用包。
如图3所示,DVB的解码流程中分层译出了许多数据信息,如同步字节(Sync Byte)、节目特定信息(Program Specific Information,PSI)中PAT、PMT、NIT等列表、包识别(Packet Identification,PID)、节目时钟基准(Program Clock Reference,PCR)及PTS/DTS(后详解)和业务信息(Service Information,SI)等部分。
这些信息不仅与DVB PSI/SI直接相关,与MPEG-2的句法结构也直接相关,它规范地传递了再生码流中音/视频所需的MPEG-2列表数据,通过这些信息的引导,准确进入MPEG-2系统层的进一步译码。
第二个过程是拆MPEG-2系统复用包。
MPEG-2系统定义了一个的码流层次化结构句法规则,以便于误码处理、随机搜索以及内容编辑。
它自上而下依次分为图像序列层(Video Sequence Layer,VSL)、图像组层(Group of Pictures Layer,GOPL)、图像层(Picture Layer,PL)、像素条层(Slice Layer,SL)、宏块层(Macro block Layer,ML)、像块层(Block Layer,BL)等6个层次,分别赋予每个层次不同的功能。
图4说明了MPEG-2 体系的句法结构,通过这种分层排列的结构特征,MPEG-2提高了系统的灵活性和管理效率,使得每一层都可以用来支持一个特定的功能。
码流快编大部分应用于VSL、GOPL、PL层,特别是在GOPL,需要在还原时规范翻译PID、PCR、PTS/DTS等信息,将同步信息、闭合标记、断链标记等数据准确插入GOP图像组,以形成每组GOP数据流的起点,才能保证图像帧的精确和连续帧的同步接续。
第三个过程是将拆包后所得数据信息,以规范的装填还原MPEG-2 ES以及元数据,因而装填数据是码流快编的重要技术环节。
(1)装填复用的基本码流包依据MPEG-2 TS规范结构(如图5所示),复用的基本码流包(Packetized Elementary Stream,PES)是由包头、自适应区的ES特有信息和包数据3部分所组成。
由于包头和ES特有信息二者可合成1个数据头,因而可认为1个PES 包是由包头和包数据(有效载荷)2个部分所组成。
对有线、卫星、地面广播网接收的TS,经过解调和解扰处理后选取包长为188B的SPTS,并从包头中提取相关信息,以PID区别不同SPTS包,以连续计数器的顺序计对标注PID的TS 包重建一个独立分组的PES。
根据自适应区中的填充数据,装填到不为TS包整数倍的PES包中,以保证PES变长包的完整性。
同时,依据包头及自适应区内的同步字节、原始程序参考时钟(Original Program Clock Reference,OPCR)、PCR等同步和识别信息,提供27MHz的解码同步时钟,装填共同时间基准、独立时间基准、可变包长和有效载荷等数据。
装填成为PES对码流快编具有格外重要的意义,因为PES包内含音/视频的ES以及包括PID的12个包头识别标志,当对 PES包的起点不能精确定位、对PES包头标志符不能准确识别时,就不能保证拆包后再打包的图像无缝接续和声画同步。
这是在初期研发过程中遇到并获得突破的技术难点。
(2)装填基本码流根据MPEG-2规范的PES包结构(如图6),还需进一步装填为连续ES流。
ES是指只包含1个信源的数据流,即视频数据流或音频数据流。
每个ES由若干个缓存器的特定存取单元(Access Unit,AU)所组成,而每个视频AU或音频AU都是由头部和编码数据的2部分。
1个AU相当于编码的1帧视频图像或1个音频帧的取样。
PES的包头为恢复ES提供了向导。
对于PES包头,具有ES特有信息的显示时间标记(Presentation Time Stamp,PTS)、解码时间标记(Decode Time Stamp,DTS)标志、基本流时钟基准(Elementary Stream Clock Reference,ESCR)信息标志、基本流速率信息标志、数字存储媒体(Digital Storage Media,DSM)的特技信息标志等等,其中,唯有PTS/DTS 标志,是解决视音频同步显示,防止输入缓存器上溢或下溢的关键所在。
在装填过程中,数据定位指示符引导PES还原所包含的视频、音频及所属其它数据流(如同步、数据和数据通道等),包头识别标志的PTS/DTS指示了可变长度包数据的帧同步时间,当区分音/视频和其它数据以后,依据PTS/DTS对视频帧分配给特定的AU。
其中尤以独立时间基准是还原ES的同步基础。
对于PES包数据,一方面通过扩展标志的数据包计数器,引导恢复数据流,另一方面利用循环冗余校验(Cyclic Redundancy Check,CRC)辅助检测并纠正可能存在的数据包丢失。
4. 精确帧定位帧定位是精确编辑的基础,而精确的帧定位来自于精确的帧同步。
在ES上实现逐帧精确的编辑,首要问题是实现精确帧的同步。
如前所述,装填后的ES变成仅含有1种性质的PES包,或视频ES,或音频ES。
以视频为例,图7表明了在PTS/DTS标示的独立同步时间基准指示下,顺序装填再顺序读出,形成连续ES的I1P4B2B3P7B5B6(N=7)GOP组帧顺序。
由于PES的数据分组是可变长度的数据包,但它的最大包数据容量为65526Byte。
因此,在码流快编中必须为每个AU准备必不可少的缓存空间。
如图7所示,PTS表明图像帧出现在目标解码器(System Target Decoder,STD)的时间,DTS表明将存取单元全部字节从STD的ES解码缓存器移出的时刻。