CN104768051B - 多编码格式节目流的自适应切换方法及系统 - Google Patents

多编码格式节目流的自适应切换方法及系统 Download PDF

Info

Publication number
CN104768051B
CN104768051B CN201510098986.5A CN201510098986A CN104768051B CN 104768051 B CN104768051 B CN 104768051B CN 201510098986 A CN201510098986 A CN 201510098986A CN 104768051 B CN104768051 B CN 104768051B
Authority
CN
China
Prior art keywords
decoder
bandwidth
thread
group
program stream
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.)
Expired - Fee Related
Application number
CN201510098986.5A
Other languages
English (en)
Other versions
CN104768051A (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.)
Shenzhen Jiuzhou Electric Appliance Co Ltd
Original Assignee
Shenzhen Jiuzhou Electric Appliance 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 Shenzhen Jiuzhou Electric Appliance Co Ltd filed Critical Shenzhen Jiuzhou Electric Appliance Co Ltd
Priority to CN201510098986.5A priority Critical patent/CN104768051B/zh
Publication of CN104768051A publication Critical patent/CN104768051A/zh
Priority to PCT/CN2016/075536 priority patent/WO2016141847A1/zh
Application granted granted Critical
Publication of CN104768051B publication Critical patent/CN104768051B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明涉及一种多编码格式节目流的自适应切换方法及系统,将节目流按照带宽和编码格式进行分组,提供两个解码器同时创建双线程,根据网络速度确定适配的带宽进行切换,在编码格式不同需要切换时,由未播放的一组进行切换播放,在使用的一组不需要进行重置,这样就实现了自适应的无缝切换,从而避免导致播放不连贯、跳帧或者视频画面停顿等现象的发生,大大保证了高标清节目流的切换,给用户观看带来极大便利,提高用户的体验。同时,对于带宽大的分组中的TS流分段下载,进一步避免了发生卡顿的问题,给用户观看带来进一步的便利,更加提高用户的体验。

Description

多编码格式节目流的自适应切换方法及系统
技术领域
本发明涉及通信领域,尤其涉及一种多编码格式节目流的自适应切换方法及系统。
背景技术
随着电视广播业务的不断发展以及网络带宽的不断提升,已经实现自适应收看高标清节目。目前的自适应切换高标清节目流的方案都是以音视频编码格式为一致的基础上实现的。而对于不同音视频编码格式节目流自适应切换,涉及到解码器的切换问题,这样就会导致解码器重置使音视频解码中断,那么自适应切换不同音视频编码格式的节目流时就会导致播放不连贯、跳帧或者视频画面停顿等现象发生,大大影响高标清节目流的切换,给用户观看带来极大的不便,降低用户的体验。
同时,由于不同节目流带宽不同,带宽从低宽带突变到高宽带时会发生下载不及时而导致卡顿的问题,也会大大影响用户观看和体验。
发明内容
有鉴于此,有必要针对上述不同编码格式节目流自适应切换发生不连贯、跳帧等问题,提供一种多编码格式节目流的自适应切换方法及系统。
本发明提供的一种多编码格式节目流的自适应切换方法,包括如下步骤:
S10:将节目流按照带宽大小分成多个组,每个组的音视频编码格式都不同;
S20:下载每个组中节目流的TS片段并进行解析,获取每个组TS片段的大小以及每个组对应的音视频编码格式,并且采用最小TS片段的大小值,将其他组TS片段分割成多段,使其他组TS片段能够分段下载;
S30:提供两个解码器,分别为第一解码器和第二解码器,创建两个线程,分别为第一线程和第二线程;
S40:由第一线程采用带宽最小组的音视频编码格式对第一解码器进行初始化,并下载带宽最小组中的TS片段并注入第一解码器,将第一解码器绑定的显存窗口设置为顶层进行播放;
S50:由第一线程实时获取当前网络速度,计算当前网络速度所适配的带宽,若所适配的带宽与第一解码器当前带宽不符,则第一线程停止下载TS片段且记录下载位置,并通知第二线程;
S60:由第二线程采用所适配带宽对应组的音视频编码格式对第二解码器进行初始化,由记录的下载位置继续下载所适配带宽对应组中的TS片段并注入第二解码器,并在第一解码器缓存为空时将第二解码器绑定的显存窗口设置为顶层进行播放;
S70:由第二线程继续实时获取当前网络速度,计算当前网络速度所适配的带宽,若所适配的带宽与第二解码器当前带宽不符,则第二线程停止下载TS片段且记录下载位置,并通知第一线程;
S80:由第一线程采用所适配带宽对应组的音视频编码格式对第一解码器进行初始化,由记录的下载位置继续下载所适配带宽对应组中的TS片段并注入第一解码器,并在第二解码器缓存为空时将第一解码器绑定的显存窗口设置为顶层进行播放。
本发明还提供一种多编码格式节目流的自适应切换系统,包括:
节目流分组单元,将节目流按照带宽大小分成多个组,每个组的音视频编码格式都不同;
编码格式获取单元,下载每个组中节目流的TS片段并进行解析,获取每个组TS片段的大小以及每个组对应的音视频编码格式,并且采用最小TS片段的大小值,将其他组TS片段分割成多段,使其他组TS片段能够分段下载;
线程创建单元,提供两个解码器,分别为第一解码器和第二解码器,创建两个线程,分别为第一线程和第二线程;
第一解码器设置单元,控制由第一线程采用带宽最小组的音视频编码格式对第一解码器进行初始化,并下载带宽最小组中的TS片段并注入第一解码器,将第一解码器绑定的显存窗口设置为顶层进行播放;
第二线程通知单元,控制由第一线程实时获取当前网络速度,计算当前网络速度所适配的带宽,若所适配的带宽与第一解码器当前带宽不符,则第一线程停止下载TS片段且记录下载位置,并通知第二线程;
第二解码器设置单元,控制由第二线程采用所适配带宽对应组的音视频编码格式对第二解码器进行初始化,由记录的下载位置继续下载所适配带宽对应组中的TS片段并注入第二解码器,并在第一解码器缓存为空时将第二解码器绑定的显存窗口设置为顶层进行播放;
第一线程通知单元,控制由第二线程继续实时获取当前网络速度,计算当前网络速度所适配的带宽,若所适配的带宽与第二解码器当前带宽不符,则第二线程停止下载TS片段且记录下载位置,并通知第一线程;第一解码器设置单元控制由第一线程采用所适配带宽对应组的音视频编码格式对第一解码器进行初始化,由记录的下载位置继续下载所适配带宽对应组中的TS片段并注入第一解码器,并在第二解码器缓存为空时将第一解码器绑定的显存窗口设置为顶层进行播放。
本发明多编码格式节目流的自适应切换方法及系统,将节目流按照带宽和编码格式进行分组,提供两个解码器同时创建双线程,根据网络速度确定适配的带宽进行切换,在编码格式不同需要切换时,由未播放的一组进行切换播放,在使用的一组不需要进行重置,这样就实现了自适应的无缝切换,从而避免导致播放不连贯、跳帧或者视频画面停顿等现象的发生,大大保证了高标清节目流的切换,给用户观看带来极大便利,提高用户的体验。
同时,对于带宽大的分组中的TS流分段下载,进一步避免了发生卡顿的问题,给用户观看带来进一步的便利,更加提高用户的体验。
附图说明
图1是一个实施例中的多编码格式节目流的自适应切换方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
图1是一个实施例中的多编码格式节目流的自适应切换方法的流程图,如图1所示,该方法包括如下步骤:
S10:将节目流按照带宽大小分成多个组,每个组的音视频编码格式都不同。
由于目前同一个节目存在多种音视频编码格式的节目流,且不同音视频编码格式的节目流的带宽也不相同,多种编码格式和带宽的节目流是穿插着进行传输的,这样编码格式会不时发生改变,解码器要不断的进行重置使音视频解码中断,就会导致播放不连贯、跳帧或者视频画面停顿等现象发生。故在该实施例中,首先将节目流按照编码格式和带宽分成多个组,每个组对应一种编码格式和带宽,使节目流能够按组进行区分。例如,将节目流分成三个组,分组为A1、A2、A3,对应的带宽分别为B1、B2、B3(B1<B2<B3),三个分组的音视频编码格式都不相同。
在进一步的实施方式中,该步骤具体为:获取播放的URL(HLS协议的),根据URL下载节目流描述文件,并根据节目流描述文件获取节目流的带宽,将节目流按照带宽大小分成多个组。
S20:下载每个组中节目流的TS(传输流)片段并进行解析,获取每个组TS片段的大小以及每个组对应的音视频编码格式,并且采用最小TS片段的大小值,将其他组TS片段分割成多段,使其他组TS片段能够分段下载。
在对节目流分组之后,需要获取每个组对应的编码格式,由于每个组的TS片段中包含有编码格式和带宽的描述,则下载每个组中节目流的TS(传输流)片段并进行解析,获取每个组TS片段的大小以及每个组对应的音视频编码格式。
在进一步的实施方式中,该步骤具体为:下载每个组当中的第一个TS片段并进行解析,获取TS包中的PMT表,从PMT表中解析出每组对应的音视频编码格式以及TS片段的大小。进一步的,下载每个组当中的第一个TS片段并进行解析,下载大小为188B,对188B的数据进行解析,如果不包含PMT表,则继续下载188B,直到TS片段中包含PMT表。
例如,下载A1、A2、A3这三个分组当中描述的第一个TS片段,下载大小为188B,将这188B的数据进行解析,如果不包含PMT表,则继续下载188B,直到包含PMT表,然后从PMT表中解析出A1、A2、A3分组对应的音视频编码格式G1、G2、G3以及TS片段的大小S1、S2、S3(S1<S2<S3)。
同时,由于不同带宽的节目流的TS片段数据大小不一样,而大小不一样TS片段的播放时间却相同,那么对于数据大的TS片段下载时间就长,播放时间会短,会造成卡顿的问题,故在该实施例中,对带宽大的分组中的TS片段进行分割,采用最小TS片段的大小值,将其他组TS片段分割成多段,以便使其他分组的TS片段可以分段下载,避免卡顿的问题。例如,根据S1、S2、S3的大小,按照S1的大小为每组的TS片段来分段。假设S1大小为2M,S2大小为5M,S3大小为7M,则S2分成2M、2M、1M的大小,S3分成2M、2M、2M、1M。
S30:提供两个解码器,分别为第一解码器和第二解码器,创建两个线程,分别为第一线程和第二线程。
由于不同节目流的编码格式不一样,如果只采用一个解码器,则解码器在解码格式发生变化时必须进行重置,这样就会发生问题。该实施例中,使用双编码器,同时采用双线程,第一线程当中等待接收第二线程发送来的通知,在第二线程当中等待第一线程发送来的通知,避免单个解码器会发生问题的情况。
S40:由第一线程采用带宽最小组的音视频编码格式对第一解码器进行初始化,并下载带宽最小组中的TS片段并注入第一解码器,将第一解码器绑定的显存窗口设置为顶层进行播放。
在设置双解码器及双线程之后,首先由第一线程根据分组获取带宽最小的分组,并利用该分组的参数来初始化第一解码器,初始播放最低带宽的节目流可以保证在网速情况不佳时能够更好的播放。具体的,第一线程根据最小带宽查找到对应的分组,根据分组解析出对应的音视频编码格式来初始化第一解码器,若第一解码器为创建状态则销毁重建,并绑定显存窗口,同时开始下载分组中的第一个TS片段,并注入到第一解码器开始播放,并将绑定的显存窗口设置为顶层。这样就完成第一解码器的初始化设置和播放。
S50:由第一线程实时获取当前网络速度,计算当前网络速度所适配的带宽,若所适配的带宽与第一解码器当前带宽不符,则第一线程停止下载TS片段且记录下载位置,并通知第二线程。
在播放过程当中,由于网络环境的变化,网络速度会发生变化,如果当前网络速度良好,则可以播放更高带宽和质量的节目流,需要自适应的切换到带宽高的节目流进行播放。故该实施例中,第一线程实时获取当前网络速度,计算当前网络速度所适配的带宽,若所适配的带宽与第一解码器当前带宽不符,则说明需要进行自适应的切换带宽高的节目流,由于带宽高的节目流编码格式不同,为避免出现问题,则第一线程停止下载TS片段且记录下载位置,并通知第二线程,由第二线程来进行切换和播放。
S60:由第二线程采用所适配带宽对应组的音视频编码格式对第二解码器进行初始化,由记录的下载位置继续下载所适配带宽对应组中的TS片段并注入第二解码器,并在第一解码器缓存为空时将第二解码器绑定的显存窗口设置为顶层进行播放。
第二线程接到通知后,开始对第二解码器进行初始化设置,采用所适配带宽确定对应的分组,根据分组解析出对应的音视频编码格式来初始化第二解码器,若第二解码器为创建状态则销毁重建,并绑定显存窗口,同时开始下载分组中的第一个TS片段,并注入到第二解码器,由于此时第一解码器缓存中还有数据未播放完毕,为实现整段数据播放的完整性,实现无缝切换,则要在第一解码器缓存为空时将第二解码器绑定的显存窗口设置为顶层进行播放。这样,自适应的切换另一解码格式的节目流由第二解码器完成,第一解码器不需要重置,由于一个TS片段播放时间大概是10s,而初始化解码器只需要在500ms以内,因此在第一解码器没有空之前,第二解码器已经初始化完毕,能够随时播放,这样就实现了自适应的无缝切换,从而避免导致播放不连贯、跳帧或者视频画面停顿等现象的发生,大大保证了高标清节目流的切换,给用户观看带来极大便利,提高用户的体验。
S70:由第二线程继续实时获取当前网络速度,计算当前网络速度所适配的带宽,若所适配的带宽与第二解码器当前带宽不符,则第二线程停止下载TS片段且记录下载位置,并通知第一线程。
同样,在第二线程播放时,也实时的获取监测当前网络速度,计算当前网络速度所适配的带宽,若所适配的带宽与第二解码器当前带宽不符,则说明需要进行自适应的切换带宽高的节目流,则第一线程停止下载TS片段且记录下载位置,并通知第一线程,由第一线程来进行切换和播放。
S80:由第一线程采用所适配带宽对应组的音视频编码格式对第一解码器进行初始化,由记录的下载位置继续下载所适配带宽对应组中的TS片段并注入第一解码器,并在第二解码器缓存为空时将第一解码器绑定的显存窗口设置为顶层进行播放。
第一线程执行之前第二线程切换时的过程,最终完成自适应的切换播放,不需要第二解码器重置,这样两个线程和两个播放器,在编码格式不同需要切换时,由未播放的一组进行切换播放,在使用的一组不需要进行重置,这样就实现了自适应的无缝切换,从而避免导致播放不连贯、跳帧或者视频画面停顿等现象的发生,大大保证了高标清节目流的切换,给用户观看带来极大便利,提高用户的体验。
该多编码格式节目流的自适应切换方法,将节目流按照带宽和编码格式进行分组,提供两个解码器同时创建双线程,根据网络速度确定适配的带宽进行切换,在编码格式不同需要切换时,由未播放的一组进行切换播放,在使用的一组不需要进行重置,这样就实现了自适应的无缝切换,从而避免导致播放不连贯、跳帧或者视频画面停顿等现象的发生,大大保证了高标清节目流的切换,给用户观看带来极大便利,提高用户的体验。
同时,对于带宽大的分组中的TS流分段下载,进一步避免了发生卡顿的问题,给用户观看带来进一步的便利,更加提高用户的体验。
此外,本发明还提供一种多编码格式节目流的自适应切换系统,该多编码格式节目流的自适应切换系统包括:
节目流分组单元,将节目流按照带宽大小分成多个组,每个组的音视频编码格式都不同。
由于目前同一个节目存在多种音视频编码格式的节目流,且不同音视频编码格式的节目流的带宽也不相同,多种编码格式和带宽的节目流是穿插着进行传输的,这样编码格式会不时发生改变,解码器要不断的进行重置使音视频解码中断,就会导致播放不连贯、跳帧或者视频画面停顿等现象发生。故在该实施例中,节目流分组单元首先将节目流按照编码格式和带宽分成多个组,每个组对应一种编码格式和带宽,使节目流能够按组进行区分。例如,将节目流分成三个组,分组为A1、A2、A3,对应的带宽分别为B1、B2、B3(B1<B2<B3),三个分组的音视频编码格式和带宽都不相同。
在进一步的实施方式中,节目流分组单元获取播放的URL(HLS协议的),根据URL下载节目流描述文件,并根据节目流描述文件获取节目流的带宽,将将节目流按照带宽大小分成多个组。
编码格式获取单元,下载每个组中节目流的TS(传输流)片段并进行解析,获取每个组TS片段的大小以及每个组对应的音视频编码格式,并且采用最小TS片段的大小值,将其他组TS片段分割成多段,使其他组TS片段能够分段下载。
在对节目流分组之后,需要获取每个组对应的编码格式,由于每个组的TS片段中包含有编码格式和带宽的描述,则编码格式获取单元下载每个组中节目流的TS(传输流)片段并进行解析,获取每个组TS片段的大小以及每个组对应的音视频编码格式。
在进一步的实施方式中,编码格式获取单元下载每个组当中的第一个TS片段并进行解析,获取TS包中的PMT表,从PMT表中解析出每组对应的音视频编码格式以及TS片段的大小。进一步的,编码格式获取单元下载每个组当中的第一个TS片段并进行解析,下载大小为188B,对188B的数据进行解析,如果不包含PMT表,则继续下载188B,直到TS片段中包含PMT表。
例如,编码格式获取单元下载A1、A2、A3这三个分组当中描述的第一个TS片段,下载大小为188B,将这188B的数据进行解析,如果不包含PMT表,则继续下载188B,直到包含PMT表,然后从PMT表中解析出A1、A2、A3分组对应的音视频编码格式G1、G2、G3以及TS片段的大小S1、S2、S3(S1<S2<S3)。
同时,由于不同带宽的节目流的TS片段数据大小不一样,而大小不一样TS片段的播放时间却相同,那么对于数据大的TS片段下载时间就长,播放时间会短,会造成卡顿的问题,故在该实施例中,编码格式获取单元对带宽大的分组中的TS片段进行分割,采用最小TS片段的大小值,将其他组TS片段分割成多段,以便使其他分组的TS片段可以分段下载,避免卡顿的问题。例如,根据S1、S2、S3的大小,按照S1的大小为每组的TS片段来分段。假设S1大小为2M,S2大小为5M,S3大小为7M,则S2分成2M、2M、1M的大小,S3分成2M、2M、2M、1M。
线程创建单元,提供两个解码器,分别为第一解码器和第二解码器,创建两个线程,分别为第一线程和第二线程。
由于不同节目流的编码格式不一样,如果只采用一个解码器,则解码器在解码格式发生变化时必须进行重置,这样就会发生问题。该实施例中,线程创建单元使用双编码器,同时采用双线程,第一线程当中等待接收第二线程发送来的通知,在第二线程当中等待第一线程发送来的通知,避免单个解码器会发生问题的情况。
第一解码器设置单元,控制由第一线程采用带宽最小组的音视频编码格式对第一解码器进行初始化,并下载带宽最小组中的TS片段并注入第一解码器,将第一解码器绑定的显存窗口设置为顶层进行播放。
在设置双解码器及双线程之后,第一解码器设置单元首先控制由第一线程根据分组获取带宽最小的分组,并利用该分组的参数来初始化第一解码器,初始播放最低带宽的节目流可以保证在网速情况不佳时能够更好的播放。具体的,控制第一线程根据最小带宽查找到对应的分组,根据分组解析出对应的音视频编码格式来初始化第一解码器,若第一解码器为创建状态则销毁重建,并绑定显存窗口,同时开始下载分组中的第一个TS片段,并注入到第一解码器开始播放,并将绑定的显存窗口设置为顶层。这样就完成第一解码器的初始化设置和播放。
第二线程通知单元,控制由第一线程实时获取当前网络速度,计算当前网络速度所适配的带宽,若所适配的带宽与第一解码器当前带宽不符,则控制第一线程停止下载TS片段且记录下载位置,并通知第二线程。
在播放过程当中,由于网络环境的变化,网络速度会发生变化,如果当前网络速度良好,则可以播放更高带宽和质量的节目流,需要自适应的切换到带宽高的节目流进行播放。故该实施例中,第二线程通知单元控制第一线程实时获取当前网络速度,计算当前网络速度所适配的带宽,若所适配的带宽与第一解码器当前带宽不符,则说明需要进行自适应的切换带宽高的节目流,由于带宽高的节目流编码格式不同,为避免出现问题,则控制第一线程停止下载TS片段且记录下载位置,并通知第二线程,由第二线程来进行切换和播放。
第二解码器设置单元,控制由第二线程采用所适配带宽对应组的音视频编码格式对第二解码器进行初始化,由记录的下载位置继续下载所适配带宽对应组中的TS片段并注入第二解码器,并在第一解码器缓存为空时将第二解码器绑定的显存窗口设置为顶层进行播放。
第二线程接到通知后,第二解码器设置单元开始对第二解码器进行初始化设置,采用所适配带宽确定对应的分组,根据分组解析出对应的音视频编码格式来初始化第二解码器,若第二解码器为创建状态则销毁重建,并绑定显存窗口,同时开始下载分组中的第一个TS片段,并注入到第二解码器,由于此时第一解码器缓存中还有数据未播放完毕,为实现整段数据播放的完整性,实现无缝切换,则要在第一解码器缓存为空时将第二解码器绑定的显存窗口设置为顶层进行播放。这样,自适应的切换另一解码格式的节目流由第二解码器完成,第一解码器不需要重置,由于一个TS片段播放时间大概是10s,而初始化解码器只需要在500ms以内,因此在第一解码器没有空之前,第二解码器已经初始化完毕,能够随时播放,这样就实现了自适应的无缝切换,从而避免导致播放不连贯、跳帧或者视频画面停顿等现象的发生,大大保证了高标清节目流的切换,给用户观看带来极大便利,提高用户的体验。
第一线程通知单元,控制由第二线程继续实时获取当前网络速度,计算当前网络速度所适配的带宽,若所适配的带宽与第二解码器当前带宽不符,则第二线程停止下载TS片段且记录下载位置,并通知第一线程。第一解码器设置单元控制由第一线程采用所适配带宽对应组的音视频编码格式对第一解码器进行初始化,由记录的下载位置继续下载所适配带宽对应组中的TS片段并注入第一解码器,并在第二解码器缓存为空时将第一解码器绑定的显存窗口设置为顶层进行播放。
同样,在第二线程播放时,也实时的获取监测当前网络速度,计算当前网络速度所适配的带宽,若所适配的带宽与第二解码器当前带宽不符,则说明需要进行自适应的切换带宽高的节目流,第一线程通知单元则控制第一线程停止下载TS片段且记录下载位置,并通知第一线程,由第一线程来进行切换和播放。第一线程执行之前第二线程切换时的过程,最终完成自适应的切换播放,不需要第二解码器重置,这样两个线程和两个播放器,在编码格式不同需要切换时,由未播放的一组进行切换播放,在使用的一组不需要进行重置,这样就实现了自适应的无缝切换,从而避免导致播放不连贯、跳帧或者视频画面停顿等现象的发生,大大保证了高标清节目流的切换,给用户观看带来极大便利,提高用户的体验。
该多编码格式节目流的自适应切换系统,将节目流按照带宽和编码格式进行分组,提供两个解码器同时创建双线程,根据网络速度确定适配的带宽进行切换,在编码格式不同需要切换时,由未播放的一组进行切换播放,在使用的一组不需要进行重置,这样就实现了自适应的无缝切换,从而避免导致播放不连贯、跳帧或者视频画面停顿等现象的发生,大大保证了高标清节目流的切换,给用户观看带来极大便利,提高用户的体验。
同时,对于带宽大的分组中的TS流分段下载,进一步避免了发生卡顿的问题,给用户观看带来进一步的便利,更加提高用户的体验。
本发明多编码格式节目流的自适应切换方法及系统,将节目流按照带宽和编码格式进行分组,提供两个解码器同时创建双线程,根据网络速度确定适配的带宽进行切换,在编码格式不同需要切换时,由未播放的一组进行切换播放,在使用的一组不需要进行重置,这样就实现了自适应的无缝切换,从而避免导致播放不连贯、跳帧或者视频画面停顿等现象的发生,大大保证了高标清节目流的切换,给用户观看带来极大便利,提高用户的体验。
同时,对于带宽大的分组中的TS流分段下载,进一步避免了发生卡顿的问题,给用户观看带来进一步的便利,更加提高用户的体验。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种多编码格式节目流的自适应切换方法,其特征在于,包括如下步骤:
S10:将节目流按照带宽大小分成多个组,每个组的音视频编码格式都不同;
S20:下载每个组中节目流的第一个TS片段并进行解析,获取每个组TS片段的大小以及每个组对应的音视频编码格式,并且采用最小TS片段的大小值,将其他组TS片段分割成多段,使其他组TS片段能够分段下载;
S30:提供两个解码器,分别为第一解码器和第二解码器,创建两个线程,分别为第一线程和第二线程;
S40:由第一线程采用带宽最小组的音视频编码格式对第一解码器进行初始化,并下载带宽最小组中的TS片段并注入第一解码器,将第一解码器绑定的显存窗口设置为顶层进行播放;
S50:由第一线程实时获取当前网络速度,计算当前网络速度所适配的带宽,若所适配的带宽与第一解码器当前带宽不符,则第一线程停止下载TS片段且记录下载位置,并通知第二线程;
S60:由第二线程采用所适配带宽对应组的音视频编码格式对第二解码器进行初始化,由记录的下载位置继续下载所适配带宽对应组中的TS片段并注入第二解码器,并在第一解码器缓存为空时将第二解码器绑定的显存窗口设置为顶层进行播放;
S70:由第二线程继续实时获取当前网络速度,计算当前网络速度所适配的带宽,若所适配的带宽与第二解码器当前带宽不符,则第二线程停止下载TS片段且记录下载位置,并通知第一线程;
S80:由第一线程采用所适配带宽对应组的音视频编码格式对第一解码器进行初始化,由记录的下载位置继续下载所适配带宽对应组中的TS片段并注入第一解码器,并在第二解码器缓存为空时将第一解码器绑定的显存窗口设置为顶层进行播放。
2.根据权利要求1所述的多编码格式节目流的自适应切换方法,其特征在于,所述步骤S10具体为:获取播放的URL,根据URL下载节目流描述文件,并根据节目流描述文件获取节目流的带宽,将节目流按照带宽大小分成多个组。
3.根据权利要求1所述的多编码格式节目流的自适应切换方法,其特征在于,所述步骤S20具体为:获取TS包中的PMT表,从PMT表中解析出每组对应的音视频编码格式以及TS片段的大小。
4.根据权利要求3所述的多编码格式节目流的自适应切换方法,其特征在于,所述步骤S20具体为:每个组当中第一个TS片段的下载大小为188B,对188B的数据进行解析,如果不包含PMT表,则继续下载188B,直到TS片段中包含PMT表。
5.根据权利要求1所述的多编码格式节目流的自适应切换方法,其特征在于,所述步骤S40具体为:第一线程根据最小带宽查找到对应的分组,根据分组解析出对应的音视频编码格式初始化第一解码器,若第一解码器为创建状态则销毁重建,并绑定显存窗口,同时开始下载分组中的第一个TS片段,并注入到第一解码器开始播放,并将绑定的显存窗口设置为顶层。
6.一种多编码格式节目流的自适应切换系统,其特征在于,包括:
节目流分组单元,将节目流按照带宽大小分成多个组,每个组的音视频编码格式都不同;
编码格式获取单元,下载每个组中节目流的第一个TS片段并进行解析,获取每个组TS片段的大小以及每个组对应的音视频编码格式,并且采用最小TS片段的大小值,将其他组TS片段分割成多段,使其他组TS片段能够分段下载;
线程创建单元,提供两个解码器,分别为第一解码器和第二解码器,创建两个线程,分别为第一线程和第二线程;
第一解码器设置单元,控制由第一线程采用带宽最小组的音视频编码格式对第一解码器进行初始化,并下载带宽最小组中的TS片段并注入第一解码器,将第一解码器绑定的显存窗口设置为顶层进行播放;
第二线程通知单元,控制由第一线程实时获取当前网络速度,计算当前网络速度所适配的带宽,若所适配的带宽与第一解码器当前带宽不符,则第一线程停止下载TS片段且记录下载位置,并通知第二线程;
第二解码器设置单元,控制由第二线程采用所适配带宽对应组的音视频编码格式对第二解码器进行初始化,由记录的下载位置继续下载所适配带宽对应组中的TS片段并注入第二解码器,并在第一解码器缓存为空时将第二解码器绑定的显存窗口设置为顶层进行播放;
第一线程通知单元,控制由第二线程继续实时获取当前网络速度,计算当前网络速度所适配的带宽,若所适配的带宽与第二解码器当前带宽不符,则第二线程停止下载TS片段且记录下载位置,并通知第一线程;第一解码器设置单元控制由第一线程采用所适配带宽对应组的音视频编码格式对第一解码器进行初始化,由记录的下载位置继续下载所适配带宽对应组中的TS片段并注入第一解码器,并在第二解码器缓存为空时将第一解码器绑定的显存窗口设置为顶层进行播放。
7.根据权利要求6所述的多编码格式节目流的自适应切换系统,其特征在于,所述节目流分组单元获取播放的URL,根据URL下载节目流描述文件,并根据节目流描述文件获取节目流的带宽,将节目流按照带宽大小分成多个组。
8.根据权利要求6所述的多编码格式节目流的自适应切换系统,其特征在于,所述编码格式获取单元获取TS包中的PMT表,从PMT表中解析出每组对应的音视频编码格式以及TS片段的大小。
9.根据权利要求8所述的多编码格式节目流的自适应切换系统,其特征在于,所述编码格式获取单元下载每个组当中第一个TS片段的大小为188B,对188B的数据进行解析,如果不包含PMT表,则继续下载188B,直到TS片段中包含PMT表。
10.根据权利要求6所述的多编码格式节目流的自适应切换系统,其特征在于,所述第一解码器设置单元控制第一线程根据最小带宽查找到对应的分组,根据分组解析出对应的音视频编码格式初始化第一解码器,若第一解码器为创建状态则销毁重建,并绑定显存窗口,同时开始下载分组中的第一个TS片段,并注入到第一解码器开始播放,并将绑定的显存窗口设置为顶层。
CN201510098986.5A 2015-03-06 2015-03-06 多编码格式节目流的自适应切换方法及系统 Expired - Fee Related CN104768051B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510098986.5A CN104768051B (zh) 2015-03-06 2015-03-06 多编码格式节目流的自适应切换方法及系统
PCT/CN2016/075536 WO2016141847A1 (zh) 2015-03-06 2016-03-03 多编码格式节目流的自适应切换方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510098986.5A CN104768051B (zh) 2015-03-06 2015-03-06 多编码格式节目流的自适应切换方法及系统

Publications (2)

Publication Number Publication Date
CN104768051A CN104768051A (zh) 2015-07-08
CN104768051B true CN104768051B (zh) 2017-12-15

Family

ID=53649599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510098986.5A Expired - Fee Related CN104768051B (zh) 2015-03-06 2015-03-06 多编码格式节目流的自适应切换方法及系统

Country Status (2)

Country Link
CN (1) CN104768051B (zh)
WO (1) WO2016141847A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104768051B (zh) * 2015-03-06 2017-12-15 深圳市九洲电器有限公司 多编码格式节目流的自适应切换方法及系统
CN107438056B (zh) * 2016-05-26 2021-02-09 深圳富泰宏精密工业有限公司 VoIP通讯模组、电子装置及VoIP通讯方法
CN106162232A (zh) * 2016-06-29 2016-11-23 乐视控股(北京)有限公司 视频播放控制方法及装置
CN106210927A (zh) * 2016-09-05 2016-12-07 青岛海信电器股份有限公司 一种音轨切换方法和装置
CN106982249A (zh) * 2017-03-03 2017-07-25 广州优视网络科技有限公司 多线程分段下载方法、设备、客户端设备及电子设备
CN109218763A (zh) * 2018-11-12 2019-01-15 青岛海信传媒网络技术有限公司 一种流媒体视频切换的方法及智能电视
CN111479164A (zh) * 2019-01-23 2020-07-31 上海哔哩哔哩科技有限公司 硬件解码动态分辨率无缝切换方法、装置及存储介质
CN110166824B (zh) * 2019-06-24 2021-07-06 湖南国科微电子股份有限公司 基于机顶盒的电视直播切换台方法及系统
CN110213659B (zh) * 2019-07-01 2021-06-08 杭州当虹科技股份有限公司 一种可在不同视频流间快速切换播放器的实现方法
CN112583521B (zh) * 2019-09-27 2022-04-05 华为技术有限公司 译码方法、装置、译码设备、终端设备和网络设备
CN110708564B (zh) * 2019-10-21 2021-12-07 上海网达软件股份有限公司 一种动态切换视频流的直播转码方法及系统
CN113676769B (zh) * 2021-08-23 2023-03-31 北京字跳网络技术有限公司 视频解码方法、设备及存储介质
CN113691886B (zh) * 2021-08-25 2024-05-07 三星电子(中国)研发中心 流媒体文件的下载方法和装置
CN113709585B (zh) * 2021-08-25 2023-09-19 三星电子(中国)研发中心 流媒体播放方法和装置
CN117615175A (zh) * 2023-11-24 2024-02-27 书行科技(北京)有限公司 视频播放方法、装置、电子设备和计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101120592A (zh) * 2005-02-16 2008-02-06 汤姆逊许可公司 敏捷解码器
CN101511010A (zh) * 2009-03-27 2009-08-19 北京中星微电子有限公司 一种媒体流发送方法及装置
CN102665081A (zh) * 2012-05-14 2012-09-12 青岛海信信芯科技有限公司 多格式码流的解析方法、多格式码流的解析装置和显示装置
CN103581669A (zh) * 2013-11-08 2014-02-12 江苏万联新兆信息科技有限公司(外商合资) 支持多编码格式多进程同时使用的编码方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8411734B2 (en) * 2007-02-06 2013-04-02 Microsoft Corporation Scalable multi-thread video decoding
CN104768051B (zh) * 2015-03-06 2017-12-15 深圳市九洲电器有限公司 多编码格式节目流的自适应切换方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101120592A (zh) * 2005-02-16 2008-02-06 汤姆逊许可公司 敏捷解码器
CN101511010A (zh) * 2009-03-27 2009-08-19 北京中星微电子有限公司 一种媒体流发送方法及装置
CN102665081A (zh) * 2012-05-14 2012-09-12 青岛海信信芯科技有限公司 多格式码流的解析方法、多格式码流的解析装置和显示装置
CN103581669A (zh) * 2013-11-08 2014-02-12 江苏万联新兆信息科技有限公司(外商合资) 支持多编码格式多进程同时使用的编码方法

Also Published As

Publication number Publication date
CN104768051A (zh) 2015-07-08
WO2016141847A1 (zh) 2016-09-15

Similar Documents

Publication Publication Date Title
CN104768051B (zh) 多编码格式节目流的自适应切换方法及系统
KR101858200B1 (ko) 비디오 데이터 스트림 개념
KR101737325B1 (ko) 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치
CN103843301B (zh) 经译码多媒体数据的网络串流期间的表示之间的切换
TWI358234B (en) Data transmission system, receiving apparatus, and
US9380351B2 (en) Apparatus for transmitting encoded video stream and method for transmitting the same
US20020095683A1 (en) Information providing method
CN103024603B (zh) 一种用于解决播放网络视频时短时停顿的装置及方法
JP5524193B2 (ja) メディアストリーム処理
WO2011121083A1 (en) A method for recovering content streamed into chunk
US20210029388A1 (en) Communication apparatus, communication data generation method, and communication data processing method
BRPI1005463A2 (pt) Método e dispositivo para recepção de conteúdo de vídeo e radiodifusão de serviços com transmissão prévia de dados
WO2009126253A1 (en) Staggercasting with temporal scalability
CN104768033A (zh) 一种基于预加载的网络电视频道快速切换方法及系统
WO2019192481A1 (zh) 媒体信息处理方法、相关设备及计算机存储介质
CA3164485A1 (en) Decoder, encoder and methods for mixing nal units of different nal unit types in video streams
CN105191324A (zh) 通信设备、通信数据生成方法、以及通信数据处理方法
KR20110044493A (ko) Vod 서비스를 제공하는 디지털 방송 시스템에서 데이터 저장 방법 및 그를 수행하는 장치
CA2934905A1 (en) Communication apparatus, communication data generation method, and communication data processing method
JP5854208B2 (ja) 多段高速再生のための映像コンテンツ生成方法
US20220256236A1 (en) Latency management for content delivery
EP2524502A1 (en) Method and apparatus for processing transport streams
CN108353183A (zh) 用于基于图片组(gop)对视频数据流进行编码的方法
CN110769326A (zh) 视频切片文件的加载、视频文件的播放方法和装置
CN111866574A (zh) 一种移动端流媒体实时倒放方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Wang Weiwei

Inventor after: Sun Xuegang

Inventor after: Deng Peng

Inventor before: Sun Xuegang

Inventor before: Deng Peng

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171215

Termination date: 20200306