CN111131858B - 一种基于ts视频pid的固定码率的方法 - Google Patents
一种基于ts视频pid的固定码率的方法 Download PDFInfo
- Publication number
- CN111131858B CN111131858B CN201911394253.0A CN201911394253A CN111131858B CN 111131858 B CN111131858 B CN 111131858B CN 201911394253 A CN201911394253 A CN 201911394253A CN 111131858 B CN111131858 B CN 111131858B
- Authority
- CN
- China
- Prior art keywords
- video
- packets
- pid
- rate
- audio
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23614—Multiplexing of additional data and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4343—Extraction or processing of packetized elementary streams [PES]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Time-Division Multiplex Systems (AREA)
Abstract
本发明公开了一种基于TS视频PID的固定码率的方法。它在TS包中,输出的PID包括PSI、Audio、Video、Null Packet,其中PSI包括PAT和PMT,设定TS的输出码率为Mux‑rate,Video的PID码率为Video‑pid‑rate,PAT/PMT输出时间间隔设定成PSI‑interval,Audio的码率为Audio‑rate,Video为CBR且平均码率为Video‑rate;在复用过程中发现,如果Video的PID码率低于Video‑pid‑rate,则将该PID的包复用成只带有Adaptation field字段,从而保证Video的PID码率是固定的。本发明的有益效果是:在不影响视频质量的情况下保证每个输出PID的码率都是固定的。
Description
技术领域
本发明涉及视频处理相关技术领域,尤其是指一种基于TS视频PID的固定码率的方法。
背景技术
TS(Transport Stream:ISO/IEC 13818-1)文件格式,如图1所示,是目前应用最广的传输格式之一。在广电领域中,从播出端到接收端都有大量的测试规范要求,其中对视频码率的波动测试也是非常严格。为了保证接收端(如机顶盒)的稳定性,要求TS输出的每个PID码率都必须是固定的。我们知道,视频码率主要有两种CBR(constant bitrate)和VBR(variable bitrate),而对CBR来说,意味着在一段时间内传输给解码端的比特数是一定的,即平均码率是固定的,并非是每帧的大小都是固定的。为了保证Video的PID输出码率是固定的,简单的做法就是编码器把每帧的大小固定,但这样做不仅提高了编码的复杂度,更为严重的是大大降低了视频质量。
发明内容
本发明是为了克服现有技术中存在上述的不足,提供了一种能够保证视频质量的基于TS视频PID的固定码率的方法。
为了实现上述目的,本发明采用以下技术方案:
一种基于TS视频PID的固定码率的方法,在TS包中,输出的PID包括PSI、Audio、Video、Null Packet,其中PSI包括PAT和PMT,设定TS的输出码率为Mux-rate,Video的PID码率为Video-pid-rate,PAT/PMT输出时间间隔设定成PSI-interval,Audio的码率为Audio-rate,Video为CBR且平均码率为Video-rate;在复用过程中发现,如果Video的PID码率低于Video-pid-rate,则将该PID的包复用成只带有Adaptation field字段,从而保证Video的PID码率是固定的。
本发明提供了上述方法,可以在不影响视频质量的情况下保证每个输出PID的码率都是固定的。
作为优选,具体的操作方法如下:计算每秒TS包的个数Total-packets,计算每秒PAT/PMT包的个数PSI-packets及其对应的复用周期PSI-period,计算每秒Audio包的个数Audio-packets及其对应的复用周期Audio-period,计算每秒Video包的个数,计算每秒Null Packet的个数Null-packets及其对应的复用周期Null-period;在复用的时候,以接收到的video packet为基准,PSI,Audio,Null packet的复用周期按照之前计算好的进行固定插入;由于video packet每帧大小并不相同,如果发现video的PID码率没有达到Video-pid-rate,需要将该packet复用成只带Adaptation field字段,从而达到Video-pid-rate。其中:需要将该packet复用成只带Adaptation field字段的意思是:整个TS包(188字节),除了TS Header(前面4个字节),后续的包的内容都是Adaptation field,Adaptation field内容都是填充数据(0xFF),这样来保证Video的PID码率是固定的。
作为优选,计算每秒TS包的个数Total-packets=Mux-rate/(8*188)。
作为优选,计算每秒PAT/PMT包的个数PSI-packets=1000*2/PSI-interval;其对应的复用周期PSI-period=Total-packets/PSI-packets。
作为优选,计算每秒Audio包的个数,解析对应的Audio规范中获取Audio-frame-size;
将获取到的Audio-frame-size换算成在TS包中的大小,即Audio-frame-size=(Audio-frame-size+183)/184*188;
Audio-packets=Audio-frame-size*1000/(32*188);
对应的复用周期Audio-period=Total-packets/Audio-packets。
作为优选,计算每秒Video包的个数Video-packets=(Video-pid-rate*Total-packets)/Mux-rate。
作为优选,计算每秒Null Packet的个数Null-packets=Total-packets-PSI-packets-Audio-packets-Video-packets;对应的复用周期Null-period=Total-packets/Null-packets。Video的PID码率为Video-pid-rate波动不超过1%,PAT/PMT输出时间间隔设定成PSI-interval不能超过500ms,Video的平均码率为Video-rate必须小于Video-pid-rate。
本发明的有益效果是:在不影响视频质量的情况下保证每个输出PID的码率都是固定的。
附图说明
图1是本发明中TS的结构示意图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的描述。
如图1所述的实施例中,一种基于TS视频PID的固定码率的方法,在TS包中,输出的PID包括PSI、Audio、Video、Null Packet,其中PSI包括PAT和PMT,设定TS的输出码率为Mux-rate,Video的PID码率为Video-pid-rate(波动不超过1%),PAT/PMT输出时间间隔设定成PSI-interval(不能超过500ms),Audio的码率为Audio-rate,Video为CBR且平均码率为Video-rate(必须小于Video-pid-rate);在复用过程中发现,如果Video的PID码率低于Video-pid-rate,则将该PID的包复用成只带有Adaptation field字段,从而保证Video的PID码率是固定的,而且对实际的视频数据没有影响,从而不会影响到视频质量。
具体的操作方法如下:
计算每秒TS包的个数Total-packets=Mux-rate/(8*188);
计算每秒PAT/PMT包的个数PSI-packets=1000*2/PSI-interval;对应的复用周期PSI-period=Total-packets/PSI-packets;
计算每秒Audio包的个数Audio-packets(以AC3为例,采样率为48K,一帧的时长为32ms),解析对应的Audio规范中获取Audio-frame-size;
将获取到的Audio-frame-size换算成在TS包中的大小,即Audio-frame-size=(Audio-frame-size+183)/184*188;
Audio-packets=Audio-frame-size*1000/(32*188);
对应的复用周期Audio-period=Total-packets/Audio-packets;
计算每秒Video包的个数(以编码帧率为25fps,PCR间隔为35ms为例),Video-packets=(Video-pid-rate*Total-packets)/Mux-rate;
计算每秒Null Packet的个数Null-packets,
Null-packets=Total-packets-PSI-packets-Audio-packets-Video-packets;
对应的复用周期Null-period=Total-packets/Null-packets;
在复用的时候,以接收到的video packet为基准,PSI,Audio,Null packet的复用周期按照之前计算好的进行固定插入;由于video packet每帧大小并不相同,如果发现video的PID码率没有达到Video-pid-rate,需要将该packet复用成只带Adaptation field字段(意思是:整个TS包(188字节),除了TS Header(前面4个字节),后续的包的内容都是Adaptation field,Adaptation field内容都是填充数据(0xFF),这样来保证Video的PID码率是固定的),从而达到Video-pid-rate,即:
if(V-dts>T-pcr){
复用成只带Adaptation field的TS packet
}
其中V-dts指的是当前Video的DTS(Decoding Time Stamp),T-pcr指的是当前TSpacket的PCR(Program Clock Reference),PCR与TS的Mux Rate的关系如下:
其中:
t(i)指的是TS的Mux Rate;
PCR(i”)为以该系统时钟(system clock)为单位,在节目时钟参考基准(programclock reference base)与扩展字段中的编码时间;
i为传输流中任意字节索引号,其中i”<i<i';
i'为包含适用于即将解码的节目的紧随program_clock_reference_base字段的最后比特节索引号;
i”为包含适用于即将解码的节目的最近program_clock_reference_base字段的最后比特节索引号。
通过上述机制,可以保证TS的各个PID的码率都是固定的。用专业的码流分析仪(罗德与施瓦茨R&S)分析,Video的PID固定码率误差远低于1%。
Claims (8)
1.一种基于TS视频PID的固定码率的方法,其特征是,在TS包中,输出的PID包括PSI、Audio、Video、Null Packet,其中PSI包括PAT和PMT,设定TS的输出码率为Mux-rate,Video的PID码率为Video-pid-rate,PAT/PMT输出时间间隔设定成PSI-interval,Audio的码率为Audio-rate,Video为CBR且平均码率为Video-rate;在复用过程中发现,如果Video的PID码率低于Video-pid-rate,则将该PID的包复用成只带有Adaptation field字段,即:整个TS包,除了TS Header,后续的包的内容都是Adaptation field,Adaptation field内容都是填充数据0xFF,从而保证Video的PID码率是固定的。
2.根据权利要求1所述的一种基于TS视频PID的固定码率的方法,其特征是,具体的操作方法如下:计算每秒TS包的个数Total-packets,计算每秒PAT/PMT包的个数PSI-packets及其对应的复用周期PSI-period,计算每秒Audio包的个数Audio-packets及其对应的复用周期Audio-period,计算每秒Video包的个数,计算每秒Null Packet的个数Null-packets及其对应的复用周期Null-period;在复用的时候,以接收到的video packet为基准,PSI,Audio,Null packet的复用周期按照之前计算好的进行固定插入;由于video packet每帧大小并不相同,如果发现video的PID码率没有达到Video-pid-rate,需要将该packet复用成只带Adaptation field字段,从而达到Video-pid-rate。
3.根据权利要求2所述的一种基于TS视频PID的固定码率的方法,其特征是,计算每秒TS包的个数Total-packets=Mux-rate/(8*188)。
4.根据权利要求3所述的一种基于TS视频PID的固定码率的方法,其特征是,计算每秒PAT/PMT包的个数PSI-packets=1000*2/PSI-interval;其对应的复用周期PSI-period=Total-packets/PSI-packets。
5.根据权利要求4所述的一种基于TS视频PID的固定码率的方法,其特征是,计算每秒Audio包的个数,解析对应的Audio规范中获取Audio-frame-size;将获取到的Audio-frame-size换算成在TS包中的大小,即Audio-frame-size=(Audio-frame-size+183)/184*188;
Audio-packets=Audio-frame-size*1000/(32*188);
对应的复用周期Audio-period=Total-packets/Audio-packets。
6.根据权利要求5所述的一种基于TS视频PID的固定码率的方法,其特征是,计算每秒Video包的个数Video-packets=(Video-pid-rate*Total-packets)/Mux-rate。
7.根据权利要求6所述的一种基于TS视频PID的固定码率的方法,其特征是,计算每秒Null Packet的个数Null-packets=(Total-packets)-(PSI-packets)-(Audio-packets)-(Video-packets);对应的复用周期Null-period=Total-packets/Null-packets。
8.根据权利要求1或2或3或4或5或6或7所述的一种基于TS视频PID的固定码率的方法,其特征是,Video的PID码率为Video-pid-rate波动不超过1%,PAT/PMT输出时间间隔设定成PSI-interval不能超过500ms,Video的平均码率为Video-rate必须小于Video-pid-rate。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911394253.0A CN111131858B (zh) | 2019-12-30 | 2019-12-30 | 一种基于ts视频pid的固定码率的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911394253.0A CN111131858B (zh) | 2019-12-30 | 2019-12-30 | 一种基于ts视频pid的固定码率的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111131858A CN111131858A (zh) | 2020-05-08 |
CN111131858B true CN111131858B (zh) | 2022-03-08 |
Family
ID=70504980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911394253.0A Active CN111131858B (zh) | 2019-12-30 | 2019-12-30 | 一种基于ts视频pid的固定码率的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111131858B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102572521A (zh) * | 2012-01-18 | 2012-07-11 | 北京瀚景锦河科技有限公司 | 一种自动分配传输流视频基本码流码率的方法和系统 |
CN102780880A (zh) * | 2011-06-29 | 2012-11-14 | 上海子鼠云计算技术有限公司 | 云计算终端及其编解码控制方法 |
CN107682716A (zh) * | 2016-08-02 | 2018-02-09 | 北京数码视讯科技股份有限公司 | 一种码率控制方法和装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020097678A1 (en) * | 2001-01-23 | 2002-07-25 | Bisher James A. | Method and apparatus for bandwidth management associated with misbehaving sessions |
US7065213B2 (en) * | 2001-06-29 | 2006-06-20 | Scientific-Atlanta, Inc. | In a subscriber network receiving digital packets and transmitting digital packets below a predetermined maximum bit rate |
KR100663565B1 (ko) * | 2004-12-08 | 2007-01-02 | 삼성전자주식회사 | Pcr 및 데이터 레이트의 보정 장치 및 보정 방법 |
US7778173B2 (en) * | 2005-01-04 | 2010-08-17 | Cisco Technology, Inc. | Clock recovery algorithm for remultiplexing MPEG-2 SPTSs and/or MPTSs in the presence of network jitter |
JP4896600B2 (ja) * | 2006-06-20 | 2012-03-14 | 三菱電機株式会社 | デジタル放送受信装置及びその選局処理方法 |
US7899089B2 (en) * | 2008-07-09 | 2011-03-01 | Ericsson Television, Inc. | Constant bit rate padding of MPEG transport streams |
CN101945265B (zh) * | 2010-08-19 | 2013-05-08 | 北京市博汇科技有限公司 | 一种基于带宽占用率的多节目恒码率ts流复用方法 |
CN101969550B (zh) * | 2010-09-03 | 2016-09-14 | 深圳创维数字技术有限公司 | 一种ip视频流复用方法及其系统 |
CN110139144B (zh) * | 2018-03-30 | 2020-10-23 | 电子科技大学 | 一种基于智能家居中电视分享方法 |
-
2019
- 2019-12-30 CN CN201911394253.0A patent/CN111131858B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102780880A (zh) * | 2011-06-29 | 2012-11-14 | 上海子鼠云计算技术有限公司 | 云计算终端及其编解码控制方法 |
CN102572521A (zh) * | 2012-01-18 | 2012-07-11 | 北京瀚景锦河科技有限公司 | 一种自动分配传输流视频基本码流码率的方法和系统 |
CN107682716A (zh) * | 2016-08-02 | 2018-02-09 | 北京数码视讯科技股份有限公司 | 一种码率控制方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111131858A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8135020B1 (en) | Packet schedule timestamp for a compressed bitstream | |
US9281011B2 (en) | System and methods for encoding live multimedia content with synchronized audio data | |
US6456782B1 (en) | Data processing device and method for the same | |
US20050259946A1 (en) | Video editing apparatus and video editing method | |
US8483053B2 (en) | Information processing device, information processing method, program, and data structure | |
CN101605252B (zh) | 将节目流转换成传输流的方法和系统 | |
CN101179736B (zh) | 一种传输流节目转换成中国移动多媒体广播节目的方法 | |
CN100352278C (zh) | 保持输入的输送流与节目流解码器之间同步的方法和设备 | |
CN112740325B (zh) | 即时播放帧(ipf)的生成、传输及处理的方法、设备及系统 | |
CN109640162B (zh) | 码流转换方法及系统 | |
CN108122558B (zh) | 一种latm aac音频流的实时转容实现方法及装置 | |
US6965601B1 (en) | Data transmitting method and data transmitter | |
EP2003844A1 (en) | System and method for transport of a constant bit rate stream | |
US20200221160A1 (en) | Decoding device, reception device, transmission device, transmission/reception system, decoding method, and storage medium having decoding program stored therein | |
CN111131858B (zh) | 一种基于ts视频pid的固定码率的方法 | |
CN108924634A (zh) | 一种ts流快速识别方法及装置 | |
JPH11112573A (ja) | データ多重化装置およびデータ多重化方法、データ処理装置装置およびデータ処理方法、並びに伝送媒体 | |
CN113747209B (zh) | 多路ts流节目的重组方法及装置 | |
CN102572521B (zh) | 一种自动分配传输流视频基本码流码率的方法和系统 | |
US8605599B2 (en) | Method and apparatus for processing asynchronous audio stream | |
CN100421449C (zh) | 网络数字电视系统时钟同步保持的控制方法 | |
US7949052B1 (en) | Method and apparatus to deliver a DVB-ASI compressed video transport stream | |
KR100760260B1 (ko) | 타이밍정보의 효율적 전송을 위한 전송스트림 생성 장치및 그 방법과, 그를 이용한 디엠비 전송 시스템 | |
US20080123732A1 (en) | Method and system for configuring decoding based on detecting transport stream input rate | |
CN110248220A (zh) | 一种电子节目指南封装方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |