CN111131858B - 一种基于ts视频pid的固定码率的方法 - Google Patents

一种基于ts视频pid的固定码率的方法 Download PDF

Info

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
Application number
CN201911394253.0A
Other languages
English (en)
Other versions
CN111131858A (zh
Inventor
王雪辉
谢亚光
李小强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Arcvideo Technology Co ltd
Original Assignee
Hangzhou Arcvideo Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Arcvideo Technology Co ltd filed Critical Hangzhou Arcvideo Technology Co ltd
Priority to CN201911394253.0A priority Critical patent/CN111131858B/zh
Publication of CN111131858A publication Critical patent/CN111131858A/zh
Application granted granted Critical
Publication of CN111131858B publication Critical patent/CN111131858B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling 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/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/266Channel 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/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/434Disassembling 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/4343Extraction 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视频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的关系如下:
Figure GDA0003340951330000051
Figure GDA0003340951330000052
其中:
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。
CN201911394253.0A 2019-12-30 2019-12-30 一种基于ts视频pid的固定码率的方法 Active CN111131858B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 电子科技大学 一种基于智能家居中电视分享方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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
US8483230B1 (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) 码流转换方法及系统
CN101729908A (zh) 一种传输流视音频同步复用方法
CN108122558B (zh) 一种latm aac音频流的实时转容实现方法及装置
US20200221160A1 (en) Decoding device, reception device, transmission device, transmission/reception system, decoding method, and storage medium having decoding program stored therein
US6965601B1 (en) Data transmitting method and data transmitter
US8605599B2 (en) Method and apparatus for processing asynchronous audio stream
EP2165498A2 (en) System and method for transport of a constant bit rate stream
CN111131858B (zh) 一种基于ts视频pid的固定码率的方法
CN101116334B (zh) 用于接合地面数字多媒体广播信号的装置
CN108924634A (zh) 一种ts流快速识别方法及装置
CN113747209B (zh) 多路ts流节目的重组方法及装置
JPH11112573A (ja) データ多重化装置およびデータ多重化方法、データ処理装置装置およびデータ処理方法、並びに伝送媒体
CN102572521B (zh) 一种自动分配传输流视频基本码流码率的方法和系统
KR100760260B1 (ko) 타이밍정보의 효율적 전송을 위한 전송스트림 생성 장치및 그 방법과, 그를 이용한 디엠비 전송 시스템
US7949052B1 (en) Method and apparatus to deliver a DVB-ASI compressed video transport stream
CN110430462B (zh) 基于uhd解码器的快速自动设置方法

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