CN104768051A - 多编码格式节目流的自适应切换方法及系统 - Google Patents
多编码格式节目流的自适应切换方法及系统 Download PDFInfo
- Publication number
- CN104768051A CN104768051A CN201510098986.5A CN201510098986A CN104768051A CN 104768051 A CN104768051 A CN 104768051A CN 201510098986 A CN201510098986 A CN 201510098986A CN 104768051 A CN104768051 A CN 104768051A
- Authority
- CN
- China
- Prior art keywords
- decoder
- bandwidth
- fragment
- thread
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000011218 segmentation Effects 0.000 claims abstract description 11
- 239000012634 fragment Substances 0.000 claims description 112
- 230000003044 adaptive effect Effects 0.000 claims description 94
- 230000006978 adaptation Effects 0.000 claims description 14
- 238000009434 installation Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling 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
-
- 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/25—Management 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/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26216—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/4405—Processing 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
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
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片段并进行解析,获取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片段并进行解析,获取TS包中的PMT表,从PMT表中解析出每组对应的音视频编码格式以及TS片段的大小。
9.根据权利要求8所述的多编码格式节目流的自适应切换系统,其特征在于,所述编码格式获取单元下载每个组当中的第一个TS片段并进行解析,下载大小为188B,对188B的数据进行解析,如果不包含PMT表,则继续下载188B,直到TS片段中包含PMT表。
10.根据权利要求6所述的多编码格式节目流的自适应切换系统,其特征在于,所述第一解码器设置单元控制第一线程根据最小带宽查找到对应的分组,根据分组解析出对应的音视频编码格式初始化第一解码器,若第一解码器为创建状态则销毁重建,并绑定显存窗口,同时开始下载分组中的第一个TS片段,并注入到第一解码器开始播放,并将绑定的显存窗口设置为顶层。
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 true CN104768051A (zh) | 2015-07-08 |
CN104768051B 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) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016141847A1 (zh) * | 2015-03-06 | 2016-09-15 | 深圳市九洲电器有限公司 | 多编码格式节目流的自适应切换方法及系统 |
CN106162232A (zh) * | 2016-06-29 | 2016-11-23 | 乐视控股(北京)有限公司 | 视频播放控制方法及装置 |
CN106210927A (zh) * | 2016-09-05 | 2016-12-07 | 青岛海信电器股份有限公司 | 一种音轨切换方法和装置 |
CN106982249A (zh) * | 2017-03-03 | 2017-07-25 | 广州优视网络科技有限公司 | 多线程分段下载方法、设备、客户端设备及电子设备 |
CN107438056A (zh) * | 2016-05-26 | 2017-12-05 | 深圳富泰宏精密工业有限公司 | VoIP通讯模组、电子装置及VoIP通讯方法 |
CN109218763A (zh) * | 2018-11-12 | 2019-01-15 | 青岛海信传媒网络技术有限公司 | 一种流媒体视频切换的方法及智能电视 |
CN110166824A (zh) * | 2019-06-24 | 2019-08-23 | 湖南国科微电子股份有限公司 | 基于机顶盒的电视直播切换台方法及系统 |
CN110213659A (zh) * | 2019-07-01 | 2019-09-06 | 杭州当虹科技股份有限公司 | 一种可在不同视频流间快速切换播放器的实现方法 |
CN110708564A (zh) * | 2019-10-21 | 2020-01-17 | 上海网达软件股份有限公司 | 一种动态切换视频流的直播转码方法及系统 |
CN111479164A (zh) * | 2019-01-23 | 2020-07-31 | 上海哔哩哔哩科技有限公司 | 硬件解码动态分辨率无缝切换方法、装置及存储介质 |
CN112583521A (zh) * | 2019-09-27 | 2021-03-30 | 华为技术有限公司 | 译码方法、装置、译码设备、终端设备和网络设备 |
CN113676769A (zh) * | 2021-08-23 | 2021-11-19 | 北京字跳网络技术有限公司 | 视频解码方法、设备、存储介质及程序产品 |
CN113691886A (zh) * | 2021-08-25 | 2021-11-23 | 三星电子(中国)研发中心 | 流媒体文件的下载方法和装置 |
CN113709585A (zh) * | 2021-08-25 | 2021-11-26 | 三星电子(中国)研发中心 | 流媒体播放方法和装置 |
CN117615175A (zh) * | 2023-11-24 | 2024-02-27 | 书行科技(北京)有限公司 | 视频播放方法、装置、电子设备和计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101120592A (zh) * | 2005-02-16 | 2008-02-06 | 汤姆逊许可公司 | 敏捷解码器 |
US20080187053A1 (en) * | 2007-02-06 | 2008-08-07 | Microsoft Corporation | Scalable multi-thread video decoding |
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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104768051B (zh) * | 2015-03-06 | 2017-12-15 | 深圳市九洲电器有限公司 | 多编码格式节目流的自适应切换方法及系统 |
-
2015
- 2015-03-06 CN CN201510098986.5A patent/CN104768051B/zh not_active Expired - Fee Related
-
2016
- 2016-03-03 WO PCT/CN2016/075536 patent/WO2016141847A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101120592A (zh) * | 2005-02-16 | 2008-02-06 | 汤姆逊许可公司 | 敏捷解码器 |
US20080187053A1 (en) * | 2007-02-06 | 2008-08-07 | Microsoft Corporation | Scalable multi-thread video decoding |
CN101511010A (zh) * | 2009-03-27 | 2009-08-19 | 北京中星微电子有限公司 | 一种媒体流发送方法及装置 |
CN102665081A (zh) * | 2012-05-14 | 2012-09-12 | 青岛海信信芯科技有限公司 | 多格式码流的解析方法、多格式码流的解析装置和显示装置 |
CN103581669A (zh) * | 2013-11-08 | 2014-02-12 | 江苏万联新兆信息科技有限公司(外商合资) | 支持多编码格式多进程同时使用的编码方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016141847A1 (zh) * | 2015-03-06 | 2016-09-15 | 深圳市九洲电器有限公司 | 多编码格式节目流的自适应切换方法及系统 |
CN107438056A (zh) * | 2016-05-26 | 2017-12-05 | 深圳富泰宏精密工业有限公司 | 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 | 广州优视网络科技有限公司 | 多线程分段下载方法、设备、客户端设备及电子设备 |
WO2018157850A1 (zh) * | 2017-03-03 | 2018-09-07 | 广州优视网络科技有限公司 | 多线程分段下载方法、设备、客户端设备、电子设备及存储介质 |
CN109218763A (zh) * | 2018-11-12 | 2019-01-15 | 青岛海信传媒网络技术有限公司 | 一种流媒体视频切换的方法及智能电视 |
CN111479164A (zh) * | 2019-01-23 | 2020-07-31 | 上海哔哩哔哩科技有限公司 | 硬件解码动态分辨率无缝切换方法、装置及存储介质 |
CN110166824A (zh) * | 2019-06-24 | 2019-08-23 | 湖南国科微电子股份有限公司 | 基于机顶盒的电视直播切换台方法及系统 |
CN110166824B (zh) * | 2019-06-24 | 2021-07-06 | 湖南国科微电子股份有限公司 | 基于机顶盒的电视直播切换台方法及系统 |
CN110213659A (zh) * | 2019-07-01 | 2019-09-06 | 杭州当虹科技股份有限公司 | 一种可在不同视频流间快速切换播放器的实现方法 |
CN112583521A (zh) * | 2019-09-27 | 2021-03-30 | 华为技术有限公司 | 译码方法、装置、译码设备、终端设备和网络设备 |
CN110708564A (zh) * | 2019-10-21 | 2020-01-17 | 上海网达软件股份有限公司 | 一种动态切换视频流的直播转码方法及系统 |
CN113676769A (zh) * | 2021-08-23 | 2021-11-19 | 北京字跳网络技术有限公司 | 视频解码方法、设备、存储介质及程序产品 |
CN113676769B (zh) * | 2021-08-23 | 2023-03-31 | 北京字跳网络技术有限公司 | 视频解码方法、设备及存储介质 |
CN113691886A (zh) * | 2021-08-25 | 2021-11-23 | 三星电子(中国)研发中心 | 流媒体文件的下载方法和装置 |
CN113709585A (zh) * | 2021-08-25 | 2021-11-26 | 三星电子(中国)研发中心 | 流媒体播放方法和装置 |
CN113709585B (zh) * | 2021-08-25 | 2023-09-19 | 三星电子(中国)研发中心 | 流媒体播放方法和装置 |
CN113691886B (zh) * | 2021-08-25 | 2024-05-07 | 三星电子(中国)研发中心 | 流媒体文件的下载方法和装置 |
CN117615175A (zh) * | 2023-11-24 | 2024-02-27 | 书行科技(北京)有限公司 | 视频播放方法、装置、电子设备和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104768051B (zh) | 2017-12-15 |
WO2016141847A1 (zh) | 2016-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104768051A (zh) | 多编码格式节目流的自适应切换方法及系统 | |
JP5964972B2 (ja) | 複数のソースからのマルチメディアデータのストリーミング | |
CN110636346B (zh) | 一种码率自适应切换方法、装置、电子设备及存储介质 | |
JP5400165B2 (ja) | 高速チャネル変更 | |
CN103856806A (zh) | 视频流切换方法、装置及系统 | |
CN102055967B (zh) | 多视点视频的视角切换以及编码方法和装置 | |
JP5524193B2 (ja) | メディアストリーム処理 | |
US10547888B2 (en) | Method and device for processing adaptive media service, encoder and decoder | |
CN101663892A (zh) | 数字多媒体信道切换 | |
EP2652961A2 (en) | Micro-filtering of streaming entertainment content based on parental control setting | |
EP3490263B1 (en) | Channel switching method and device | |
CN101686391A (zh) | 视频编码/解码方法、装置与视频播放方法、装置及系统 | |
US20210014558A1 (en) | Media Information Processing Method, Related Device, and Computer Storage Medium | |
CN111147860B (zh) | 一种视频数据的解码方法及装置 | |
CN104661044A (zh) | 一种广电ott融合终端及其实现方法 | |
CA2971859A1 (en) | Multiple stream video compression in multiple bitrate video encoding | |
CN106416268A (zh) | 复用分层编码内容的方法和装置 | |
CA3164485A1 (en) | Decoder, encoder and methods for mixing nal units of different nal unit types in video streams | |
EP2341680A1 (en) | Method and apparatus for adaptation of a multimedia content | |
CN102427531B (zh) | 跨层交互式图像质量连续可调的实时视频编解码方法 | |
CN111800662A (zh) | 用于快速信道改变的系统和方法 | |
KR102349451B1 (ko) | 멀티미디어의 전송 또는 수신 방법 및 그 장치 | |
CN102480643A (zh) | 一种iptv快速预览和切换的方法 | |
KR101980721B1 (ko) | 멀티미디어 스트리밍 서비스 프레젠테이션 방법, 관련 장치 및 관련 시스템 | |
EP2978225B1 (en) | Method for obtaining in real time a user selected multimedia content part |
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 |