CN102970598A - 一种机顶盒解复用ts传输流的方法及系统 - Google Patents
一种机顶盒解复用ts传输流的方法及系统 Download PDFInfo
- Publication number
- CN102970598A CN102970598A CN2012105311008A CN201210531100A CN102970598A CN 102970598 A CN102970598 A CN 102970598A CN 2012105311008 A CN2012105311008 A CN 2012105311008A CN 201210531100 A CN201210531100 A CN 201210531100A CN 102970598 A CN102970598 A CN 102970598A
- Authority
- CN
- China
- Prior art keywords
- demultiplexing
- transport stream
- data
- top box
- packet
- 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.)
- Granted
Links
Abstract
本发明涉及数字电视机顶盒技术领域,本发明公开了一种机顶盒解复用TS传输流的方法,其具体包含以下步骤:1.发送端对多路节目进行复用;2.解复用进程读识别出TS包;3.解析TS包头;4.解析节目关联表PAT;5.根据节目映射表PMT包中音频数据的PID和视频数据的PID,在TS传输流中找到相应的音频TS数据包和视频TS数据包,并对音频TS数据包和视频TS数据包进行解析,得到解复用后的音频数据和视频数据并进行输出。不需要增加任何的硬件成本,降低了机顶盒的生产成本,同时也增加了机顶盒中CPU的利用率。
Description
技术领域
本发明涉及机顶盒技术领域,尤其涉及一种机顶盒解复用TS传输流的方法及系统。
背景技术
MPEG-2是ISO/IEC/JTC1/SC29/WG11制定的图像压缩标准,它是为了适应数字电视节目的生成、编辑、存储、传输和现实的综合要求而研发的,广泛用于数字电视广播和DVD。数字电视基本上都采用MPEG-2标准进行压缩、打包传输,而IPTV为了能与数字电视广播节目相兼容,它的音视频也采用MPEG-2标准。为了提高带宽利用率,发送端一般都会对多路节目进行复用,形成节目传输流(Multip program transport stream),简称TS传输流,所以我们IPTV机顶盒端就需要对接收到的流或者经TS封装过的文件进行解复用。现有技术中解复用一般采用硬件解复用电路实现,硬件解复用无疑会增加机顶盒的成本,而且硬件解复用电路只能解复用TS媒体,造成了对硬件资源的浪费。
发明内容
本发明的目的是针对现有技术中采用硬件解复用电路导致机顶盒成本高的技术问题,提供一种机顶盒解复用TS传输流的方法。本发明还公开了一种机顶盒解复用TS传输流的系统。
本发明的目的通过下述技术方案来实现:
一种机顶盒解复用TS传输流的方法,其具体包含以下步骤:1.发送端对多路节目进行复用,形成TS传输流传输给机顶盒CPU进行解复用;2.解复用进程读取TS传输流数据,根据TS包的标志位识别出TS包;3.解析TS包头,根据分组标识符PID找到节目关联表PAT,其中PAT的分组标识符PID=0;4,解析节目关联表PAT,得到节目映射表PMT的分组标识符PID,根据节目映射表PMT的分组标示符PID,找到节目映射表PMT包;5.根据节目映射表PMT包中音频数据的PID和视频数据的PID,在TS传输流中找到相应的音频TS数据包和视频TS数据包,并对音频TS数据包和视频TS数据包进行解析,得到解复用后的音频数据和视频数据并进行输出。
更进一步地,上述步骤1还包括将TS传输流写入共享内存池,机顶盒CPU从共享内存池中读取TS传输流并放入解复用缓存中,以进行后续的解复用处理。
更进一步地,上述方法还包括采用多个解复用进程解析解复用缓存中的数据,多个解复用进程共享共享缓存池中的数据。
更进一步地,上述共享内存的方式为指派方式,共享内存设置读、写指针,将写指针指派给将TS传输流写入共享内存的中间件,将读指针指派给将TS传输流从共享内存中读出的解复用进程。
更进一步地,上述方法还包括计算共享缓存池中的数据大小,并将数据划成小于或者等于固定大小的数据送入解复用队列中。
本发明还公开了一种机顶盒解复用TS传输流的系统,其具体包括发送端、接收端,所述发送端用于对多路节目进行复用,形成TS传输流传输给接收端;所述接收端包括机顶盒CPU,所述机顶盒CPU用于解复用;所述机顶盒CPU中运行解复用进程,所述解复用进程包括读取模块、解析模块、输出模块,所述读取模块用于读取TS传输流数据,根据TS包的标志位识别出TS包。所述解析模块用于解析TS包头,根据分组标识符PID找到节目关联表PAT,其中PAT的分组标识符PID=0;解析节目关联表PAT,得到节目映射表PMT的分组标识符PID,根据节目映射表PMT的分组标示符PID,找到节目映射表PMT包;根据节目映射表PMT包中音频数据的PID和视频数据的PID,在TS传输流中找到相应的音频TS数据包和视频TS数据包,并对音频TS数据包和视频TS数据包进行解析。所述输出模块用于将得到的解复用后的音频数据和视频数据进行输出。
更进一步地,上述系统还包括共享内存模块,所述共享内存模块采用中间件将TS传输流写入共享内存池,机顶盒CPU从共享内存池中读取TS传输流并放入解复用缓存中,以进行后续的解复用处理。
更进一步地,上述还包括多进程处理模块,所述多进程处理模块用于采用多个解复用进程解析解复用缓存中的数据,多个解复用进程共享共享缓存池中的数据。
更进一步地,上述系统还包括指派模块,所述指派模块用于共享内存的共享控制,共享内存设置读、写指针,将写指针指派给将TS传输流写入共享内存的中间件,将读指针指派给将TS传输流从共享内存中读出的解复用进程。
更进一步地,上述系统还包括数据大小计算模块,所述数据大小计算模块用于计算共享缓存池中的数据大小,并将数据划成小于或者等于固定大小的数据送入解复用队列中。
通过采用以上技术方案,本发明具有以下有益效果:使得在机顶盒中不需要增加解复用电路就可以实现对TS传输流的解复用,上述机顶盒解复用的方法采用在机软件的方式运行在机顶盒的CPU中,不需要增加任何的硬件成本,降低了机顶盒的生产成本,同时也增加了机顶盒中CPU的利用率。同时解复用的效率高,成本低。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合具体实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明公开了一种机顶盒解复用TS传输流的方法,其具体包含以下步骤:1.发送端对多路节目进行复用,形成TS传输流传输给机顶盒CPU进行解复用;2.解复用进程读取TS传输流数据,根据TS包的标志位识别出TS包;3.解析TS包头,根据分组标识符PID找到节目关联表PAT,其中PAT的分组标识符PID=0;4,解析节目关联表PAT,得到节目映射表PMT的分组标识符PID,根据节目映射表PMT的分组标示符PID,找到节目映射表PMT包;5.根据节目映射表PMT包中音频数据的PID和视频数据的PID,在TS传输流中找到相应的音频TS数据包和视频TS数据包,并对音频TS数据包和视频TS数据包进行解析,得到解复用后的音频数据和视频数据并进行输出。通过采用上述技术方案,使得在机顶盒中不需要增加解复用电路就可以实现对TS传输流的解复用,上述机顶盒解复用的方法采用在机软件的方式运行在机顶盒的CPU中,不需要增加任何的硬件成本,降低了机顶盒的生产成本,同时也增加了机顶盒中CPU的利用率。
更进一步地,上述步骤1还包括将TS传输流写入共享内存池,机顶盒CPU从共享内存池中读取TS传输流并放入解复用缓存中,以进行后续的解复用处理。通过设置共享内存池,TS传输流数据的存取通过共享实现,减少了数据的拷贝,提高了机顶盒的效率。
更进一步地,上述方法还包括采用多个解复用进程解析解复用缓存中的数据,多个解复用进程共享共享缓存池中的数据。一方面采用多个解复用进程,提高了机顶盒的效率,另外一方面多个进程共享数据,减少数据拷贝,提高效率。
更进一步地,上述共享内存的方式为指派方式,共享内存设置读、写指针,将写指针指派给将TS传输流写入共享内存的中间件,将读指针指派给将TS传输流从共享内存中读出的解复用进程。中间件只将TS传输流写入共享内存,解复用进程只将TS传输流从共享内存中读出至解复用缓存中。中间件对共享内存只有写的权限,解复用进程对共享内存只有读的权限。因此采用指派的方式就完成了共享内存的控制,数据的读写,只需要关注进程指派的共享缓存的读写指针位置,不需要对共享缓存进行加锁保护,减少了数据拷贝,加快了对数据的操作,也降低了CPU的消耗,这种方式更显现出其高效、快速的优势。
更进一步地,上述方法还包括计算共享缓存池中的数据大小,并将数据划成小于或者等于固定大小的数据送入解复用队列中。读取进程判断该数据是TS数据,则计算出可读取的数据大小,然后将数据划成小于或等于固定大小的,如1316的数据块送入解复用队列中。解复用队列有数据后,解复用进程使用出队操作取出数据,进行解复用。
本发明还公开了一种机顶盒解复用TS传输流的系统,其具体包括发送端、接收端,所述发送端用于对多路节目进行复用,形成TS传输流传输给接收端;所述接收端包括机顶盒CPU,所述机顶盒CPU用于解复用;所述机顶盒CPU中运行解复用进程,所述解复用进程包括读取模块、解析模块、输出模块,所述读取模块用于读取TS传输流数据,根据TS包的标志位识别出TS包。
所述解析模块用于解析TS包头,根据分组标识符PID找到节目关联表PAT,其中PAT的分组标识符PID=0;解析节目关联表PAT,得到节目映射表PMT的分组标识符PID,根据节目映射表PMT的分组标示符PID,找到节目映射表PMT包;根据节目映射表PMT包中音频数据的PID和视频数据的PID,在TS传输流中找到相应的音频TS数据包和视频TS数据包,并对音频TS数据包和视频TS数据包进行解析。
所述输出模块用于将得到的解复用后的音频数据和视频数据进行输出。通过采用上述技术方案,使得在机顶盒中不需要增加解复用电路就可以实现对TS传输流的解复用,上述机顶盒解复用的方法采用在机软件的方式运行在机顶盒的CPU中,不需要增加任何的硬件成本,降低了机顶盒的生产成本,同时也增加了机顶盒中CPU的利用率。
更进一步地,上述系统还包括共享内存池,采用中间件将TS传输流写入共享内存池,机顶盒CPU从共享内存池中读取TS传输流并放入解复用缓存中,以进行后续的解复用处理。通过设置共享内存池,TS传输流数据的存取通过共享实现,减少了数据的拷贝,提高了机顶盒的效率。
更进一步地,上述系统还包括多进程处理模块,所述多进程处理模块用于采用多个解复用进程解析解复用缓存中的数据,多个解复用进程共享共享缓存池中的数据。一方面采用多个解复用进程,提高了机顶盒的效率,另外一方面多个进程共享数据,减少数据拷贝,提高效率。
更进一步地,上述系统还包括指派模块,所述指派模块用于共享内存的共享控制,共享内存设置读、写指针,将写指针指派给将TS传输流写入共享内存的中间件,将读指针指派给将TS传输流从共享内存中读出的解复用进程。中间件只将TS传输流写入共享内存,解复用进程只将TS传输流从共享内存中读出至解复用缓存中。中间件对共享内存只有写的权限,解复用进程对共享内存只有读的权限。因此采用指派的方式就完成了共享内存的控制,数据的读写,只需要关注进程指派的共享缓存的读写指针位置,不需要对共享缓存进行加锁保护,减少了数据拷贝,加快了对数据的操作,也降低了CPU的消耗,这种方式更显现出其高效、快速的优势。
更进一步地,上述系统还包括数据大小计算模块,所述数据大小计算模块用于计算共享缓存池中的数据大小,并将数据划成小于或者等于固定大小的数据送入解复用队列中。读取进程判断该数据是TS数据,则计算出可读取的数据大小,然后将数据划成小于或等于固定大小的,如1316的数据块送入解复用队列中。解复用队列有数据后,解复用进程使用出队操作取出数据,进行解复用。
采用上述本发明的技术方案,使得无需硬件模块支持,通过CPU算法软解复用ts格式封装的文件和媒体流。根据DVB-13818数字电视规范设计,兼容网络流和本地文件形式的TS数据。共享数据缓存的访问及保护采用使用权指派方式取代加锁的方式。
上述的实施例中所给出的系数和参数,是提供给本领域的技术人员来实现或使用本发明的,本发明并不限定仅取前述公开的数值,在不脱离本发明的发明思想的情况下,本领域的技术人员可以对上述实施例作出种种修改或调整,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。
Claims (10)
1.一种机顶盒解复用TS传输流的方法,其具体包含以下步骤:1.发送端对多路节目进行复用,形成TS传输流传输给机顶盒CPU进行解复用;2.解复用进程读取TS传输流数据,根据TS包的标志位识别出TS包;3.解析TS包头,根据分组标识符PID找到节目关联表PAT,其中PAT的分组标识符PID=0;4,解析节目关联表PAT,得到节目映射表PMT的分组标识符PID,根据节目映射表PMT的分组标示符PID,找到节目映射表PMT包;5.根据节目映射表PMT包中音频数据的PID和视频数据的PID,在TS传输流中找到相应的音频TS数据包和视频TS数据包,并对音频TS数据包和视频TS数据包进行解析,得到解复用后的音频数据和视频数据并进行输出。
2.如权利要求1所述的机顶盒解复用TS传输流的方法,其特征在于所述步骤1还包括将TS传输流写入共享内存池,机顶盒CPU从共享内存池中读取TS传输流并放入解复用缓存中,以进行后续的解复用处理。
3.如权利要求2所述的机顶盒解复用TS传输流的方法,其特征在于所述方法还包括采用多个解复用进程解析解复用缓存中的数据,多个解复用进程共享共享缓存池中的数据。
4.如权利要求3所述的机顶盒解复用TS传输流的方法,其特征在于所述共享内存的方式为指派方式,共享内存设置读、写指针,将写指针指派给将TS传输流写入共享内存的中间件,将读指针指派给将TS传输流从共享内存中读出的解复用进程。
5.如权利要求4所述的机顶盒解复用TS传输流的方法,其特征在于所述方法还包括计算共享缓存池中的数据大小,并将数据划成小于或者等于固定大小的数据送入解复用队列中。
6.一种机顶盒解复用TS传输流的系统,其特征在于包括发送端、接收端,所述发送端用于对多路节目进行复用,形成TS传输流传输给接收端;所述接收端包括机顶盒CPU,所述机顶盒CPU用于解复用;所述机顶盒CPU中运行解复用进程,所述解复用进程包括读取模块、解析模块、输出模块,所述读取模块用于读取TS传输流数据,根据TS包的标志位识别出TS包;
所述解析模块用于解析TS包头,根据分组标识符PID找到节目关联表PAT,其中PAT的分组标识符PID=0;解析节目关联表PAT,得到节目映射表PMT的分组标识符PID,根据节目映射表PMT的分组标示符PID,找到节目映射表PMT包;根据节目映射表PMT包中音频数据的PID和视频数据的PID,在TS传输流中找到相应的音频TS数据包和视频TS数据包,并对音频TS数据包和视频TS数据包进行解析;
所述输出模块用于将得到的解复用后的音频数据和视频数据进行输出。
7.如权利要求6所述的机顶盒解复用TS传输流的系统,其特征在于所述系统还包括共享内存模块,所述共享内存模块采用中间件将TS传输流写入共享内存池,机顶盒CPU从共享内存池中读取TS传输流并放入解复用缓存中,以进行后续的解复用处理。
8.如权利要求7所述的机顶盒解复用TS传输流的系统,其特征在于所述系统还包括多进程处理模块,所述多进程处理模块用于采用多个解复用进程解析解复用缓存中的数据,多个解复用进程共享共享缓存池中的数据。
9.如权利要求8所述的机顶盒解复用TS传输流的系统,其特征在于所述系统还包括指派模块,所述指派模块用于共享内存的共享控制,共享内存设置读、写指针,将写指针指派给将TS传输流写入共享内存的中间件,将读指针指派给将TS传输流从共享内存中读出的解复用进程。
10.如权利要求9所述的机顶盒解复用TS传输流的系统,其特征在于所述系统还包括数据大小计算模块,所述数据大小计算模块用于计算共享缓存池中的数据大小,并将数据划成小于或者等于固定大小的数据送入解复用队列中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210531100.8A CN102970598B (zh) | 2012-12-11 | 2012-12-11 | 一种机顶盒解复用ts传输流的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210531100.8A CN102970598B (zh) | 2012-12-11 | 2012-12-11 | 一种机顶盒解复用ts传输流的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102970598A true CN102970598A (zh) | 2013-03-13 |
CN102970598B CN102970598B (zh) | 2015-06-17 |
Family
ID=47800416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210531100.8A Active CN102970598B (zh) | 2012-12-11 | 2012-12-11 | 一种机顶盒解复用ts传输流的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102970598B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107979776A (zh) * | 2017-12-12 | 2018-05-01 | 青岛海信电器股份有限公司 | 音视频数据的录制方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101355640A (zh) * | 2008-09-11 | 2009-01-28 | 敖发良 | 多显示数字电视机顶盒 |
CN102023961A (zh) * | 2009-09-10 | 2011-04-20 | 中兴通讯股份有限公司 | 一种基于共享内存的通信方法及装置 |
-
2012
- 2012-12-11 CN CN201210531100.8A patent/CN102970598B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101355640A (zh) * | 2008-09-11 | 2009-01-28 | 敖发良 | 多显示数字电视机顶盒 |
CN102023961A (zh) * | 2009-09-10 | 2011-04-20 | 中兴通讯股份有限公司 | 一种基于共享内存的通信方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107979776A (zh) * | 2017-12-12 | 2018-05-01 | 青岛海信电器股份有限公司 | 音视频数据的录制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102970598B (zh) | 2015-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102984576B (zh) | 一种ts传输流媒体音视频剥离的方法及系统 | |
US9848217B2 (en) | Method for transmitting and receiving program configuration information for scalable ultra high definition video service in hybrid transmission environment, and method and apparatus for effectively transmitting scalar layer information | |
US9538199B2 (en) | Data transmission across independent streams | |
US20210185336A1 (en) | Carriage systems encoding or decoding jpeg 2000 video | |
CN102404624A (zh) | 一种数字机顶盒用支持硬件解码的全格式媒体播放器 | |
CN101068367A (zh) | 用于改变编解码器的方法和装置 | |
CN103237255A (zh) | 一种多线程的音视频同步控制方法及系统 | |
CN1666498A (zh) | 从加密的mpeg传输流中构造mpeg节目流的方法 | |
CN101212671A (zh) | 一种低延迟的实时复用传输流的方法 | |
CN101980541A (zh) | 数字电视接收装置及其换台方法 | |
CN1666526A (zh) | 用于jvt视频的通用适配层 | |
WO2019128668A1 (zh) | 视频码流处理方法、装置、网络设备和可读存储介质 | |
CN103686203A (zh) | 视频转码方法及装置 | |
US20210029480A1 (en) | Apparatus, a method and a computer program for delivering audio scene entities | |
US20140112395A1 (en) | Method and apparatus for decoder buffering in hybrid coded video system | |
CN102970598B (zh) | 一种机顶盒解复用ts传输流的方法及系统 | |
CN107787585B (zh) | 用于处理立体视频数据的mmt装置和mmt方法 | |
CN101986712A (zh) | 数字电视接收装置及其换台方法 | |
US10291922B2 (en) | Method and apparatus for decoding an enhanced video stream | |
CN104853243A (zh) | 一种传送流解复用的方法和装置 | |
US20120144443A1 (en) | System and method for executing source buffering for multiple independent group transmission of real-time encoded scalabe video contents | |
US10630745B2 (en) | MMT apparatus and MMT method for processing media data | |
CN107682716B (zh) | 一种码率控制方法和装置 | |
CN109743627A (zh) | 基于avs+视频编码数字电影包的播放方法 | |
CN101466030B (zh) | 一种机顶盒及视频流解码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210514 Address after: No. 6, Jiuhua Road, khuchuang Park, Mianyang, Sichuan Patentee after: Sichuan Jiuzhou Investment Holding Group Co.,Ltd. Address before: 621000 No.6, Jiuhua Road, Mianyang City, Sichuan Province Patentee before: SICHUAN JIUZHOU ELECTRIC GROUP Co.,Ltd. |