CN105959730B - 一种生成ts流的打包顺序控制方法 - Google Patents

一种生成ts流的打包顺序控制方法 Download PDF

Info

Publication number
CN105959730B
CN105959730B CN201610367473.4A CN201610367473A CN105959730B CN 105959730 B CN105959730 B CN 105959730B CN 201610367473 A CN201610367473 A CN 201610367473A CN 105959730 B CN105959730 B CN 105959730B
Authority
CN
China
Prior art keywords
audio
video
packet
packing
condition
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
CN201610367473.4A
Other languages
English (en)
Other versions
CN105959730A (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.)
Chengdu Sobey Digital Technology Co Ltd
Original Assignee
Chengdu Sobey Digital 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 Chengdu Sobey Digital Technology Co Ltd filed Critical Chengdu Sobey Digital Technology Co Ltd
Priority to CN201610367473.4A priority Critical patent/CN105959730B/zh
Publication of CN105959730A publication Critical patent/CN105959730A/zh
Application granted granted Critical
Publication of CN105959730B publication Critical patent/CN105959730B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • 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/2368Multiplexing of audio 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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种生成TS流的打包顺序控制方法,按照PSI、PCR、音频、视频和空包的先后顺序,判断先满足打包条件数据类型,再生成该类型的TS包,最终生成符合标准的TS流;且生成每个TS包后,通过模拟解码缓存器,删除播放时间小于TS包对应节目时间的数据;生成每个音频TS包时,模拟一个音频解码器缓存,确保音频解码器缓存大于该TS包节目时间的音频数据量;生成每个视频TS时,模拟一个视频频解码器缓存,确保视频解码器缓存大于该TS包节目时间的视频数据量,进而使得生成的TS流在解码时不会发生缓存的溢出。

Description

一种生成TS流的打包顺序控制方法
技术领域
本发明涉及一种生成TS流的打包顺序控制方法,
背景技术
TS流是MPEG-2格式种类中的一种,其英文全称是(MPEG-2Transport Stream),它是数字电视领域中普遍应用的系统层编码标准;TS流中是固定长度为188字节的连续TS包,通过这些TS包,它包含了丰富的流信息,要解析一个特定的流,首先要解析它由哪些PID(Packet ID)的包构成,再根据PID解析出对应的音视频流;MPEG-2定义了一些用来描述传输流所携带内容的信息表,称为节目特定信息(PSI)表,包括4个与之相关的表,其中,节目关联表PAT和节目映射表PMT是确定当前传输流中各节目内容的最关键的两个表,需在流中周期性重复出现。
由于TS是经过压缩的信号,数据间的相关性很小,而且TS流有着严格的数据格式,因而很小的误差都将导致图像质量的急剧下降甚至无法解码;我国的数字电视技术正在快速发展,为了保证数字电视网络的正常运转和传输质量,必须对TS流进行码流分析,以确保TS流中的信息格式都符合标准规范。
码流分析的信息包括:基本信息、节目信息、PCR信息、音视频缓冲区信息等部分;其中基本信息主要包含TS包同步字节、流码率、流ID等;节目信息包含流中各个节目的节目号、节目名、节目中各信息流PID(Packet ID)的分配等信息;PCR信息显示流中各个PCR的精度和间隔;音视频缓冲区信息是虚拟解码器(STD)在解码当前流时对应缓冲区中原始数据的状态;此外还包括ETR290分析测试,根据测试参数的重要性以及其不同的性质,为3个优先级,其中:第1级包含TS流基本的参数,这些参数保证ts流能够被解码;第2级包含一些附加参数,是保证TS流达到同步后可连续工作必须的参数和周期性监测的参数;第3级是一些特定应用的参数。码流分析工具可对TS流进行完整的分析,对不符合标准的TS流,发出错误警告,即该TS流不能通过监测,不能在数字电视应用中被正常播放。
目前,大部分开源工具生成的TS流,并不能通过码流分析工具的监测,生成的TS流不符合数字电视对流的上线要求。
发明内容
本发明的目的在于克服现有技术的不足,提供一种生成TS流的打包顺序控制方法,按照PSI、PCR、音频、视频和空包的先后顺序,判断先满足打包条件数据类型,再生成该类型的TS包,最终生成符合标准的TS流;且生成每个TS包后,通过模拟解码缓存器,删除播放时间小于TS包对应节目时间的数据。
本发明的目的是通过以下技术方案来实现的:一种生成TS流的打包顺序控制方法,包括以下步骤:
S1.开始生成TS流;
S2.判断音视频是否打包完成:
(1)音视频打包完成,打包结束;
(2)音视频打包没有完成,进入步骤S3;
S3.判断PSI是否满足打包条件:
(1)PSI满足打包条件,连续生成所有节目信息的TS包,并跳转至步骤S8;
(2)PSI不满足打包条件,进入步骤S4;
S4.判断PCR是否满足打包条件:
(1)PCR满足打包条件,生成一个PCR标记的TS包,并跳转至步骤S8;
(2)PCR不满足打包条件,进入步骤S5;
S5.判断音频是否满足打包条件:
(1)音频满足打包条件,生成一个音频TS包,并跳转至步骤S8;
(2)音频不满足打包条件,进入步骤S6;
S6.判断视频是否满足打包条件:
(1)视频满足打包条件,生成一个视频TS包,并跳转至步骤S8;
(2)视频不满足打包条件,进入步骤S7;
S7.生成一个空包并进入步骤S8;
S8.通过模拟解码缓存器,删除播放时间小于TS包对应节目时间的数据;完成当前TS包的生成,并返回步骤S1进行下一个TS包的生成。
步骤S1中如果所有音视频数据均被打包,且TS包的节目时间大于音视频数据的最大播放时间戳,则认为音视频打包完成。
步骤S2中PSI的打包条件为:TS包与上一次打包PSI的节目时间间隔大于PSI阈值,PSI阈值在开始生成TS流之前预先设定。
步骤S3中PCR的打包条件为:TS包与上一次打包PCR的节目时间间隔大于PCR阈值,PCR阈值在开始生成TS流之前预先设定。
步骤S5中对音频是否满足条件的判断包括以下子步骤:
S51.判断音频数据的播放时间与视频数据的播放时间(视频流中准备打包的数据播放时间)大小关系:
(1)如果音频数据的播放时间小于视频数据的播放时间;进入步骤S52;
(2)如果音频数据的播放时间不小于视频数据的播放时间,则不满足音频打包条件;
S52.模拟一个音频解码器缓存,判断判断音频数据的播放时间在大于TS包对应节目时间的固定范围内时,音频模拟解码缓存是否有溢出:
(1)如果音频模拟解码缓存无溢出,则认为满足音频打包条件;
(2)如果音频模拟解码缓存有溢出,则认为不满足音频打包条件。
步骤S6中对视频是否满足条件的判断包括:模拟一个视频解码器缓存,判断视频数据的播放时间在大于TS包对应节目时间的固定范围内、视频模拟解码缓存是否有溢出:
(1)如果视频模拟解码缓存无溢出,则认为满足视频打包条件;
(2)如果视频模拟解码缓存有溢出,则认为不满足视频打包条件。
本发明的有益效果是:按照PSI、PCR、音频、视频和空包的先后顺序,判断先满足打包条件数据类型,再生成该类型的TS包,最终生成符合标准的TS流;且生成每个TS包后,通过模拟解码缓存器,删除播放时间小于TS包对应节目时间的数据;生成每个音频TS包时,模拟一个音频解码器缓存,确保音频解码器缓存大于该TS包节目时间的音频数据量;生成每个视频TS时,模拟一个视频频解码器缓存,确保视频解码器缓存大于该TS包节目时间的视频数据量,进而使得生成的TS流在解码时不会发生缓存的溢出。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
如图1所示,一种生成TS流的打包顺序控制方法,包括以下步骤:
S1.开始生成TS流;
S2.判断音视频是否打包完成:
(1)音视频打包完成,打包结束;
(2)音视频打包没有完成,进入步骤S3;
音视频打包完成,即所有音视频数据已打包完毕;首先所有音视频数据均被打包,其次TS包的节目时间大于音视频数据的最大播放时间戳,满足两个条件后就结束打包任务,确保流中的所有音视频数据均可解码播放;设音频未打包数据长度为la,视频未打包数据长度为lv,已音视频数据的最大播放时间戳ptsmax,TS包的节目时间pcrts,如果la=0,lv=0,且pcrts>ptsmax,则结束打包,否则,进入步骤S3。
S3.判断PSI是否满足打包条件:
(1)PSI满足打包条件,连续生成所有节目信息的TS包,并跳转至步骤S8;
(2)PSI不满足打包条件,进入步骤S4;
TS包与上一次打包PSI信息的节目时间间隔超过阈值则视为满足条件,进行打包;如设置阈值0.5s,则确保PSI信息在0.5s内打包一次。
设PSI阈值为Tpsi,上一次打包PSI的节目时间为pcrpsi,如果当前TS包的节目时间pcrts>pcrpsi+Tpsi,则打包所有节目信息,并更新pcrpsi,更新后的pcrpsi与当前的pcrts相等。
S4.判断PCR是否满足打包条件:
(1)PCR满足打包条件,生成一个PCR标记的TS包,并跳转至步骤S8;
(2)PCR不满足打包条件,进入步骤S5;
TS包与上一次打包PCR信息的节目时间间隔超过阈值,则认为满足条件,进行打包,如设置阈值小于40ms,确保PCR信息在40ms内打包一次。
设PCR阈值为Tpcr,上一次打包PCR的节目时间为pcrpcr,如果当前TS包的节目时间pcrts>pcrpcr+Tpcr,则生成一个PCR标记的TS包,并对pcrpcr进行更新,更新后的pcrpcr等于当前pcrts
S5.判断音频是否满足打包条件:
(1)音频满足打包条件,生成一个音频TS包,并跳转至步骤S8;
(2)音频不满足打包条件,进入步骤S6;
及时打包音频数据,可防止流中音频出现数据下溢,但音频数据连续打包太多会导致流中音频出现数据上溢,设音频模拟解码缓存大小为ma,音频缓存中数据长度为lma,系统时间超时阈值为Tpcra(步骤S52中所述的固定时间,所有音频流的超时阈值均为0.95秒),如果ptsa<ptsv′,ptsa<pcrts+Tpcra,且ma>lma,则满足音频打包条件,ptsa表示当前音频数据的播放时间,ptsv′表示当前视频数据播放时间(视频流中准备打包的数据播放时间)。
S6.判断视频是否满足打包条件:
(1)视频满足打包条件,生成一个视频TS包,并跳转至步骤S8;
(2)视频不满足打包条件,进入步骤S7;
及时打包视数据,可防止流中视频出现数据下溢,但视频数据打包太多会导致流中视频出现数据上溢,设视频模拟解码缓存大小为mv,视频缓存中数据长度为lmv,系统时间超时阈值Tpcra(步骤S6中的固定时间,超时阈值,H264:8秒、MPEG2:0.95秒),如果ptsv<pcrts+Tpcrv,且mv>lmv,则打包一个视频数据的TS包,ptsv表示当前视频数据播放时间。
S7.生成一个空包并进入步骤S8;
S8.通过模拟解码缓存器,删除播放时间小于TS包对应节目时间的数据;完成当前TS包的生成,并返回步骤S1进行下一个TS包的生成。

Claims (6)

1.一种生成TS流的打包顺序控制方法,其特征在于:包括以下步骤:
S1.开始生成TS流;
S2.判断音视频是否打包完成:
(1)音视频打包完成,打包结束;
(2)音视频打包没有完成,进入步骤S3;
S3.判断PSI是否满足打包条件:
(1)PSI满足打包条件,连续生成所有节目信息的TS包,并跳转至步骤S8;
(2)PSI不满足打包条件,进入步骤S4;
S4.判断PCR是否满足打包条件:
(1)PCR满足打包条件,生成一个PCR标记的TS包,并跳转至步骤S8;
(2)PCR不满足打包条件,进入步骤S5;
S5.判断音频是否满足打包条件:
(1)音频满足打包条件,生成一个音频TS包,并跳转至步骤S8;
(2)音频不满足打包条件,进入步骤S6;
S6.判断视频是否满足打包条件:
(1)视频满足打包条件,生成一个视频TS包,并跳转至步骤S8;
(2)视频不满足打包条件,进入步骤S7;
S7.生成一个空包并进入步骤S8;
S8.通过模拟解码缓存器,删除播放时间小于TS包对应节目时间的数据,完成当前TS包的生成,并返回步骤S1进行下一个TS包的生成。
2.根据权利要求1所述的一种生成TS流的打包顺序控制方法,其特征在于:步骤S2中如果所有音视频数据均被打包,且TS包的节目时间大于音视频数据的最大播放时间戳,则认为音视频打包完成。
3.根据权利要求1所述的一种生成TS流的打包顺序控制方法,其特征在于:步骤S3中PSI的打包条件为:TS包节目时间与上一次打包PSI的节目时间间隔大于PSI阈值,PSI阈值在开始生成TS流之前预先设定。
4.根据权利要求1所述的一种生成TS流的打包顺序控制方法,其特征在于:步骤S4中PCR的打包条件为:TS包节目时间与上一次打包PCR的节目时间间隔大于PCR阈值,PCR阈值在开始生成TS流之前预先设定。
5.根据权利要求1所述的一种生成TS流的打包顺序控制方法,其特征在于:步骤S5中对音频是否满足条件的判断包括以下子步骤:
S51.判断音频数据的播放时间与视频数据的播放时间大小关系:
(1)如果音频数据的播放时间小于视频数据的播放时间;进入步骤S52;
(2)如果音频数据的播放时间不小于视频数据的播放时间,则不满足音频打包条件;
S52.模拟一个音频解码器缓存,判断音频数据的播放时间在大于TS包对应节目时间的固定范围内时,音频模拟解码缓存是否有溢出:
(1)如果音频模拟解码缓存无溢出,则认为满足音频打包条件;
(2)如果音频模拟解码缓存有溢出,则认为不满足音频打包条件。
6.根据权利要求1所述的一种生成TS流的打包顺序控制方法,其特征在于:步骤S6中对视频是否满足条件的判断包括:模拟一个视频解码器缓存,判断视频数据的播放时间在大于TS包对应节目时间的固定范围内、视频模拟解码缓存是否有溢出:
(1)如果视频模拟解码缓存无溢出,则认为满足视频打包条件;
(2)如果视频模拟解码缓存有溢出,则认为不满足视频打包条件。
CN201610367473.4A 2016-05-27 2016-05-27 一种生成ts流的打包顺序控制方法 Active CN105959730B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610367473.4A CN105959730B (zh) 2016-05-27 2016-05-27 一种生成ts流的打包顺序控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610367473.4A CN105959730B (zh) 2016-05-27 2016-05-27 一种生成ts流的打包顺序控制方法

Publications (2)

Publication Number Publication Date
CN105959730A CN105959730A (zh) 2016-09-21
CN105959730B true CN105959730B (zh) 2019-01-29

Family

ID=56910749

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610367473.4A Active CN105959730B (zh) 2016-05-27 2016-05-27 一种生成ts流的打包顺序控制方法

Country Status (1)

Country Link
CN (1) CN105959730B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6747998B1 (en) * 1997-08-28 2004-06-08 Sony Corporation Transmitter for multichannel digital data and transmission method
CN1722833A (zh) * 2004-07-12 2006-01-18 三星电子株式会社 产生传输流的多路复用方法和设备
CN101729908A (zh) * 2009-11-03 2010-06-09 上海大学 一种传输流视音频同步复用方法
CN102647616A (zh) * 2012-04-18 2012-08-22 北京大学 一种音视频复用的装置
CN103152607A (zh) * 2013-01-10 2013-06-12 上海思华科技股份有限公司 视频超快速粗编方法
CN103179436A (zh) * 2013-03-14 2013-06-26 北京大学 一种多路节目传输流复用装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6747998B1 (en) * 1997-08-28 2004-06-08 Sony Corporation Transmitter for multichannel digital data and transmission method
CN1722833A (zh) * 2004-07-12 2006-01-18 三星电子株式会社 产生传输流的多路复用方法和设备
CN101729908A (zh) * 2009-11-03 2010-06-09 上海大学 一种传输流视音频同步复用方法
CN102647616A (zh) * 2012-04-18 2012-08-22 北京大学 一种音视频复用的装置
CN103152607A (zh) * 2013-01-10 2013-06-12 上海思华科技股份有限公司 视频超快速粗编方法
CN103179436A (zh) * 2013-03-14 2013-06-26 北京大学 一种多路节目传输流复用装置

Also Published As

Publication number Publication date
CN105959730A (zh) 2016-09-21

Similar Documents

Publication Publication Date Title
CN105453580B (zh) 接收方法、发送方法、接收装置及发送装置
CN108769786A (zh) 一种合成音视频数据流的方法和装置
CN102821308B (zh) 一种多场景流媒体课件录制与直播方法
CN104618786A (zh) 音视频同步方法和装置
CN104581229B (zh) 一种流媒体数据传输装置、方法和系统
CN103024603B (zh) 一种用于解决播放网络视频时短时停顿的装置及方法
CN201781583U (zh) 多路服务器录像回放同步控制系统
CN110868600A (zh) 目标跟踪视频推流方法、显示方法、装置和存储介质
JPH09139677A (ja) 符号化された信号をスプライシングする方法及び装置
CN111770390B (zh) 数据处理方法、装置、服务器及存储介质
US20180192090A1 (en) Method of implementing audio and video live broadcast and server
CN109660805B (zh) 解码播放中音视频同步优化方法、存储介质、设备及系统
CN110139148A (zh) 一种视频切换清晰度的方法及相关装置
EP2628297A1 (en) Method for synchronizing multimedia flows and corresponding device
CN103686315A (zh) 一种音视频同步播放方法及装置
CN109819312B (zh) 基于动态缓冲区的播放器系统及其控制方法
TW200400761A (en) System for random access to content
CN111372138A (zh) 一种播放器端的直播低延迟技术方案
CN109618208A (zh) 一种直播流分布式切片同步方法及装置
WO2012116558A1 (zh) 一种视频质量评估方法及装置
CN109905763A (zh) 优化播放器音频播放卡顿的方法
CN106470291A (zh) 从音频/视频解码器中的时间同步中的中断中恢复
CN103581730A (zh) 在数字机顶盒上实现音视频同步的方法
CN102223539A (zh) 图像编码丢帧花屏的处理方法
CN111131874A (zh) 一种解决h.256码流随机接入点播放卡顿的方法及设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant