CN114640711A - 一种tlv数据包的推送方法、智能终端及存储介质 - Google Patents
一种tlv数据包的推送方法、智能终端及存储介质 Download PDFInfo
- Publication number
- CN114640711A CN114640711A CN202011475651.8A CN202011475651A CN114640711A CN 114640711 A CN114640711 A CN 114640711A CN 202011475651 A CN202011475651 A CN 202011475651A CN 114640711 A CN114640711 A CN 114640711A
- Authority
- CN
- China
- Prior art keywords
- tlv data
- data packet
- tlv
- pushing
- data packets
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
-
- 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/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种TLV数据包的推送方法、智能终端及存储介质,方法包括:获取TLV数据包;根据所述TLV数据包得到与所述TLV数据包对应的推送指示信息;根据所述推送指示信息,对所述TLV数据包进行推送。本发明对TLV数据包进行推送时,通过与TLV数据包对应的推送指示信息,对TLV数据包进行推送,实现了TLV数据包的智能化推送,避免了实际推送的TLV数据包数量大于当前帧的数据包数量,解决了倍速播放过程中TLV数据包推送偏移不准,倍速播放丢帧的问题。
Description
技术领域
本发明涉及多媒体技术领域,具体涉及一种TLV数据包的推送方法、智能终端及存储介质。
背景技术
TLV是一种标准的数据封装协议,是以Type(标签)-Length(标签)-Value(内容)这种三段式的数据组织方式。现有数字电视标准如ATSC3.0,ISDB S3等普遍采用TLV数据包进行数字电视数据传输,对于音视频数据等大数据量的媒体资源会分为多个TLV数据包进行组装与传送,所以在TLV数据包的传送与接收的过程会涉及到拆包和拼包的动作。
电视节目的回放业务,是对录制好的电视节目数据进行重新播放的动作,在此过程中需要支持倍数播放的功能,在倍数播放的过程中,需要进行数据的跳取,即不再是顺序读取数据进行播放,而需要跳过一定的数据量进行读取数据,以满足倍数操作。而现有技术中,对于TLV数据包来说,在对TLV数据包进行推送时,基本都是通过解码关键帧的形式进行推送,无法根据TLV数据包进行智能化推送。。
因此,现有技术还有待于改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种TLV数据包的推送方法、智能终端及存储介质,旨在解决现有电视节目倍速播放中,无法根据TLV数据包进行智能化推送的问题。
本发明解决技术问题所采用的技术方案如下:
一种TLV数据包的推送方法,其中,所述方法包括步骤:
获取TLV数据包;
根据所述TLV数据包,得到与所述TLV数据包对应的推送指示信息;
根据所述推送指示信息,对所述TLV数据包进行推送。
所述的TLV数据包的推送方法,其中,所述推送指示信息为与所述TLV数据包对应的序列号;所述根据所述TLV数据包,得到与所述TLV数据包对应的推送指示信息的步骤包括:
从所述TLV数据包中获取标识字段;
根据所述标识字段,得到与所述TLV数据包对应的序列号。
所述的TLV数据包的推送方法,其中,所述推送指示信息为与所述TLV数据包对应的关键帧,所述根据所述TLV数据包,得到与所述TLV数据包对应的推送指示信息的步骤包括:
将所述TLV数据包拼装成媒体分片单元;
对所述媒体分片单元进行解码,得到与所述TLV数据包对应的关键帧。
所述的TLV数据包的推送方法,其中,所述将所述TLV数据包拼装成媒体分片单元的步骤包括:
从所述TLV数据包中获取分片指示字段;其中,所述分片指示字段用于指示所述TLV数据包在所述媒体分片单元中的位置;
根据所述分片指示字段,将所述TLV数据包拼装成媒体分片单元。
所述的TLV数据包的推送方法,其中,所述根据所述分片指示字段,将所述TLV数据包拼装成媒体分片单元的步骤包括:
根据所述分片指示字段,将所述TLV数据包拼装成媒体处理单元;其中,多个所述媒体处理单元组成所述媒体分片单元;
将所述媒体处理单元拼装成媒体分片单元。
所述的TLV数据包的推送方法,其中,所述对所述媒体分片单元进行解码,得到与所述TLV数据包对应的关键帧的步骤包括:
获取所述媒体分片单元的编码格式;
根据所述编码格式,获取与所述编码格式对应的解码程序;
根据所述解码程序对所述媒体分片单元进行解码,得到与所述TLV数据包对应的关键帧。
所述的TLV数据包的推送方法,其中,所述推送指示信息为与所述TLV数据包对应的序列号或关键帧,所述根据所述推送指示信息,对所述TLV数据包进行推送的步骤包括:
当所述推送指示信息为与所述TLV数据包对应的序列号且所述序列号发生改变时,对所述TLV数据包停止推送;
当所述推送指示信息为与所述TLV数据包对应的关键帧时,对所述TLV数据包进行继续推送。
所述的TLV数据包的推送方法,其中,所述当所述推送指示信息为与所述TLV数据包对应的序列号且所述序列号发生改变时,对所述TLV数据包停止推送的步骤包括:
当所述推送指示信息为与所述TLV数据包对应的序列号时,将当前获取的TLV数据包对应的第一序列号与前次获取的TLV数据包对应的第二序列号进行比较;
当所述第一序列号相较于所述第二序列号发生改变时,对所述TLV数据包停止推送。
一种智能终端,其中,包括:处理器、与处理器通信连接的存储介质,所述存储介质适于存储多条指令;所述处理器适于调用所述存储介质中的指令,以执行实现上述所述的TLV数据包的推送方法的步骤。
一种计算机可读存储介质,其上存储有多条指令,其中,所述指令适于由处理器加载并执行,以执行实现上述所述的TLV数据包的推送方法的步骤。
本发明的有益效果:本发明通过与TLV数据包对应的推送指示信息,对TLV数据包进行推送,实现了TLV数据包的智能化推送,避免了实际推送的TLV数据包数量大于当前帧的数据包数量,解决了倍速播放过程中TLV数据包推送偏移不准,倍速播放丢帧的问题。
附图说明
图1是本发明实施例提供的一种TLV数据包的推送方法的一个实施例流程图;
图2是本发明实施例提供的MMTP数据、MPU数据、MFU数据以及GOP数据之间的关系图;
图3是本发明实施例提供的一种TLV数据包的推送方法的具体应用实施例的流程图;
图4是本发明实施例提供的一种TLV数据包的推送装置的一个实施例的功能原理图;
图5是本发明实施例提供的一种智能终端的功能原理图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或若干个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更若干个相关联的列出项的全部或任一单元和全部组合。本发明中所述的“若干个”指一个或者一个以上。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
对录制好的电视节目进行特技播放的典型应用场景是对视频进行快进快退的倍速播放,现有技术的倍速播放过程中,在对TLV数据包进行推送时,基本都是通过解码出的关键帧来指示是否跳取下一段数据。对于传统传送流(Transport stream,TS)数据,由于TS包的长度是188个字节,且TS包中的数据是完整的,所以可以根据解码出的关键帧来指示是否跳取下一段数据,但对于TLV数据包,数据在单个TLV数据包是不完整的,需要多个数据包才能拼成完整的数据,而且数据量也比较大,如果通过解码关键帧的形式进行TLV数据包的推送,会出现解码出关键帧时,实际推送的TLV数据包数量远大于该帧的数据包数量,从而导致数据包推送偏移不准,倍数播放丢帧。
为了解决现有技术的问题,本实施例提供了一种TLV数据包的推送方法,通过所述方法可以实现TLV数据包的智能化推送,避免电视节目倍速播放过程中,实际推送的TLV数据包数量远大于当前帧的数据包数量,解决了倍速播放过程中TLV数据包推送偏移不准,倍速播放丢帧的问题。具体实施时,首先获取TLV数据包,然后,根据所述TLV数据包,得到与所述TLV数据包对应的推送指示信息,最后,根据所述推送指示信息,对所述TLV数据包进行推送。因此,根据推送指示信息对所述TLV数据包进行推送,实现了TLV数据包的智能化推送。
举例说明,当需要对一场30min的球赛以2倍的速度进行快进播放时,即需要依次获取该球赛第0s、2s、4s…30min对应的TLV数据包进行推送。获取TLV数据包后,首先推送球赛第0s对应的第一TLV数据包,并得到与第一TLV数据包对应的第一推送指示信息,然后根据第一推送指示信息对球赛第2s对应的第二TLV数据包进行推送,并得到与第二TLV数据包对应的第二推送指示信息,然后根据第二推送指示信息对球赛第4s对应的第三TLV数据包进行推送;依此类推,利用与球赛前一时刻TLV数据包对应的推送指示信息对球赛后一时刻对应的TLV数据包进行推送,直至球赛播放结束。由于本例中根据前一时刻TLV数据包对应的推送指示信息对球赛后一时刻对应的TLV数据包进行推送,避免了球赛某一时刻实际推送的TLV数据包数量远大于该时刻的数据包数量,解决了倍速播放过程中TLV数据包推送偏移不准,倍速播放丢帧的问题。
示例性方法
本实施例提供了一种TLV数据包的推送方法,该方法可以应用于智能终端。具体如图1中所示,所述方法包括:
S100、获取TLV数据包。
实际应用过程中,录制好的电视节目数据以TLV数据包的形式预先存储在硬盘等存储设备中,当需要对电视节目进行回放时,从存储设备中获取TLV数据包,TLV数据包中携带的数据可以是video数据、audio数据或者service info节目信息等。TLV数据包的读取方式按照其在存储设备中的存放方式进行读取,和一般的文件读取方式一样,只是读取的数据内容是TLV数据包格式。
当获取TLV数据包后,需要得到与所述TLV数据包对应的推送指示信息,即执行图1中的步骤S200、根据所述TLV数据包,得到与所述TLV数据包对应的推送指示信息。
由于本实施例中需要避免倍速播放过程中实际推送的TLV数据包数量远大于当前帧的数据包数量,而一般来说,TLV数据包的推送速度远大于TLV数据包的解码速度即当前帧的播放速度,因此本实施例中根据所述TLV数据包,得到与所述TLV数据包对应的推送指示信息,这样可以根据TLV数据包对应的推送指示信息对TLV数据包的推送速度进行控制,实现推送的TLV数据包与当前帧对应的TLV数据包相匹配。
在一种实施方式中,本实施例中推送指示信息为与所述TLV数据包对应的序列号,根据所述TLV数据包,得到与所述TLV数据包对应的推送指示信息包括如下步骤:
S210、从所述TLV数据包中获取标识字段;
S220、根据所述标识字段,得到与所述TLV数据包对应的序列号。
视频等多媒体数据由多个图像组(Group of Picture,GOP)数据组成,而一个GOP数据,由多个媒体分片单元(Media Fragment Unit,MFU)数据组成,一个MFU则由多个媒体处理单元(Media Processing Unit,MPU)数据组成,一个MPU则由多个MPEG媒体传输协议包(MPEG Media Transport Protocol Package,MMTP Package)组成,TLV数据包里携带的数据即为MMTP Package。如图2所示,为MMTP数据、MPU数据、MFU数据以及GOP数据之间的关系图。由图2可以看出,多个MMTP Package组成MPU数据,而MFU数据中会包含多个MPU的片段,也就是说多个MPU组成完整的MFU,而MFU用来组成GOP,也就是Video、Audio等播放数据。
考虑到MPU数据是建立完整多媒体数据的基本单元,且MPU数据具有唯一标识其自身的序列号。本实施例中在获取到TLV数据包后,从TLV数据包中解析出TLV数据包对应的序列号,以便后续步骤中根据TLV数据包对应的序列号对TLV数据包进行推送,本实施例中根据唯一标识MPU数据的序列号对TLV数据包进行推送,使得当前帧对应的TLV数据包解码出来之前只推送同一序列号的TLV数据包,避免了数据包的推送速度大于消耗速度导致的数据包推送偏移不准的问题。
每个TLV数据包的MMTP有效载荷(MMTP payload)的标识字段即MPU_sequence_number字段是序列号(sequence number)的描述,在获取到TLV数据包后,通过解析TLV数据包的MMTP有效载荷,获取MPU_sequence_number字段,然后根据MPU_sequence_number字段即可获取TLV数据包对应的序列号。
在一种实施方式中,本实施例中推送指示信息为与所述TLV数据包对应的关键帧,根据所述TLV数据包,得到与所述TLV数据包对应的推送指示信息包括如下步骤:
M210、将所述TLV数据包拼装成媒体分片单元;
M220、对所述媒体分片单元进行解码,得到与所述TLV数据包对应的关键帧。
帧是组成视频图像的基本单位,关键帧也叫做I-Frame即I帧,又称为内部画面,在一段视频数据中,I帧是显示帧,其它帧是基于I帧进行的数据预测,视频文件的倍数播放过程,实质就是I帧的播放,因此在倍数播放过程中需要不断获取I帧数据。本实施例中将TLV数据包拼装成媒体分片单元后,对所述媒体分片单元进行解码,获取TLV数据包对应的关键帧。
媒体分片单元(Media Fragment Unit,MFU)是组成Video、Audio等完整视频数据的片段单元,一段完整的视频数据由多个媒体分片单元组成,视频的播放过程实际就是不断的从媒体分片单元中解码出关键帧的过程。考虑到当前帧解码出来后,需要进行下一段TLV数据包的推送,本实施例中对获取到的TLV数据包进行编码,将TLV数据包拼装成媒体分片单元,然后对媒体分片单元进行解码,得到与所述TLV数据包对应的关键帧,得到关键帧即表明当前帧数据已经解码完毕,可以进行下一段TLV数据包的推送。
在一具体实施方式中,本实施例中将所述TLV数据包拼装成媒体分片单元包括如下步骤:
M211、从所述TLV数据包中获取分片指示字段;其中,所述分片指示字段用于指示所述TLV数据包在所述媒体分片单元中的位置;
M212、根据所述分片指示字段,将所述TLV数据包拼装成媒体分片单元。
具体地,TLV数据包的头文件(header)中包含有分片指示(fragment indicator)字段,所述分片指示字段用于指示所述TLV数据包在所述媒体分片单元中的位置,即TLV数据包是按照分片指示(fragment indicator)字段进行拼装的。对TLV数据包进行拼装时,首先从TLV数据包的头文件中获取fragment indicator字段,然后根据fragment indicator字段,将TLV数据包拼装成媒体分片单元。
在一具体实施方式中,所述步骤M212包括如下步骤:
M2121、根据所述分片指示字段,将所述TLV数据包拼装成媒体处理单元;其中,多个所述媒体处理单元组成所述媒体分片单元;
M2122、将所述媒体处理单元拼装成媒体分片单元。
媒体处理单元(Media Processing Unit,MPU)是组成Video、Audio等完整视频数据的基本单元,也就是说,多个媒体处理单元组成一个媒体分片单元,而多个媒体分片单元组成完整视频数据。前面提到的分片指示(fragment indicator)字段实际表示TLV数据包在媒体处理单元中的位置,即根据fragment indicator字段可以将TLV数据包拼装成MPU数据,拼装的数据是TLV数据包的有效载荷部分,根据fragment indicator字段将所有TLV数据包的有效载荷部分按接收的顺序在前一个TLV数据包的末尾段填写即可将TLV数据包拼装成MPU数据。例如,当fragment indicator=0时,表示当前TLV数据包中的数据是单个的MPU数据;当fragment indicator=1时,表示当前TLV数据包中的数据是MPU数据的起点;当fragment indicator=2时,表示当前TLV数据包中的数据是MPU数据的中间段数据;当fragment indicator=3时,表示当前TLV数据包中的数据是MPU数据的末尾段数据。由于媒体分片单元由多个媒体处理单元组成,将TLV数据包拼装成媒体处理单元后,可进一步将媒体处理单元拼装成媒体分片单元。
在一具体实施方式中,所述步骤M220包括如下步骤:
M221、获取所述媒体分片单元的编码格式;
M222、根据所述编码格式,获取与所述编码格式对应的解码程序;
M223、根据所述解码程序对所述媒体分片单元进行解码,得到与所述TLV数据包对应的关键帧。
具体地,媒体分片单元的解码是根据媒体分片单元的编码格式将音视频数据解码的过程。在对媒体分片单元进行解码时,首先获取媒体分片单元的编码格式,然后根据所述编码格式,获取与所述编码格式对应的解码程序,最后根据所述解码程序对媒体分片单元进行解码,即可获取所述TLV数据包对应的关键帧。
当获取到推送指示信息后,根据所述推送指示信息,对所述TLV数据包进行推送,即执行图1中步骤S300、根据所述推送指示信息,对所述TLV数据包进行推送。
考虑到TLV数据包的推送速度远大于TLV数据包的消耗速度,为了避免实际推送的TLV数据包数量大于当前帧的数据包数量,本实施例中在对TLV数据包进行推送时,根据TLV数据包对应的推送指示信息,对TLV数据包进行推送,能够实现TLV数据包的智能化推送,有效避免了倍速播放过程中TLV数据包推送偏移不准的问题。
在一具体实施方式中,所述推送指示信息为与所述TLV数据包对应的序列号或关键帧,所述步骤S300具体包括:
S310、当所述推送指示信息为与所述TLV数据包对应的序列号且所述序列号发生改变时,对所述TLV数据包停止推送;
S320、当所述推送指示信息为与所述TLV数据包对应的关键帧时,对所述TLV数据包进行继续推送。
具体地,本实施例中所述推送指示信息为与所述TLV数据包对应的序列号或关键帧,在TLV数据包的推送过程中,实时获取与所述TLV数据包对应的推送指示信息,当所述推送指示信息为与所述TLV数据包对应的序列号且所述序列号发生改变时,表明当前关键帧对应的TLV数据包已经推送完毕,对所述TLV数据包停止推送;当所述推送指示信息为与所述TLV数据包对应的关键帧时,表明当前关键帧对应的TLV数据包已经编解码完毕,再进行下一段TLV数据包的推送,从而实现TLV数据包的智能化推送,避免实际推送的TLV数据包数量远大于当前帧的数据包数量,解决了倍速播放过程中TLV数据包推送偏移不准,倍速播放丢帧的问题。
在一具体实施方式中,步骤S310具体包括:
S311、当所述推送指示信息为与所述TLV数据包对应的序列号时,将当前获取的TLV数据包对应的第一序列号与前次获取的TLV数据包对应的第二序列号进行比较;
S312、当所述第一序列号相较于所述第二序列号发生改变时,对所述TLV数据包停止推送。
当所述推送指示信息为与所述TLV数据包对应的序列号时,进一步判断TLV数据包的序列号是否发送改变,在判断TLV数据包对应的序列号是否发生改变时,是将当前获取的TLV数据包对应的第一序列号与前次获取的TLV数据包对应的第二序列号进行比较,当第一序列号与第二序列号不同时,即表明TLV数据包对应的序列号发生改变,当前关键帧对应的TLV数据包已经传输完毕,对TLV数据包停止推送。
为了更好地理解本发明的技术,本发明还提供一种具体的应用实施例,如图3中所示,具体包括如下步骤:
步骤301、获取TLV数据包;
步骤302、对TLV数据包进行推送;
步骤303、获取MPU_sequence_number字段;
步骤304、获取TLV数据包对应的序列号;
步骤305、判断序列号是否发送改变;若是,则执行步骤S306;若否,则执行步骤S302;
步骤306、对TLV数据包停止推送;
步骤307、获取分片指示片段;
步骤308、将TLV数据包拼装成媒体处理单元;
步骤309、将媒体处理单元拼装成媒体分片单元;
步骤310、获取TLV数据包对应的关键帧。
示例性设备
如图4所示,本发明实施例提供了一种TLV数据包的推送装置,该装置包括:播放控制模块110和信息获取模块120。具体地,所述播放控制模块110用于获取TLV数据包,并根据推送指示信息,对所述TLV数据包进行推送。所述信息获取模块120用于根据所述TLV数据包,得到与所述TLV数据包对应的推送指示信息。在一具体实施方式中,所述推送指示信息为与所述TLV数据包对应的序列号或关键帧,所述信息获取模块包括:数据处理单元和解码单元。所述数据处理单元用于从所述TLV数据包中解析出与所述TLV数据包对应的序列号,并将所述TLV数据包拼装成媒体分片单元。所述解码单元用于对所述媒体分片单元进行解码,得到与所述TLV数据包对应的关键帧。
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图5所示。该智能终端包括通过系统总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和TLV数据包的推送程序。该内存储器为非易失性存储介质中的操作系统和TLV数据包的推送程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该TLV数据包的推送程序被处理器执行时以实现一种TLV数据包的推送方法。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏,该智能终端的温度传感器是预先在智能终端内部设置,用于检测内部设备的运行温度。
本领域技术人员可以理解,图5中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种智能终端,包括存储器和处理器,存储器中存储有TLV数据包的推送程序,该处理器执行TLV数据包的推送程序时至少可以实现以下步骤:
获取TLV数据包;
根据所述TLV数据包,得到与所述TLV数据包对应的推送指示信息;
根据所述推送指示信息,对所述TLV数据包进行推送。
在其中的一个实施例中,该处理器执行TLV数据包的推送程序时还可以实现:从所述TLV数据包中获取标识字段;根据所述标识字段,得到与所述TLV数据包对应的序列号。
在其中的一个实施例中,该处理器执行TLV数据包的推送程序时还可以实现:将所述TLV数据包拼装成媒体分片单元;对所述媒体分片单元进行解码,得到与所述TLV数据包对应的关键帧。
在其中的一个实施例中,该处理器执行TLV数据包的推送程序时还可以实现:从所述TLV数据包中获取分片指示字段;其中,所述分片指示字段用于指示所述TLV数据包在所述媒体分片单元中的位置;根据所述分片指示字段,将所述TLV数据包拼装成媒体分片单元。
在其中的一个实施例中,该处理器执行TLV数据包的推送程序时还可以实现:根据所述分片指示字段,将所述TLV数据包拼装成媒体处理单元;其中,多个所述媒体处理单元组成所述媒体分片单元;将所述媒体处理单元拼装成媒体分片单元。
在其中的一个实施例中,该处理器执行TLV数据包的推送程序时还可以实现:获取所述媒体分片单元的编码格式;根据所述编码格式,获取与所述编码格式对应的解码程序;根据所述解码程序对所述媒体分片单元进行解码,得到与所述TLV数据包对应的关键帧。
在其中的一个实施例中,该处理器执行TLV数据包的推送程序时还可以实现:当所述推送指示信息为与所述TLV数据包对应的序列号且所述序列号发生改变时,对所述TLV数据包停止推送;当所述推送指示信息为与所述TLV数据包对应的关键帧时,对所述TLV数据包进行继续推送。
在其中的一个实施例中,该处理器执行TLV数据包的推送程序时还可以实现:当所述推送指示信息为与所述TLV数据包对应的序列号时,将当前获取的TLV数据包对应的第一序列号与前次获取的TLV数据包对应的第二序列号进行比较;当所述第一序列号相较于所述第二序列号发生改变时,对所述TLV数据包停止推送。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过TLV数据包的推送程序来指令相关的硬件来完成,所述的TLV数据包的推送程序可存储于一非易失性计算机可读取存储介质中,该TLV数据包的推送程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
综上所述,本发明公开了一种TLV数据包的推送方法、智能终端及存储介质,方法包括:获取TLV数据包;根据所述TLV数据包,得到与所述TLV数据包对应的推送指示信息;根据所述推送指示信息,对所述TLV数据包进行推送。本发明对TLV数据包进行推送时,通过与TLV数据包对应的推送指示信息,对TLV数据包进行推送,实现了TLV数据包的智能化推送,避免了实际推送的TLV数据包数量大于当前帧的数据包数量,解决了倍速播放过程中TLV数据包推送偏移不准,倍速播放丢帧的问题。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种TLV数据包的推送方法,其特征在于,所述方法包括步骤:
获取TLV数据包;
根据所述TLV数据包,得到与所述TLV数据包对应的推送指示信息;
根据所述推送指示信息,对所述TLV数据包进行推送。
2.根据权利要求1所述的TLV数据包的推送方法,其特征在于,所述推送指示信息为与所述TLV数据包对应的序列号;所述根据所述TLV数据包,得到与所述TLV数据包对应的推送指示信息的步骤包括:
从所述TLV数据包中获取标识字段;
根据所述标识字段,得到与所述TLV数据包对应的序列号。
3.根据权利要求1所述的TLV数据包的推送方法,其特征在于,所述推送指示信息为与所述TLV数据包对应的关键帧,所述根据所述TLV数据包,得到与所述TLV数据包对应的推送指示信息的步骤包括:
将所述TLV数据包拼装成媒体分片单元;
对所述媒体分片单元进行解码,得到与所述TLV数据包对应的关键帧。
4.根据权利要求3所述的TLV数据包的推送方法,其特征在于,所述将所述TLV数据包拼装成媒体分片单元的步骤包括:
从所述TLV数据包中获取分片指示字段;其中,所述分片指示字段用于指示所述TLV数据包在所述媒体分片单元中的位置;
根据所述分片指示字段,将所述TLV数据包拼装成媒体分片单元。
5.根据权利要求4所述的TLV数据包的推送方法,其特征在于,所述根据所述分片指示字段,将所述TLV数据包拼装成媒体分片单元的步骤包括:
根据所述分片指示字段,将所述TLV数据包拼装成媒体处理单元;其中,多个所述媒体处理单元组成所述媒体分片单元;
将所述媒体处理单元拼装成媒体分片单元。
6.根据权利要求3所述的TLV数据包的推送方法,其特征在于,所述对所述媒体分片单元进行解码,得到与所述TLV数据包对应的关键帧的步骤包括:
获取所述媒体分片单元的编码格式;
根据所述编码格式,获取与所述编码格式对应的解码程序;
根据所述解码程序对所述媒体分片单元进行解码,得到与所述TLV数据包对应的关键帧。
7.根据权利要求1所述的TLV数据包的推送方法,其特征在于,所述推送指示信息为与所述TLV数据包对应的序列号或关键帧,所述根据所述推送指示信息,对所述TLV数据包进行推送的步骤包括:
当所述推送指示信息为与所述TLV数据包对应的序列号且所述序列号发生改变时,对所述TLV数据包停止推送;
当所述推送指示信息为与所述TLV数据包对应的关键帧时,对所述TLV数据包进行继续推送。
8.根据权利要求7所述的TLV数据包的推送方法,其特征在于,所述当所述推送指示信息为与所述TLV数据包对应的序列号且所述序列号发生改变时,对所述TLV数据包停止推送的步骤包括:
当所述推送指示信息为与所述TLV数据包对应的序列号时,将当前获取的TLV数据包对应的第一序列号与前次获取的TLV数据包对应的第二序列号进行比较;
当所述第一序列号相较于所述第二序列号发生改变时,对所述TLV数据包停止推送。
9.一种智能终端,其特征在于,包括:处理器、与处理器通信连接的存储介质,所述存储介质适于存储多条指令;所述处理器适于调用所述存储介质中的指令,以执行实现上述权利要求1-8任一项所述的TLV数据包的推送方法的步骤。
10.一种计算机可读存储介质,其上存储有多条指令,其特征在于,所述指令适于由处理器加载并执行,以执行实现上述权利要求1-8任一项所述的TLV数据包的推送方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011475651.8A CN114640711B (zh) | 2020-12-15 | 2020-12-15 | 一种tlv数据包的推送方法、智能终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011475651.8A CN114640711B (zh) | 2020-12-15 | 2020-12-15 | 一种tlv数据包的推送方法、智能终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114640711A true CN114640711A (zh) | 2022-06-17 |
CN114640711B CN114640711B (zh) | 2023-08-01 |
Family
ID=81944473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011475651.8A Active CN114640711B (zh) | 2020-12-15 | 2020-12-15 | 一种tlv数据包的推送方法、智能终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114640711B (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101635847A (zh) * | 2009-09-02 | 2010-01-27 | 中兴通讯股份有限公司 | 一种流媒体的传输方法、视频播放装置及终端 |
CN101651826A (zh) * | 2008-08-15 | 2010-02-17 | 华为技术有限公司 | 发送和接收媒体的方法、装置以及系统 |
CN102413358A (zh) * | 2011-08-12 | 2012-04-11 | 青岛海信传媒网络技术有限公司 | 流媒体文件存储和播放的方法、装置及系统 |
CN102550038A (zh) * | 2011-11-16 | 2012-07-04 | 华为技术有限公司 | 播放媒体文件的方法、终端、服务器和系统 |
CN102761773A (zh) * | 2012-07-03 | 2012-10-31 | Ut斯达康通讯有限公司 | 一种利用i帧改善iptv业务的用户体验的方法 |
US20140007172A1 (en) * | 2012-06-29 | 2014-01-02 | Samsung Electronics Co. Ltd. | Method and apparatus for transmitting/receiving adaptive media in a multimedia system |
CN104394426A (zh) * | 2014-12-10 | 2015-03-04 | 福建星网锐捷网络有限公司 | 流媒体倍速播放方法和装置 |
WO2016003244A1 (ko) * | 2014-07-04 | 2016-01-07 | 삼성전자 주식회사 | 멀티미디어 시스템에서 미디어 패킷을 수신하는 방법 및 장치 |
CN107801092A (zh) * | 2017-09-15 | 2018-03-13 | 青岛海信移动通信技术股份有限公司 | 一种视频倍速播放方法和装置 |
CN107920108A (zh) * | 2016-10-11 | 2018-04-17 | 华为技术有限公司 | 一种媒体资源的推送方法、客户端及服务器 |
CN107959667A (zh) * | 2016-10-18 | 2018-04-24 | 华为技术有限公司 | 一种媒体分片的推送方法、服务器及客户端 |
JP2019040647A (ja) * | 2017-08-22 | 2019-03-14 | 株式会社東芝 | 電子装置及び方法 |
CN109660549A (zh) * | 2018-12-29 | 2019-04-19 | 贵阳朗玛信息技术股份有限公司 | 一种视频帧数据包发送、接收方法及装置 |
CN110225347A (zh) * | 2019-06-24 | 2019-09-10 | 北京大米科技有限公司 | 视频数据传输方法、装置、电子设备和存储介质 |
CN110784740A (zh) * | 2019-11-25 | 2020-02-11 | 北京三体云时代科技有限公司 | 视频处理方法、装置、服务器及可读存储介质 |
WO2020174851A1 (ja) * | 2019-02-28 | 2020-09-03 | ソニーセミコンダクタソリューションズ株式会社 | 復調回路、復調方法、送信装置 |
CN111866526A (zh) * | 2019-04-29 | 2020-10-30 | 华为技术有限公司 | 一种直播业务处理方法和装置 |
-
2020
- 2020-12-15 CN CN202011475651.8A patent/CN114640711B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651826A (zh) * | 2008-08-15 | 2010-02-17 | 华为技术有限公司 | 发送和接收媒体的方法、装置以及系统 |
CN101635847A (zh) * | 2009-09-02 | 2010-01-27 | 中兴通讯股份有限公司 | 一种流媒体的传输方法、视频播放装置及终端 |
CN102413358A (zh) * | 2011-08-12 | 2012-04-11 | 青岛海信传媒网络技术有限公司 | 流媒体文件存储和播放的方法、装置及系统 |
CN102550038A (zh) * | 2011-11-16 | 2012-07-04 | 华为技术有限公司 | 播放媒体文件的方法、终端、服务器和系统 |
US20140007172A1 (en) * | 2012-06-29 | 2014-01-02 | Samsung Electronics Co. Ltd. | Method and apparatus for transmitting/receiving adaptive media in a multimedia system |
CN102761773A (zh) * | 2012-07-03 | 2012-10-31 | Ut斯达康通讯有限公司 | 一种利用i帧改善iptv业务的用户体验的方法 |
WO2016003244A1 (ko) * | 2014-07-04 | 2016-01-07 | 삼성전자 주식회사 | 멀티미디어 시스템에서 미디어 패킷을 수신하는 방법 및 장치 |
CN104394426A (zh) * | 2014-12-10 | 2015-03-04 | 福建星网锐捷网络有限公司 | 流媒体倍速播放方法和装置 |
CN107920108A (zh) * | 2016-10-11 | 2018-04-17 | 华为技术有限公司 | 一种媒体资源的推送方法、客户端及服务器 |
WO2018072629A1 (zh) * | 2016-10-18 | 2018-04-26 | 华为技术有限公司 | 一种媒体分片的推送方法、服务器及客户端 |
CN107959667A (zh) * | 2016-10-18 | 2018-04-24 | 华为技术有限公司 | 一种媒体分片的推送方法、服务器及客户端 |
JP2019040647A (ja) * | 2017-08-22 | 2019-03-14 | 株式会社東芝 | 電子装置及び方法 |
CN107801092A (zh) * | 2017-09-15 | 2018-03-13 | 青岛海信移动通信技术股份有限公司 | 一种视频倍速播放方法和装置 |
CN109660549A (zh) * | 2018-12-29 | 2019-04-19 | 贵阳朗玛信息技术股份有限公司 | 一种视频帧数据包发送、接收方法及装置 |
WO2020174851A1 (ja) * | 2019-02-28 | 2020-09-03 | ソニーセミコンダクタソリューションズ株式会社 | 復調回路、復調方法、送信装置 |
CN111866526A (zh) * | 2019-04-29 | 2020-10-30 | 华为技术有限公司 | 一种直播业务处理方法和装置 |
CN110225347A (zh) * | 2019-06-24 | 2019-09-10 | 北京大米科技有限公司 | 视频数据传输方法、装置、电子设备和存储介质 |
CN110784740A (zh) * | 2019-11-25 | 2020-02-11 | 北京三体云时代科技有限公司 | 视频处理方法、装置、服务器及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
隗华等: "一种格式无关的视频序列关键帧提取策略", 《计算机应用》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114640711B (zh) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8286213B2 (en) | HTTP based video streaming apparatus and method in mobile communication system | |
CN110830838B (zh) | 一种安防高清录像倒播方法及装置 | |
US8437619B2 (en) | Method of processing a sequence of coded video frames | |
EP1914987B1 (en) | Recording medium, reproduction device, and reproduction method for performing high-speed trick reproduction | |
US20100100640A1 (en) | Video recording and playing apparatus, and file management method | |
CN109840879B (zh) | 图像渲染方法、装置、计算机存储介质及终端 | |
CN107431835B (zh) | 发送装置、发送方法、再现装置以及再现方法 | |
US11082751B2 (en) | Network outage continued playing method of on-demand video, and IPTV playing device | |
CN112653904B (zh) | 一种基于pts与dts修改的快速视频裁剪方法 | |
US9215482B2 (en) | Method and apparatus for retrieving I frame | |
CN114640711B (zh) | 一种tlv数据包的推送方法、智能终端及存储介质 | |
US20070177595A1 (en) | DTV decoding system and de-multiplexing method thereof | |
CN108566552B (zh) | 适用于数字机顶盒的多媒体播放方法及系统 | |
WO2016090916A1 (zh) | 码流传输方法和装置 | |
CN111193956B (zh) | 一种视频数据处理方法及视频播放设备 | |
WO2008113241A1 (en) | Method of storing media data delivered through a network | |
US8681879B2 (en) | Method and apparatus for displaying video data | |
CN117478958B (zh) | 视频播放方法、装置、电子设备和存储介质 | |
CN114615549B (zh) | 流媒体seek方法、客户端、存储介质和移动设备 | |
WO2024109317A1 (zh) | 一种传输视频帧及摄像参数信息的方法与设备 | |
CN117478958A (zh) | 视频播放方法、装置、电子设备和存储介质 | |
CN113261283A (zh) | 视频处理方法、装置及计算机可读存储介质 | |
CN113784188A (zh) | 一种ts流硬件解析方法及系统 | |
CN105992050A (zh) | 一种视频下载方法及装置 | |
GB2620583A (en) | Method, device, and computer program for optimizing dynamic encapsulation and parsing of content data |
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 |