CN110536175B - 一种码率切换方法和装置 - Google Patents
一种码率切换方法和装置 Download PDFInfo
- Publication number
- CN110536175B CN110536175B CN201810509972.1A CN201810509972A CN110536175B CN 110536175 B CN110536175 B CN 110536175B CN 201810509972 A CN201810509972 A CN 201810509972A CN 110536175 B CN110536175 B CN 110536175B
- Authority
- CN
- China
- Prior art keywords
- video
- code rate
- downloading
- video source
- decoder
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 119
- 239000012634 fragment Substances 0.000 claims abstract description 341
- 230000008569 process Effects 0.000 claims abstract description 56
- 238000013467 fragmentation Methods 0.000 claims description 6
- 238000006062 fragmentation reaction Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000009471 action Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000011664 signaling Effects 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 241000272194 Ciconiiformes Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
-
- 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- 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/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4621—Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
-
- 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)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请实施例公开了一种码率切换方法,所述方法包括:下载视频源在第一码率下视频分片的过程中,向服务器上传用于标识网络下载质量的下载参数;获取所述服务器根据所述下载参数确定的切换信息,所述切换信息包括第二码率的标识;根据所述切换信息下载所述视频源在所述第二码率下的视频分片;若满足预设条件,切换到所述第二码率以播放所述视频源在所述第二码率下的视频分片。可见,本实施例可以使得可以在网络下载质量不佳时就可以开始下载低码率下的视频分片,并从用户原本选择的高码率自动切换到低码率,不仅不需要用户手动切换,而且在切换前就已经下载了低码率下的视频分片,可以在一定程度上避免播放视频出现卡顿的情况。
Description
技术领域
本申请涉及数据处理领域,特别是涉及一种码率切换方法和装置。
背景技术
随着网络技术的发展,用户可以使用终端上网观看视频。网上一个视频源所提供的视频一般会有分有多种码率,不同码率的视频有着不同的清晰程度。故用户在观看一个视频源所提供的视频时,可以根据观看需求等选择所观看视频的码率,之后,终端可以从该视频源下载所选择码率对应的视频分片,一个码率下视频分片携带有该视频源在该码率下的部分视频流数据,终端可以通过依次播放下载的视频分片实现播放该视频源提供的视频。
然而,由于用户所使用终端的网络波动问题等,有可能一段时间内网络速度难以支持用户原本选择的码率,例如当原本选择的码率较高时,该码率对应的视频分片也较大,当网络速度不稳定或变慢时,下载视频分片所提供的播放时长将不足以满足正常播放视频的速度,从而导致用户观看视频出现卡顿。
为了能够继续观看视频,用户只能手动切换到较低的码率,而手动操作切换码率会带来额外的用户操作,且切换后也不见得会立刻消除卡顿的现象,从而造成不好的用户观看体验。
发明内容
为了解决上述技术问题,本申请提供了一种码率切换方法和装置,以实现用户可以在没有察觉到网络波动带来的影响下观看视频,提高了用户观看体验。
本申请实施例公开了如下技术方案:
本申请第一方面提供了一种码率切换方法,所述方法包括:
下载视频源在第一码率下视频分片的过程中,向服务器上传用于标识网络下载质量的下载参数;
获取所述服务器根据所述下载参数确定的切换信息,所述切换信息包括第二码率的标识;
根据所述切换信息下载所述视频源在所述第二码率下的视频分片;
若满足预设条件,切换到所述第二码率以播放所述视频源在所述第二码率下的视频分片。
本申请第二方面提供了一种码率切换装置,所述装置包括:上传模块、获取模块、下载模块和切换模块;
所述上传模块,用于下载视频源在第一码率下视频分片的过程中,向服务器上传用于标识网络下载质量的下载参数;
所述获取模块,用于获取所述服务器根据所述下载参数确定的切换信息,所述切换信息包括第二码率的标识;
所述下载模块,用于根据所述切换信息下载所述视频源在所述第二码率下的视频分片;
所述切换模块,用于若满足预设条件,切换到所述第二码率以播放所述视频源在所述第二码率下的视频分片。
本申请第三方面提供了一种码率切换设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面中任一项所述的码率切换方法。
本申请第四方面提供了一种视频播放方法,所述方法包括:
在视频播放码率为第一码率下播放视频源在所述第一码率下的视频分片;
在下载所述视频源在所述第一码率下视频分片的过程中,向服务器上传用于标识网络下载质量的下载参数;
获取所述服务器根据所述下载参数确定的切换信息,所述切换信息包括第二码率的标识;
根据所述切换信息下载所述视频源在所述第二码率下的视频分片;
若满足预设条件,将所述视频播放码率切换到所述第二码率,并播放所述视频源在所述第二码率下的视频分片。
本申请第五方面提供了一种视频播放装置,所述装置包括:播放模块、上传模块、获取模块、下载模块和切换模块;
所述播放模块,用于在视频播放码率为第一码率下播放视频源在所述第一码率下的视频分片;
所述上传模块,用于在下载所述视频源在所述第一码率下视频分片的过程中,向服务器上传用于标识网络下载质量的下载参数;
所述获取模块,用于获取所述服务器根据所述下载参数确定的切换信息,所述切换信息包括第二码率的标识;
所述下载模块,用于根据所述切换信息下载所述视频源在所述第二码率下的视频分片;
所述切换模块,用于若满足预设条件,将所述视频播放码率切换到所述第二码率,并播放所述视频源在所述第二码率下的视频分片。
本申请第六方面提供了一种视频播放设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第四方面中任一项所述的码率切换方法。
本申请第七方面提供了一种码率切换方法,所述方法包括:
获取终端上传的下载参数,所述下载参数用于标识所述终端下载视频源在第一码率下视频分片的网络下载质量;
根据所述下载参数确定对应所述网络下载质量的第二码率;
向所述终端发送携带有所述第二码率的标识的切换信息以指示所述终端下载所述视频源在所述第二码率下的视频分片。
本申请第八方面提供了一种码率切换装置,所述装置包括:获取模块、确定模块和发送模块;
所述获取模块,用于获取终端上传的下载参数,所述下载参数用于标识所述终端下载视频源在第一码率下视频分片的网络下载质量;
所述确定模块,用于根据所述下载参数确定对应所述网络下载质量的第二码率;
所述发送模块,用于向所述终端发送携带有所述第二码率的标识的切换信息以指示所述终端下载所述视频源在第二码率下的视频分片。
本申请第九方面提供了一种码率切换设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第七方面中所述的码率切换方法。
本申请第十方面提供了一种码率切换***,所述***包括终端以及服务器;
所述终端,用于下载视频源在第一码率下视频分片的过程中,向所述服务器上传用于标识网络下载质量的下载参数;获取所述服务器根据所述下载参数确定的切换信息,所述切换信息包括第二码率的标识;根据所述切换信息下载所述视频源在所述第二码率下的视频分片;若满足预设条件,切换到所述第二码率以播放所述视频源在所述第二码率下的视频分片;
所述服务器,用于获取所述终端上传的所述下载参数;根据所述下载参数确定对应所述网络下载质量的所述第二码率;向所述终端发送所述切换信息以指示所述终端下载所述视频源在所述第二码率下的视频分片。
本申请第十一方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面中任一项所述的码率切换方法、第四方面中所述的视频播放方法或第七方面中所述的码率切换方法。
由上述技术方案可以看出,通过下载视频源在第一码率下视频分片,以便播放第一码率下视频分片的过程中,可以向服务器上传下载参数,由于该下载参数可以标识下载第一码率下视频分片的网络下载质量,故从服务器获取的切换信息可以指示出适合该下载参数或者说网络下载质量的码率,例如第二码率。根据该切换信息下载该视频源在第二码率下的视频分片,并在满足预设条件下切换到第二码率以播放该视频源在第二码率下的视频分片。由此实现了通过能够指示当前网络下载质量的切换信息灵活的下载相应码率下的视频分片,并在满足条件时自动切换当前播放视频的码率。使得可以在网络下载质量不佳时就可以开始下载低码率下的视频分片,并从用户原本选择的高码率自动切换到低码率,不仅不需要用户手动切换,而且在切换前就已经下载了低码率下的视频分片,可以在一定程度上避免播放视频出现卡顿的情况,使得用户可以在没有察觉到网络波动带来的影响下观看视频,提高了用户观看体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种码率切换***的架构示意图;
图2a为本申请实施例提供的一种码率切换方法的信令流程图;
图2b为本申请实施例提供的一种媒体索引文件的示意图;
图2c为本申请实施例提供的一种视频播放方法的信令流程图;
图3为本申请实施例提供的一种码率切换方法的信令流程图;
图4a为本申请实施例提供的一种码率切换装置的结构示意图;
图4b为本申请实施例提供的一种视频播放装置的结构示意图;
图5为本申请实施例提供的一种码率切换装置的结构示意图;
图6为本申请实施例提供的一种码率切换设备的结构示意图;
图7为本申请实施例提供的一种服务器结构示意图;
图8为本申请实施例提供的一种码率切换***的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在传统的码率切换方法中,用户在观看一个视频源所提供的视频时,可以根据观看需求等选择所观看视频的码率,之后,终端可以从该视频源下载所选择码率对应的视频分片,一个码率下视频分片携带有该视频源在该码率下的部分视频流数据,终端可以通过依次播放下载的视频分片实现播放该视频源提供的视频。其中,码率是指单位时间内传输或处理的比特(bit)的数量,例如,码率可以为1000bit/s、1000kbit/s。
需要说明的是,同一视频源在不同码率下的视频分片的清晰程度是不相同的,比如,一视频源在不同码率下的视频分片的分辨率是不相同的。具体地,若码率越高,那么视频源在该码率下的视频分片的清晰程度(比如分辨率)越高,反之,若码率越低,那么视频源在该码率下的视频分片的清晰程度(比如分辨率)越低;例如,视频源在高码率下视频分片的分辨率可以为1280P*720P,视频源在低码率下视频分片的分辨率可以为1920P*1080P。
然而,在传统的码率切换方法中,由于用户所使用终端的网络波动问题等,有可能一段时间内网络速度难以支持用户原本选择的码率,例如当原本选择的码率较高时,该码率对应的视频分片也较大,当网络速度不稳定或变慢时,下载视频分片所消耗的时间将大于该视频分片所能提供的播放时长,也就是说下载视频分片所提供的播放时长将不足以满足正常播放视频的速度,从而导致用户观看视频出现卡顿。为了能够继续观看视频,用户只能手动切换到较低的码率,而手动操作切换码率会带来额外的用户操作。并且,在传统的码率切换方法中,在用户手动操作切换码率后,才开始下载视频源在切换后的码率下的视频分片,这样,会导致用户手动操作切换码率后,还需要等待一段时间才能够继续观看视频,即在用户手动操作切换码率后,也不见得会立刻消除卡顿的现象,从而造成不好的用户观看体验。
为此,本申请实施例提供了一种码率切换方法,以希望能够灵活的下载不同码率下的视频分片,并在满足条件时自动切换当前播放视频的码率。使得可以在网络下载质量不佳时就可以开始下载低码率下的视频分片,并从用户原本选择的高码率自动切换到低码率,不仅不需要用户手动切换,而且在切换前就已经下载了低码率下的视频分片,可以在一定程度上避免播放视频出现卡顿的情况,使得用户可以在没有察觉到网络波动带来的影响下观看视频,提高了用户观看体验。
作为一种示例,图1示出了本实施例提供的一种码率切换***的架构示意图,本申请实施例提供的码率切换方法可以应用于如图1所示的码率切换***中,该码率切换***可以包括终端101和服务器102。其中,该终端101可以为具有通信功能以及播放视频功能的设备,比如可以为智能手机、平板电脑、笔记本电脑、台式电脑等设备;在本申请实施例中不对终端101进行限定。
可以理解的是,图1所示的码率切换***可以应用于视频播放场景中,例如,该视频播放场景可以为用户通过终端101点播网络地址所提供的、且播放时长为固定的视频(比如电影或者录制的电视节目),或者,该视频播放场景可以为用户通过终端101观看网络地址提供的、且播放时长为非固定的视频(比如直播视频)。
在该场景中,终端101下载视频源在第一码率下视频分片的过程中,可以向服务器102上传下载参数。其中,下载参数可以是用于标识下载第一码率下视频分片的网络下载质量的参数,例如,下载参数可以包括视频分片下载时间、视频分片对应的码率、缓冲时间等。视频源可以理解为不同码率的视频流数据,并且该视频源的来源可以是网络地址,例如,视频源可以是源自网络的、且提供了不同码率下的网络流媒体。视频分片可以为视频源在一个码率下连续的部分视频流数据,例如,视频源对应的播放时长为1分钟,可以将该视频源播放时间中的第30秒至第40秒的部分视频流数据作为视频分片。第一码率可以为终端101在下载视频源之前,预先为该视频源设置的码率,或者可以为用户为视频源所设置的码率。
在本实施例中,视频源在不同码率下均可以包括多个视频分片,每一个视频分片可以包括多个视频帧。其中,视频分片中的多个视频帧各自对应该视频源播放时间中的一个播放时刻,可以理解的是,视频分片在视频源中的播放时间可以理解为从该视频分片中播放顺序为第一个的视频帧所对应该视频源播放时间中的播放时刻,至该视频分片中播放顺序为最后一个的视频帧所对应该视频源播放时间中的播放时刻。
一个视频源在不同码率下的视频分片的数量都是相同的,举例来说,一个视频源在码率A和码率B下,均可以包括了8个视频分片。并且,视频分片可以具有与其对应的标识,视频分片的标识可以用于确定在播放视频源时视频分片的播放顺序,例如,假设播放视频源在第一码率下的视频分片的顺序为:先播放视频分片A,接着播放视频分片B,那么,便可以根据视频分片A的标识确定视频分片A的播放顺序为第一个,以及,可以根据分片B的标识确定视频分片B为视频分片A在播放顺序下的下一个视频分片。
需要说明的是,一视频源在不同码率下的视频分片中,对应同一个标识的多个视频分片各自在该视频源中的播放时间相同;举例来说,假设视频分片A为视频源在码率A下的一个视频分片,且视频分片A在该视频源中的播放时间为整个该视频源播放时间中的第1分30秒至第1分39秒,由于视频分片B为该视频源在码率B下的一个视频分片,并且视频分片B的标识与视频分片A的标识是相同的,那么,可以确定视频分片B在该视频源中的播放时间也可以为整个该视频源播放时间中的第1分30秒至第1分39秒。
服务器102获取终端101上传的下载参数后,可以先根据该下载参数确定出对应该下载参数的第二码率;其中,第二码率可以理解为适合下载参数所标识的网络下载质量的码率。接着,服务器102可以向终端101发送携带有第二码率的切换信息。由于该下载参数可以标识下载第一码率下视频分片的网络下载质量,故服务器102所发送的切换信息可以指示出适合该下载参数或者说网络下载质量的码率,例如第二码率。需要强调的是,在本实施例中,第一码率可以高于第二码率,也可以低于该第二码率,本申请实施例中不对第一码率和第二码率之间的高低关系做任何限定。
需要说明的是,服务器102根据下载参数所确定出的码率可能与终端当前所播放的码率相同,在这种码率相同的情况下,由于不具有切换的需求,服务器102可以在码率相同的情况下不向终端101发送切换信息。或者,服务器102也可以向终端101发送切换信息,由于切换信息中包括的码率标识与终端101当前正在下载、播放的码率的标识相同,终端101可以不用针对该切换信息做出后续处理。
终端101获取服务器102发送的切换信息后,终端101可以根据该切换信息,下载视频源在该第二码率下的视频分片。若满足预设条件,那么,终端101可以切换到该第二码率,以播放该视频源在该第二码率下的视频分片。
这样,便可以通过能够指示当前网络下载质量的切换信息,实现了终端101可以灵活地下载与当前网络下载质量相适应的码率下的视频分片,并在满足条件时自动切换当前播放视频的码率。使得可以在网络下载质量不佳时,终端101就可以自行开始下载低码率下的视频分片,并从用户原本选择的高码率自动切换到低码率,或者当终端101从网络下载质量不佳的上网环境(比如,使用3G移动通信技术上网)切换到网络下载质量较好的上网环境(比如,使用无线保真(Wireless-Fidelity,Wi-Fi)上网)时,终端101便可以自行开始下载高码率下的视频分片,并从原本预设的低码率切换到高码率;可见,在终端101切换码率的过程中,不仅不需要用户手动切换,而且在切换前就已经下载了低码率(或高码率)下的视频分片,可以在一定程度上避免播放视频出现卡顿的情况,使得用户可以在没有察觉到网络波动带来的影响下观看视频,提高了用户观看体验。
接下来,结合图1进行举例说明,如图1所示,假设用户正在通过终端101点播一集播放时长为40min的电视剧,并且用户为提供该电视剧的视频源所设置的码率为第一码率,其中,第一码率下该电视剧的清晰程度为高清(分辨率为1920P*1080P)。终端101下载该视频源在第一码率下视频分片的过程中,可以向服务器102上传下载质量的下载参数。然后,服务器102可以根据该下载参数,确定对应该下载参数的码率,具体地,由于该下载参数所标识的网络下载质量较差,故可以确定对应该下载参数的码率为比第一码率低的第二码率,并可以向终端101发送携带有该第二码率的切换信息。接着,终端101可以根据该切换信息,下载该视频源在第二码率下的视频分片,其中,第二码率下该电视剧的清晰程度为标清(分辨率为1280P*720P)。在满足条件时,终端101可以自行将播放该电视剧的码率由第一码率切换到第二码率,使得终端101可以播放该视频源在第二码率下的视频分片,从而使得在终端101切换码率的过程中,不仅不需要用户手动切换,而且在切换前就已经下载了第二码率下的视频分片,可以在一定程度上避免播放该电视剧出现卡顿的情况,使得用户可以在没有察觉到网络波动带来的影响下观看该电视剧。
可以理解的是,在上述应用场景中,虽然本申请实施方式的动作描述为部分由终端101执行、部分由服务器102执行,但是,这些动作也可以完全由终端101执行。本申请在执行主体方面不受限制,只要执行了本申请实施方式所公开的动作即可。
需要注意的是,上述应用场景仅是为了便于理解本申请而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
下面结合附图,详细说明本申请的各种非限制性实施方式。
接下来,将从终端侧与服务器侧交互的角度,对本申请所提供的码率切换方法进行介绍。参见图2a,为本申请实施例提供的一种码率切换方法的信令流程图。如图2a所示,可以包括如下步骤:
S201:终端下载视频源在第一码率下视频分片的过程中,向服务器上传用于标识网络下载质量的下载参数。
在本实施例中,终端可以先确定需要下载的视频源的码率为第一码率。该第一码率可以是播放视频的初始码率或者播放器的默认码率,该第一码率也可以是播放过程中用户自己调整后的码率。然后,该终端可以开始下载该视频源在第一码率下视频分片。为了保证当前下载视频源的码率适合当前网络下载质量,具体地,在该终端下载视频分片的过程中,该终端可以获取用于标识网络下载质量的下载参数,并可以将该下载参数向服务器上传,以便服务器可以根据该下载参数确定当前网络下载质量。
举例说明,假设用户所使用的终端为智能手机,当用户希望通过该智能手机中的企鹅电竞手机应用(Application,APP)点播一游戏视频时,其中,用户选择播放该游戏视频的码率为第一码率1000kbit/s;那么,该智能手机可以先确定提供该视频游戏的视频源,以及该视频源的码率为第一码率;然后,该智能手机可以下载该视频源在第一码率1000kbit/s下的视频分片,并且,该智能手机在下载第一码率下视频分片的过程中,可以获取对应的下载参数,并可以向服务器上传该下载参数。
需要说明的是,本申请实施例提供了多种终端在下载视频分片的过程中,向服务器上传下载参数的方式,例如,可以是终端执行下载一个视频分片以及向服务器上传下载参数,或者,可以是终端在下载完一个视频分片后,向服务器上传下载参数。下面将针对上述两种方式具体介绍:
第一种方式:终端执行下载一个视频分片以及向服务器上传下载参数。
在本方式中,终端可以在下载视频源在第一码率下的视频分片的过程中,依据预设方式向服务器上传用于标识下载视频分片的网络下载质量的下载参数;比如,终端可以周期性的向服务器上传下载参数,举例来说,终端可以每隔1s便向服务器上传下载参数。
例如,终端可以在一个视频分片的下载进度达到50%时,便获取用于标识下载该视频分片的网络下载质量的下载参数,并在继续下载该视频分片的过程中,向服务器上传该下载参数。
需要说明的是,在本方式中,终端每一次向服务器上传的下载参数可以为从上一次上传下载参数到本次上传下载参数期间,终端获取到的下载参数。例如,终端第i次向服务器上传的下载参数可以为从终端第i-1次上传下载参数到第i次上传下载参数期间,终端获取到的下载参数。
第二种方式:终端在下载完一个视频分片后,向服务器上传下载参数。
在本方式中,终端可以在下载完视频源在第一码率下的一个视频分片后,获取用于标识下载该视频分片的网络下载质量的下载参数,并向服务器上传该下载参数。
例如,终端在一个视频分片的下载进度达到100%(即下载完该视频片段)后,可以获取到整个下载该视频片段过程中的下载参数,并可以向服务器上传该下载参数。
需要说明的是,在本方式中,终端每一次向服务器上传的下载参数可以为下载视频源在第一码率下的一个视频分片的整个过程中,终端获取到的下载参数。例如,终端在下载完视频源在第一码率下的视频分片A后,向服务器上传的下载参数可以为终端在下载视频分片A的整个过程中所获取到的下载参数;而终端在下载完视频源在第一码率下的视频分片B后,向服务器上传的下载参数可以为终端在下载视频分片B的整个过程中所获取到的下载参数。
可见,本方式可以保证获取到的下载参数能够反映出整个下载视频片段过程中各个参数的平均值,而并非只是某一时刻下的参数值,从而使得获取到的下载参数能够更加准确地体现出下载该视频分片的网络下载质量。
S202:所述服务器根据所述下载参数确定对应所述网络下载质量的第二码率,并向所述终端发送携带有所述第二码率的标识的切换信息以指示所述终端下载所述视频源在第二码率下的视频分片。
在终端向服务器上传用于标识网络下载质量的下载参数后,服务器可以先根据该下载参数,确定与该下载参数所标识网络下载质量对应的码率。若服务器确定的码率为与第一码率不同的第二码率,那么,服务器可以向终端发送携带有该第二码率的标识的切换信息,以通过该切换信息指示终端执行后续动作。
在本实施例的一种实现方式,服务器中可以预先存储有网络下载质量与码率之间的对应关系。当服务器接收到终端上传的下载参数后,服务器可以先确定该下载参数对应的网络下载质量,并根据预先存储的网络下载质量与码率之间的对应关系,确定出与该网络下载质量对应的码率。若服务器确定的码率为与第一码率不同的第二码率,那么,服务器可以根据该第二码率,生成携带有该第二码率的标识的切换信息,并将该切换信息向终端发送,以通过该切换信息指示终端执行后续动作。
举例来说,假设所下载的视频分片为视频源在第一码率1000bit/s下的视频分片,并且服务器接收到终端上传的下载参数包括了未下载视频分片的大小为500Mb、当前视频分片下载时间为5s以及接收速度为1kbps等。由于服务器可以根据该下载参数,确定出与该下载参数所标识的网络下载质量好于该第一码率1000bit/s对应的网络下载质量,故服务器可以确定与该下载参数所标识的下载质量对应的码率为第二码率2000bit/s,且该第二码率2000bit/s高于该第一码率1000bit/s。因此,服务器可以生成携带有该第二码率2000bit/s的标识的切换信息,并可以向终端发送该切换信息。
S203:所述终端根据所述切换信息下载所述视频源在第二码率下的视频分片。
终端在获取到服务器根据下载参数确定的切换信息后,若切换信息所指示的第二码率不同于第一码率,说明第一码率不适合当前的下载参数(或者说不适合当前的下载参数所标识的网络下载质量),而该切换信息所携带的第二码率更加适合当前的下载参数(或者说更加适合当前的下载参数所标识的网络下载质量)。故终端可以先根据该切换信息,确定需要下载的视频分片是视频源在第二码率下的视频分片。接着,终端可以下载视频源在第二码率下的视频分片。
举例来说,假设用户所使用的终端为智能手机,且该智能手机正在下载一游戏视频对应的视频源在第一码率1000kbit/s下的视频分片。在该智能手机下载该视频源在第一码率1000kbit/s下的视频分片的过程中,若获取到服务器发送的携带有第二码率2000kbit/s的切换信息,那么,该智能手机可以先确定该切换信息中的第二码率2000kbit/s,接着,开始下载该视频源在第二码率2000kbit/s下的视频分片。
需要说明的是,视频源在一个码率下的视频分片下载完后,视频分片需要通过特定的解码器进行解码,可以理解的是,该特定的解码器可以是根据该视频源在该码率下的解码器参数重启后的解码器。其中,解码器参数存储于视频分片中,且视频分片中的解码器参数能够体现出提供该视频分片的视频源的特征,比如可以体现该视频分片是该视频源在哪一个码率下的视频分片,以及该视频分片对应的压缩方式等。故视频源在一个码率下的视频分片下载完后,可以根据下载的视频分片,确定该视频源在该码率下的解码器参数,并根据该解码器参数重启解码器,以便可以通过该重启后的解码器对视频分片进行解码,使得解码后的视频分片可以进行播放。
由于视频源在一个码率下的解码器参数通常存储于该视频源在该码率下的视频分片的关键帧中,且视频分片的关键帧通常为该视频分片中播放顺序靠前的视频帧,比如视频分片的关键帧可以为该视频分片中播放顺序为第一的视频帧。因此,为保证视频源在第二码率下的视频分片下载完后,可以播放该视频分片,在本实施例中,下载视频源在第二码率下视频分片的过程中,所下载的视频分片是完整的视频分片,而并非是不完整的视频分片。
需要强调的是,本申请实施例提供了多种根据切换信息下载视频源在第二码率下的视频分片的方式,具体地,将在后面详细介绍该多种方式。
S204:若满足预设条件,所述终端切换到所述第二码率以播放所述视频源在所述第二码率下的视频分片。
可以理解的是,若终端根据切换信息下载视频源在第二码率下的视频分片后,便立刻切换到第二码率播放该视频源在第二码率下的视频分片;有可能会出现该视频源在第二码率下的一个视频分片未下载完,使得无法获取该视频分片中的解码器参数,从而无法根据该解码器参数重启解码器,进而无法对该视频源在第二码率下的视频分片进行解码,即该视频分片无法进行播放;或者,有可能该视频源在第一码率下的视频分片未播放完,影响视频分片的正常播放。
故此,在本实施例中,在终端根据切换信息下载视频源在第二码率下的视频分片后,可以先判断终端是否满足预设条件,若终端满足预设条件,比如已下载的视频源在第一码率下的视频分片播放完,或者,已下载完视频源在第二码率下的一个视频分片;那么,终端可以由第一码率切换到第二码率,以便可以播放已下载的视频源在第二码率下的视频分片。
举例来说,假设用户所使用的终端为智能手机,且该智能手机已经下载一游戏视频对应的视频源在第一码率1000kbit/s下的视频分片A,以及该游戏视频对应的视频源在第二码率2000kbit/s下的视频分片B,其中,该视频分片B为视频分片A在播放顺序下的下一个视频分片。当该智能手机播放完视频分片A时,可以认为满足了预设条件,该智能手机可以切换到第二码率2000kbit/s,以播放视频分片B。
需要说明的是,由于视频分片需要经过解码器解码后,才可以进行播放,并且,视频源在不同码率下的视频分片需要根据不同解码器参数重启后的解码器进行解码;例如,视频源在第一码率下的视频分片,需要通过根据第一码率对应的解码器参数重启后的解码器进行解码,而视频源在第二码率下的视频分片,需要通过根据第二码率对应的解码器参数重启后的解码器进行解码。
故此,在本申请实施例的一种实现方式中,若满足预设条件,终端可以通过根据第二码率对应的解码器参数重启后的解码器,实现终端切换到第二码率以播放视频源在第二码率下的视频分片。具体地,S204可以包括以下步骤:
步骤11:所述终端在通过下载所述视频源在第二码率下的视频分片,获取所述视频源在所述第二码率下的解码器参数后,若满足所述预设条件,根据所述解码器参数重启解码器。
在本方式中,在终端根据切换信息下载视频源在第二码率下的视频分片后,由于所下载的视频源在第二码率下的视频分片均是完整的视频分片,故这些视频分片均包括了关键帧,其中,关键帧携带有视频源在第二码率下的解码器参数。因此,当满足预设条件后,终端可以根据所下载的视频源在第二码率下的视频分片,获取该视频源在第二码率下的解码器参数,并根据该解码器参数重启解码器。需要说明的是,在一种实现方式中,可以在通过解码器对全部所下载的视频源在第一码率下的视频分片解码后,再根据该视频源在第二码率下的解码器参数重启解码器。
步骤12:所述终端切换到所述第二码率以播放所述视频源在第二码率下的视频分片。
在根据视频源在第二码率下的解码器参数重启解码器后,该重启后的解码器具有对视频源在第二码率下的视频分片解码的能力。故可以实现将终端中的解码器切换到第二码率,并可以利用切换到第二码率的解码器,对视频源在第二码率下的视频分片进行解码,以便可以播放该视频源在第二码率下的视频分片。
举例来说,假设用户所使用的终端为智能手机,该智能手机已经下载一游戏视频对应的视频源在第一码率1000kbit/s下的视频分片A,以及该游戏视频对应的视频源在第二码率2000kbit/s下的视频分片B,其中,该视频分片B为视频分片A在播放顺序下的下一个视频分片;并且,视频分片B中播放顺序为第一的视频帧为携带有该视频源在第二码率下的解码器参数的关键帧。当该智能手机播放完视频分片A时,可以认为满足了预设条件,该智能手机可以先根据视频分片B,获取该视频源在第二码率下的解码器参数,并根据该解码器参数重启解码器。接着,该智能手机可以利用重启后的解码器,对视频分片B进行解码,以便可以播放视频分片B。
需要说明的是,在本实施例中,根据视频源在第二码率下的解码器参数重启解码器之前,终端接收到携带有第二码率的标识的切换信息后,可以先根据该切换信息,对解复用模块的内部状态进行重置,例如该解复用模块可以先解复用传送流(Transport Stream,TS)中的节目群丛表(Program Association Table,PAT),然后,通过节目映射表(ProgramMap Table,PMT)查找音频与视频的数字电视(Packet Identifier,PID),接着,获取到视频源在第二码率下的解码器参数,最后,可以将该解码器参数向解码器发送,以便可以根据该解码器参数重启解码器。
由上述技术方案可以看出,通过下载视频源在第一码率下视频分片,以便播放第一码率下视频分片的过程中,可以向服务器上传下载参数,由于该下载参数可以标识下载第一码率下视频分片的网络下载质量,故从服务器获取的切换信息可以指示出适合该下载参数或者说网络下载质量的码率,例如第二码率。根据该切换信息下载该视频源在第二码率下的视频分片,并在满足预设条件下切换到第二码率以播放该视频源在第二码率下的视频分片。由此实现了通过能够指示当前网络下载质量的切换信息灵活的下载相应码率下的视频分片,并在满足条件时自动切换当前播放视频的码率。使得可以在网络下载质量不佳时,终端就可以自行开始下载低码率下的视频分片,并从用户原本选择的高码率自动切换到低码率,或者当终端从网络下载质量不佳的上网环境切换到网络下载质量较好的上网环境时,终端便可以自行开始下载高码率下的视频分片,并从原本预设的低码率切换到高码率;可见,在终端切换码率的过程中,不仅不需要用户手动切换,而且在切换前就已经下载了低码率(或高码率)下的视频分片,可以在一定程度上避免播放视频出现卡顿的情况,使得用户可以在没有察觉到网络波动带来的影响下观看视频,提高了用户观看体验。
上述提及了本申请实施例提供了多种根据切换信息下载视频源在第二码率下的视频分片的方式(即提供了多种S203的实现方式),例如,可以下载完视频源在第一码率下的一个完整视频分片后,开始下载该视频源在第二码率下的视频分片,或者,可以获取到切换信息时,开始下载视频源在第二码率下的视频分片。接下来,将针对这两种方式进行介绍。
第一种方式:所述终端下载完视频源在第一码率下的一个完整视频分片后,下载该视频源在第二码率下的视频分片。
在本方式中,若终端在获取切换信息时,正在下载视频源在第一码率下的第一视频分片;那么,终端可以先根据该第一视频分片的标识确定该第二视频分片的标识,其中,该第二视频分片可以为该第一视频分片在播放顺序下的下一个视频分片。接着,终端在下载完该视频源在第一码率下的第一视频分片后,可以根据该切换信息以及该第二视频分片的标识,从所述第二视频分片开始下载该视频源在第二码率下的视频分片。
举例来说,假设用户所使用的终端为智能手机,若该智能手机获取携带有第二码率2000kbit/s的切换信息,且该智能手机正在下载一游戏视频对应的视频源在第一码率1000kbit/s下完整的第一视频分片,其中,该第一视频分片在该游戏视频中的播放时间为整个该游戏视频播放时间中的第1分30秒至第1分39秒。那么,该智能手机可以先确定该切换信息中的第二码率2000kbit/s。然后,该智能手机可以根据该第一视频分片的标识,确定第二视频分片的标识,即可以确定出该第二视频分片在该游戏视频中的播放时间为整个该游戏视频播放时间中的第1分40秒至第1分49秒。接着,该智能手机在下载完完整的该第一视频分片后,可以根据该切换信息以及该第二视频分片的标识,从该第二视频分片开始下载该视频源在第二码率2000kbit/s下的视频分片。
第二种方式:所述终端获取到切换信息时,开始下载视频源在第二码率下的视频分片。
在本方式中,若终端在获取切换信息时,正在下载所述视频源在第一码率下的第一视频分片;那么,终端可以根据该切换信息以及该第一视频分片的标识,从该第一视频分片开始下载该视频源在第二码率下的视频分片。
作为一种可能的实现方式,在终端下载视频源在第一码率下的第一视频分片的过程中,当该终端获取到携带有第二码率的切换信息时,终端可以先停止下载该视频源在第一码率下的第一视频分片。然后,该终端可以根据第二码率以及该第一视频分片的标识,从第一视频分片开始下载该视频源在第二码率下的视频分片。
举例来说,假设用户所使用的终端为智能手机,当该智能手机正在下载一游戏视频对应的视频源在第一码率1000kbit/s下的第一视频分片,且该第一视频分片的下载进度达到50%时,若该智能手机获取携带有第二码率2000kbit/s的切换信息,那么,该智能手机可以先停止下载该视频源在第一码率1000kbit/s下的第一视频分片。然后,该智能手机可以根据第二码率2000kbit/s以及该第一视频分片的标识,从第一视频分片开始下载该视频源在第二码率下的视频分片。
可见,在本方式中,在终端下载视频源在第一码率下的第一视频分片的过程中,当终端获取到携带有第二码率的切换信息时,终端便可以开始从该第一视频分片开始下载该视频源在第二码率下的视频分片,而不需要等待下载完该视频源在第一码率下的完整第一视频分片,从而缩短了等待下载视频源在第二码率下的视频分片的时间,提高了下载视频源在第二码率下的视频分片的效率。
需要说明的是,上述实施例提供了多种所述终端根据切换信息下载视频源在第二码率下的视频分片的方式,而每种方式可以获取到不同的第一视频分片,例如获取到完整的第一视频分片、部分第一视频分片等。相应地,针对获取到不同的第一视频分片,在图2a对应的实施例的基础上,本申请实施例提供了多种若满足预设条件,所述终端切换到第二码率以播放视频源在第二码率下的视频分片的实现方式,即S204可以有多种实现方式。下面将针对其中两种实现方式进行介绍。
第一种方式:所述终端播放完视频源在第一码率下完整的视频分片后,切换到第二码率以播放视频源在第二码率下的视频分片。
具体地,若终端在下载完视频源在第一码率下完整的第一视频分片后,从第二视频分片开始下载该视频源在第二码率下的视频分片。那么,在终端在播放完该完整的第一视频分片后,终端可以切换到第二码率,并可以从该第二视频分片开始播放该视频源在第二码率下的视频分片。
举例来说,假设用户所使用的终端为智能手机,且该智能手机下载完一游戏视频对应的视频源在第一码率1000kbit/s下完整的第一视频分片后,从第二视频分片开始下载该视频源在第二码率2000kbit/s下的视频分片,其中,该第一视频分片在该游戏视频中的播放时间为整个该游戏视频播放时间中的第1分30秒至第1分39秒,该第二视频分片在该游戏视频中的播放时间为整个该游戏视频播放时间中的第1分40秒至第1分49秒。当该智能手机在播放该游戏视频到整个该游戏视频播放时间中的第1分39秒结束时,可以认为该智能手机已经播放完该完整的第一视频分片,接着,该智能手机可以从整个该游戏视频播放时间中的第1分40秒开始切换到第二码率2000kbit/s,以便可以从该第二视频分片开始播放该视频源在第二码率2000kbit/s下的第二视频分片。
第二种方式:所述终端播放完视频源在第一码率下的部分视频分片后,从该部分视频分片对应的最大时刻,切换到第二码率,以从该最大时刻开始播放视频源在第二码率下的视频分片。
具体地,若终端在下载完视频源在第一码率下的部分第一视频分片后,从第一视频分片开始下载该视频源在第二码率下的视频分片。那么,终端可以先确定已下载视频源在第一码率下的部分第一视频分片的最大播放时刻;其中,视频源在第一码率下的部分第一视频分片的最大播放时刻可以理解为该部分第一视频分片中播放顺序为最后一个的视频帧所对应的播放时刻。然后,终端在播放该视频源在第一码率下的该部分第一视频分片到达该最大播放时刻时,可以切换到第二码率,并从该最大播放时刻开始播放该视频源在第二码率下的第一视频分片;例如,可以先在该视频源在第二码率下的第一视频分片中,确定出与该最大播放时刻对应的视频帧,接着,可以从该视频帧在播放顺序下的下一个视频帧开始播放该视频源在第二码率下的第一视频分片。
举例来说,假设用户所使用的终端为智能手机,且该智能手机下载完一游戏视频对应的视频源在第一码率1000kbit/s下的部分第一视频分片后,从第一视频分片开始下载该视频源在第二码率2000kbit/s下的视频分片,其中,该第一视频分片在该游戏视频中的播放时间为整个该游戏视频播放时间中的第1分30秒至第1分39秒,该部分第一视频分片在该游戏视频中的播放时间为整个该游戏视频播放时间中的第1分30秒至第1分35秒,即该部分第一视频分片的最大播放时刻为整个该游戏视频播放时间中的第1分35秒。当该智能手机在播放该游戏视频到整个该游戏视频播放时间中的第1分35秒结束后,可以认为该智能手机已经播放完该部分第一视频分片,接着,该智能手机可以从整个该游戏视频播放时间中的第1分36秒开始切换到第二码率2000kbit/s,并从整个该游戏视频播放时间中的第1分36秒开始播放该视频源在第二码率下的第一视频分片。
可见,在本方式中,在终端播放视频源在第一码率下的部分第一视频分片的过程中,当终端在播放该部分第一视频分片到达该部分第一视频分片的最大播放时刻时,终端便可以切换到第二码率,并从该最大播放时刻开始播放该视频源在第二码率下的第一视频分片,而不需要等待播放完该视频源在第一码率下的完整第一视频分片,再切换到第二码率,从而缩短了终端切换码率所耗费的时间,提高了终端切换码率的速度。
在传统的方法中,终端只有在需要下载视频源在一个码率下的视频分片时,才会获取该码率下视频分片的下载位置。这样,会使得由第一码率切换到第二码率的过程中,终端只有获取切换到第二码率的请求时,终端才会开始获取第二码率下视频分片的下载位置,从而会导致在码率切换的过程中,终端还需要耗费时间获取第二码率下视频分片的下载位置,进而增加了码率切换的时间,降低了码率切换的速度。
故此,在本申请实施例的一种实现方式中,在图2a对应的实施例的基础上,所述方法在S201之前,还可以包括以下步骤:所述终端获取所述视频源在不同码率下的媒体索引文件。
具体地,终端在下载视频源在第一码率下的视频分片之前,可以先获取该视频源在不同码率下的媒体索引文件,其中,一个码率下的媒体索引文件可以用于标识所述码率下视频分片的下载位置。例如,如图2b所示,视频源提供了三种码率下的视频分片,这三种码率分别为第一码率、第二码率和第三码率,并且,不同码率下的视频分片可以是传送流(transport stream,ts)分片。终端在下载该视频源在第一码率下的视频分片之前,可以获取到该视频源对应的媒体索引文件集合,其中,该媒体索引文件集合可以包括该视频源在三种不同码率下的三个媒体索引文件,这三个媒体索引文件可以分别为该视频源在第一码率下的媒体索引文件、该视频源在第二码率下的媒体索引文件和该视频源在第三码率下的媒体索引文件;具体地,该第一码率下的媒体索引文件可以用于标识第一码率下ts分片A的下载位置,该第二码率下的媒体索引文件可以用于标识第二码率下ts分片B的下载位置,该第三码率下的媒体索引文件可以用于标识第三码率下ts分片C的下载位置。
由于终端下载视频源在第一码率下的视频分片之前,已经获取到该视频源在不同码率下的媒体索引文件。因此,当终端需要下载该视频源在第一码率下的视频分片时,终端可以先从该视频源在不同码率下的媒体索引文件中,确定出与第一码率对应的媒体索引文件;然后,终端可以根据与第一码率对应的媒体索引文件,确定该视频源在第一码率下视频分片的下载位置,并根据该下载位置,下载该视频源在第一码率下的视频分片。
需要说明的是,用户所观看的视频为点播视频时,由于点播视频的播放时长是固定的,所以,提供点播视频的视频源在不同码率下视频分片的下载位置也是固定不变的,也就是说,提供点播视频的视频源在不同码率下的媒体索引文件也是固定不变的。
而用户所观看的视频为直播视频时,由于直播视频的播放时长是不固定的,所以,提供直播视频的视频源在不同码率下视频分片的下载位置也会周期性地更新,也就是说,提供直播视频的视频源在不同码率下的媒体索引文件也会周期性地更新。因此,当用户所观看的视频为直播视频时,在本实施例中,可以在下载视频源在一个码率下视频分片的过程中,周期性地获取该视频源在不同码率下的媒体索引文件。
可见,在本申请实施例的技术方案中,由于可以在下载视频源在一个码率下视频分片之前,获取了视频源在不同码率下的媒体索引文件,因此,在码率切换的过程中,终端可以直接在本地获取到切换后的码率下的媒体索引文件,即可以直接在本地获取到切换后的码率下视频分片的下载位置,而不再需要耗费时间去获取切换后的码率下视频分片的下载位置,从而缩短了码率切换的时间,提高了码率切换的速度。
接下来,将从终端侧与服务器侧交互的角度,对本申请所提供的视频播放方法进行介绍。参见图2c,为本申请实施例提供的一种视频播放方法的信令流程图。如图2c所示,可以包括如下步骤:
S211:终端在视频播放码率为第一码率下播放视频源在所述第一码率下的视频分片。
举例说明,假设用户所使用的终端为平板电脑,当用户希望通过该平板电脑中的腾讯视频APP点播一部电影时,用户可以通过点击播放键,以该腾讯视频APP开始播放该电影。具体地,在用户点击播放键后,该平板电脑可以先确定提供该电影的视频源,以及确定播放该电影的码率为默认码率1000kbit/s(即第一码率);并且,该平板电脑在开始播放该电影时,可以是在播放码率为默认码率1000kbit/s下播放该视频源在该默认码率1000kbit/s下的视频分片。
S212:所述终端在下载所述视频源在所述第一码率下视频分片的过程中,向服务器上传用于标识网络下载质量的下载参数。
需要说明的是,S212与上述S201相似,请参见上述实施例中的针对S201的相关介绍,在此不再赘述。
继续以S211中的例子为例,该平板电脑在下载该电影对应的视频源在默认码率1000kbit/s下视频分片的过程中,该平板电脑可以获取对应的下载参数,并可以向服务器上传该下载参数。
S213:所述服务器根据所述下载参数确定对应所述网络下载质量的第二码率,并向所述终端发送携带有所述第二码率的标识的切换信息以指示所述终端下载所述视频源在第二码率下的视频分片。
其中,所述切换信息包括第二码率的标识。需要说明的是,S213与上述S202相似,请参见上述实施例中的针对S202的相关介绍,在此不再赘述。
继续以S212中的例子为例,假设该平板电脑所下载的视频分片为视频源在默认码率1000bit/s下的视频分片,并且服务器接收到终端上传的下载参数包括了未下载视频分片的大小为500Mb、当前视频分片下载时间为5s以及接收速度为1kbps等。由于服务器可以根据该下载参数,确定出与该下载参数所标识的网络下载质量好于该默认码率1000bit/s对应的网络下载质量,故服务器可以确定与该下载参数所标识的下载质量对应的码率为第二码率2000bit/s,且该第二码率2000bit/s高于该默认码率1000bit/s。因此,服务器可以生成携带有该第二码率2000bit/s的标识的切换信息,并可以向该平板电脑发送该切换信息。
S214:所述终端根据所述切换信息下载所述视频源在所述第二码率下的视频分片。
需要说明的是,S214与上述S203相似,请参见上述实施例中的针对S203的相关介绍,在此不再赘述。
继续以S213中的例子为例,该平板电脑下载该视频源在默认码率1000kbit/s下的视频分片的过程中,若获取到服务器发送的携带有第二码率2000kbit/s的切换信息,那么,该平板电脑可以先确定该切换信息中的第二码率2000kbit/s,接着,开始下载该视频源在第二码率2000kbit/s下的视频分片。
S215:若满足预设条件,所述终端将所述视频播放码率切换到所述第二码率,并播放所述视频源在所述第二码率下的视频分片。
需要说明的是,S215与上述S204相似,请参见上述实施例中的针对S204的相关介绍,在此不再赘述。
举例来说,假设该平板电脑已经下载该电影对应的视频源在默认码率1000kbit/s下的视频分片A,以及该电影对应的视频源在第二码率2000kbit/s下的视频分片B,其中,该视频分片B为视频分片A在播放顺序下的下一个视频分片。当该平板电脑播放完视频分片A时,可以认为满足了预设条件,该平板电脑可以切换到第二码率2000kbit/s,以播放视频分片B。
由上述技术方案可以看出,通过下载视频源在第一码率下视频分片,以便播放第一码率下视频分片的过程中,可以向服务器上传下载参数,由于该下载参数可以标识下载第一码率下视频分片的网络下载质量,故从服务器获取的切换信息可以指示出适合该下载参数或者说网络下载质量的码率,例如第二码率。根据该切换信息下载该视频源在第二码率下的视频分片,并在满足预设条件下切换到第二码率以播放该视频源在第二码率下的视频分片。由此实现了通过能够指示当前网络下载质量的切换信息灵活的下载相应码率下的视频分片,并在满足条件时自动切换当前播放视频的码率。使得可以在网络下载质量不佳时就可以开始下载低码率下的视频分片,并从用户原本选择的高码率自动切换到低码率,不仅不需要用户手动切换,而且在切换前就已经下载了低码率下的视频分片,可以在一定程度上避免播放视频出现卡顿的情况,使得用户可以在没有察觉到网络波动带来的影响下观看视频,提高了用户观看体验。
为便于更好的理解和实施本申请实施例的上述方案,下面将结合图3来举例相应的应用场景,对本申请实施例所提供的一种码率切换方法进行具体说明。
假设用户正在通过智能手机(即终端)中的腾讯视频APP点播电影《红海行动》,并且用户为提供该电影《红海行动》的视频源所设置的码率为第一码率;那么,在该智能手机下载提供该电影《红海行动》的视频源在第一码率下视频分片的过程中,码率切换方法可以包括以下步骤:
S301:智能手机可以获取视频源在不同码率下的媒体索引文件。
S302:所述智能手机可以根据所述视频源在第一码率下的媒体索引文件,下载所述视频源在所述第一码率下的视频分片;
S303:所述智能手机在下载完所述视频源在所述第一码率下的一个视频分片后,可以向服务器上传用于标识下载所述视频分片的网络下载质量的下载参数。
S304:所述服务器可以根据所述下载参数确定对应所述网络下载质量的第二码率,并可以向所述智能手机发送携带有所述第二码率的标识的切换信息,以指示所述智能手机下载所述视频源在第二码率下的视频分片。
其中,所述第二码率低于所述第一码率。
S305:若所述智能手机在获取所述切换信息时,正在下载所述视频源在第一码率下的第一视频分片,所述智能手机可以根据所述第一视频分片的标识确定第二视频分片的标识。
其中,所述第二视频分片为所述第一视频分片在播放顺序下的下一个视频分片。
S306、所述智能手机根据所述切换信息,对解复用模块的内部状态进行重置。
S307:所述智能手机在下载完所述视频源在第一码率下的第一视频分片后,根据所述切换信息以及所述第二视频分片的标识,从所述第二视频分片开始下载所述视频源在第二码率下的视频分片。
S308、所述智能手机获取所述视频源在所述第二码率下的解码器参数,并根据所述解码器参数重启解码器。
S309:所述智能手机在播放完所述视频源在第一码率下的第一视频分片后,切换到所述第二码率以播放所述视频源在第二码率下的所述第二视频分片。
由上述技术方案可以看出,通过下载视频源在第一码率下视频分片,以便播放第一码率下视频分片的过程中,可以向服务器上传下载参数,由于该下载参数可以标识下载第一码率下视频分片的网络下载质量,故从服务器获取的切换信息可以指示出适合该下载参数或者说网络下载质量的码率,例如第二码率。根据该切换信息下载该视频源在第二码率下的视频分片,并在满足预设条件下切换到第二码率以播放该视频源在第二码率下的视频分片。由此实现了通过能够指示当前网络下载质量的切换信息灵活的下载相应码率下的视频分片,并在满足条件时自动切换当前播放视频的码率。使得可以在网络下载质量不佳时就可以开始下载低码率下的视频分片,并从用户原本选择的高码率自动切换到低码率,不仅不需要用户手动切换,而且在切换前就已经下载了低码率下的视频分片,可以在一定程度上避免播放视频出现卡顿的情况,使得用户可以在没有察觉到网络波动带来的影响下观看视频,提高了用户观看体验。
为便于更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关装置。
请参阅图4a所示,本申请实施例提供的一种码率切换装置400,该码率切换装置400可以包括:上传模块401、获取模块402、下载模块403和切换模块404;
所述上传模块401,用于下载视频源在第一码率下视频分片的过程中,向服务器上传用于标识网络下载质量的下载参数;
所述获取模块402,用于获取所述服务器根据所述下载参数确定的切换信息,所述切换信息包括第二码率的标识;
所述下载模块403,用于根据所述切换信息下载所述视频源在所述第二码率下的视频分片;
所述切换模块404,用于若满足预设条件,切换到所述第二码率以播放所述视频源在所述第二码率下的视频分片。
在一个实施例中,若在获取所述切换信息时正在下载所述视频源在第一码率下的第一视频分片,所述下载模块403,还用于:
根据所述第一视频分片的标识确定第二视频分片的标识,所述第二视频分片为所述第一视频分片在播放顺序下的下一个视频分片;
在下载完所述视频源在第一码率下的第一视频分片后,根据所述切换信息以及所述第二视频分片的标识,从所述第二视频分片开始下载所述视频源在第二码率下的视频分片。
在一个实施例中,所述切换模块404,还用于:
在播放完所述视频源在第一码率下的第一视频分片后,切换到所述第二码率以播放所述视频源在第二码率下的所述第二视频分片。
在一个实施例中,若在获取所述切换信息时正在下载所述视频源在第一码率下的第一视频分片,所述下载模块403,还用于:
根据所述切换信息以及所述第一视频分片的标识,从所述第一视频分片开始下载所述视频源在第二码率下的视频分片。
在一个实施例中,所述切换模块404,还用于:
确定已下载所述视频源在第一码率下的部分第一视频分片的最大播放时刻;
在播放所述视频源在第一码率下的所述部分第一视频分片到达所述最大播放时刻时,切换到所述第二码率,并从所述最大播放时刻开始播放所述视频源在第二码率下的所述第一视频分片。
在一个实施例中,所述切换模块404,还用于:
在通过下载所述视频源在第二码率下的视频分片获取所述视频源在所述第二码率下的解码器参数后,若满足所述预设条件,根据所述解码器参数重启解码器;
切换到所述第二码率以播放所述视频源在第二码率下的视频分片。
在一个实施例中,所述上传模块401,还用于:
在下载完所述视频源在第一码率下的一个视频分片后,向所述服务器上传用于标识下载所述视频分片的网络下载质量的下载参数。
在一个实施例中,所述获取模块402,还用于在所述下载视频源在第一码率下视频分片之前,获取所述视频源在不同码率下的媒体索引文件;其中,一个码率下的媒体索引文件用于标识所述码率下视频分片的下载位置。
请参阅图4b所示,本申请实施例提供的一种视频播放装置410,所述装置410包括:播放模块411、上传模块412、获取模块413、下载模块414和切换模块415;
所述播放模块411,用于在视频播放码率为第一码率下播放视频源在所述第一码率下的视频分片;
所述上传模块412,用于在下载所述视频源在所述第一码率下视频分片的过程中,向服务器上传用于标识网络下载质量的下载参数;
所述获取模块413,用于获取所述服务器根据所述下载参数确定的切换信息,所述切换信息包括第二码率的标识;
所述下载模块414,用于根据所述切换信息下载所述视频源在所述第二码率下的视频分片;
所述切换模块415,用于若满足预设条件,将所述视频播放码率切换到所述第二码率,并播放所述视频源在所述第二码率下的视频分片。
请参阅图5所示,本申请实施例提供的一种码率切换装置500,该码率切换装置500包括:获取模块501、确定模块502和发送模块503;
所述获取模块501,用于获取终端上传的下载参数,所述下载参数用于标识所述终端下载视频源在第一码率下视频分片的网络下载质量;
所述确定模块502,用于根据所述下载参数确定对应所述网络下载质量的第二码率;
所述发送模块503,用于向所述终端发送携带有所述第二码率的标识的切换信息以指示所述终端下载所述视频源在第二码率下的视频分片。
本申请实施例提供了一种码率切换设备,如图6所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该码率切换设备可以为终端,该终端可以为包括手机、平板电脑、个人数字助理(英文全称:Personal Digital Assistant,英文缩写:PDA)、销售终端(英文全称:Point of Sales,英文缩写:POS)、车载电脑等任意终端设备,以终端为手机为例:
图6示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图6,手机包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路610、存储器620、输入单元630、显示单元640、传感器650、音频电路660、无线保真(英文全称:wireless fidelity,英文缩写:WiFi)模块670、处理器680、以及电源690等部件。本领域技术人员可以理解,图6中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图6对手机的各个构成部件进行具体的介绍:
RF电路610可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器680处理;另外,将设计上行的数据发送给基站。通常,RF电路610包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(英文全称:LowNoise Amplifier,英文缩写:LNA)、双工器等。此外,RF电路610还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(英文全称:Global System of Mobile communication,英文缩写:GSM)、通用分组无线服务(英文全称:General Packet Radio Service,GPRS)、码分多址(英文全称:CodeDivision Multiple Access,英文缩写:CDMA)、宽带码分多址(英文全称:Wideband CodeDivision Multiple Access,英文缩写:WCDMA)、长期演进(英文全称:Long TermEvolution,英文缩写:LTE)、电子邮件、短消息服务(英文全称:Short Messaging Service,SMS)等。
存储器620可用于存储软件程序以及模块,处理器680通过运行存储在存储器620的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元630可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元630可包括触控面板631以及其他输入设备632。触控面板631,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板631上或在触控面板631附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板631可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器680,并能接收处理器680发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板631。除了触控面板631,输入单元630还可以包括其他输入设备632。具体地,其他输入设备632可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元640可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元640可包括显示面板641,可选的,可以采用液晶显示器(英文全称:LiquidCrystal Display,英文缩写:LCD)、有机发光二极管(英文全称:Organic Light-EmittingDiode,英文缩写:OLED)等形式来配置显示面板641。进一步的,触控面板631可覆盖显示面板641,当触控面板631检测到在其上或附近的触摸操作后,传送给处理器680以确定触摸事件的类型,随后处理器680根据触摸事件的类型在显示面板641上提供相应的视觉输出。虽然在图6中,触控面板631与显示面板641是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板631与显示面板641集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器650,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板641的亮度,接近传感器可在手机移动到耳边时,关闭显示面板641和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路660、扬声器661,传声器662可提供用户与手机之间的音频接口。音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由扬声器661转换为声音信号输出;另一方面,传声器662将收集的声音信号转换为电信号,由音频电路660接收后转换为音频数据,再将音频数据输出处理器680处理后,经RF电路66以发送给比如另一手机,或者将音频数据输出至存储器620以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块670可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了WiFi模块670,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器680是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储在存储器620内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器680可包括一个或多个处理单元;优选的,处理器680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器680中。
手机还包括给各个部件供电的电源690(比如电池),优选的,电源可以通过电源管理***与处理器680逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该终端所包括的处理器680还具有以下功能:
下载视频源在第一码率下视频分片的过程中,向服务器上传用于标识网络下载质量的下载参数;
获取所述服务器根据所述下载参数确定的切换信息,所述切换信息包括第二码率的标识;
根据所述切换信息下载所述视频源在所述第二码率下的视频分片;
若满足预设条件,切换到所述第二码率以播放所述视频源在所述第二码率下的视频分片。
在一种实施方式中,若在获取所述切换信息时正在下载所述视频源在第一码率下的第一视频分片,所述根据所述切换信息下载所述视频源在第二码率下的视频分片,包括:
根据所述第一视频分片的标识确定第二视频分片的标识,所述第二视频分片为所述第一视频分片在播放顺序下的下一个视频分片;
在下载完所述视频源在第一码率下的第一视频分片后,根据所述切换信息以及所述第二视频分片的标识,从所述第二视频分片开始下载所述视频源在第二码率下的视频分片。
在一种实施方式中,所述若满足预设条件,切换到所述第二码率以播放所述视频源在第二码率下的视频分片,包括:
在播放完所述视频源在第一码率下的第一视频分片后,切换到所述第二码率以播放所述视频源在第二码率下的所述第二视频分片。
在一种实施方式中,若在获取所述切换信息时正在下载所述视频源在第一码率下的第一视频分片,所述根据所述切换信息下载所述视频源在第二码率下的视频分片,包括:
根据所述切换信息以及所述第一视频分片的标识,从所述第一视频分片开始下载所述视频源在第二码率下的视频分片。
在一种实施方式中,所述若满足预设条件,切换到所述第二码率以播放所述视频源在第二码率下的视频分片,包括:
确定已下载所述视频源在第一码率下的部分第一视频分片的最大播放时刻;
在播放所述视频源在第一码率下的所述部分第一视频分片到达所述最大播放时刻时,切换到所述第二码率,并从所述最大播放时刻开始播放所述视频源在第二码率下的所述第一视频分片。
在一种实施方式中,所述若满足预设条件,切换到所述第二码率以播放所述视频源在第二码率下的视频分片,包括:
在通过下载所述视频源在第二码率下的视频分片获取所述视频源在所述第二码率下的解码器参数后,若满足所述预设条件,根据所述解码器参数重启解码器;
切换到所述第二码率以播放所述视频源在第二码率下的视频分片。
在一种实施方式中,所述下载视频源在第一码率下视频分片的过程中,向服务器上传用于标识网络下载质量的下载参数,包括:
在下载完所述视频源在第一码率下的一个视频分片后,向所述服务器上传用于标识下载所述视频分片的网络下载质量的下载参数。
在一种实施方式中,在所述下载视频源在第一码率下视频分片之前,所述方法还包括:
获取所述视频源在不同码率下的媒体索引文件;其中,一个码率下的媒体索引文件用于标识所述码率下视频分片的下载位置。
在本申请实施例中,该终端所包括的处理器680还具有以下功能:
在视频播放码率为第一码率下播放视频源在所述第一码率下的视频分片;
在下载所述视频源在所述第一码率下视频分片的过程中,向服务器上传用于标识网络下载质量的下载参数;
获取所述服务器根据所述下载参数确定的切换信息,所述切换信息包括第二码率的标识;
根据所述切换信息下载所述视频源在所述第二码率下的视频分片;
若满足预设条件,将所述视频播放码率切换到所述第二码率,并播放所述视频源在所述第二码率下的视频分片。
本申请实施例提供了一种码率切换设备,该码率切换设备可以为如图7所示的服务器。图7是本申请实施例提供的一种服务器结构示意图,该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(central processingunits,CPU)722(例如,一个或一个以上处理器)和存储器732,一个或一个以上存储应用程序742或数据744的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器722可以设置为与存储介质730通信,在服务器700上执行存储介质730中的一系列指令操作。
服务器700还可以包括一个或一个以上电源726,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口758,和/或,一个或一个以上操作***741,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图7所示的服务器结构。
其中,CPU 722用于执行如下步骤:
获取终端上传的下载参数,所述下载参数用于标识所述终端下载视频源在第一码率下视频分片的网络下载质量;
根据所述下载参数确定对应所述网络下载质量的第二码率;
向所述终端发送携带有所述第二码率的标识的切换信息以指示所述终端下载所述视频源在所述第二码率下的视频分片。
请参阅图8,图8为本申请实施例中码率切换***一个实施例示意图,其中,该码率切换***可以包括终端801以及服务器802;
所述终端801所执行的动作,例如,下载视频源在第一码率下视频分片的过程中,向所述服务器上传用于标识网络下载质量的下载参数;获取所述服务器根据所述下载参数确定的切换信息,所述切换信息包括第二码率的标识;根据所述切换信息下载所述视频源在所述第二码率下的视频分片;若满足预设条件,切换到所述第二码率以播放所述视频源在所述第二码率下的视频分片;
所述服务器802所执行的动作,例如,获取所述终端上传的所述下载参数;根据所述下载参数确定对应所述网络下载质量的所述第二码率;向所述终端发送所述切换信息以指示所述终端下载所述视频源在所述第二码率下的视频分片。
可见,本申请实施例提供的码率切换***,可以通过下载视频源在第一码率下视频分片,以便播放第一码率下视频分片的过程中,可以向服务器上传下载参数,由于该下载参数可以标识下载第一码率下视频分片的网络下载质量,故从服务器获取的切换信息可以指示出适合该下载参数或者说网络下载质量的码率,例如第二码率。根据该切换信息下载该视频源在第二码率下的视频分片,并在满足预设条件下切换到第二码率以播放该视频源在第二码率下的视频分片。由此实现了通过能够指示当前网络下载质量的切换信息灵活的下载相应码率下的视频分片,并在满足条件时自动切换当前播放视频的码率。使得可以在网络下载质量不佳时就可以开始下载低码率下的视频分片,并从用户原本选择的高码率自动切换到低码率,不仅不需要用户手动切换,而且在切换前就已经下载了低码率下的视频分片,可以在一定程度上避免播放视频出现卡顿的情况,使得用户可以在没有察觉到网络波动带来的影响下观看视频,提高了用户观看体验。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行前述各个实施例所述的一种码率切换方法中的任意一种实施方式以及前述各个实施例所述的一种视频播放方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (11)
1.一种码率切换方法,其特征在于,所述方法包括:
获取视频源在不同码率下的媒体索引文件,其中,一个码率下的媒体索引文件用于标识所述码率下视频分片的下载位置,不同码率下的媒体索引文件对应的下载位置不同;
根据第一码率下的媒体索引文件下载所述视频源在第一码率下视频分片的过程中,向服务器上传用于标识网络下载质量的下载参数;
获取所述服务器根据所述下载参数确定的切换信息,所述切换信息包括第二码率的标识;
根据所述切换信息以及第二码率下的媒体索引文件下载所述视频源在所述第二码率下的视频分片;
根据所述切换信息,对解复用模块的内部状态进行重置,所述解复用模块解复用传送流中的节目群丛表,通过节目映射表查找音频与视频的数字电视,获取所述视频源在所述第二码率下的解码器参数,将所述解码器参数向解码器发送,所述解码器参数体现出提供视频分片的视频源的特征;
若满足预设条件,根据所述解码器参数重启所述解码器,以便通过重启后的解码器对所述视频源在所述第二码率下的视频分片进行解码;
播放解码后的视频分片。
2.根据权利要求1所述的方法,其特征在于,若在获取所述切换信息时正在下载所述视频源在第一码率下的第一视频分片,所述根据所述切换信息以及第二码率下的媒体索引文件下载所述视频源在第二码率下的视频分片,包括:
根据所述第一视频分片的标识确定第二视频分片的标识,所述第二视频分片为所述第一视频分片在播放顺序下的下一个视频分片;
在下载完所述视频源在第一码率下的第一视频分片后,根据所述切换信息、第二码率下的媒体索引文件以及所述第二视频分片的标识,从所述第二视频分片开始下载所述视频源在第二码率下的视频分片。
3.根据权利要求1所述的方法,其特征在于,若在获取所述切换信息时正在下载所述视频源在第一码率下的第一视频分片,所述根据所述切换信息以及第二码率下的媒体索引文件下载所述视频源在第二码率下的视频分片,包括:
根据所述切换信息、以及第二码率下的媒体索引文件以及所述第一视频分片的标识,从所述第一视频分片开始下载所述视频源在第二码率下的视频分片。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述下载所述视频源在第一码率下视频分片的过程中,向服务器上传用于标识网络下载质量的下载参数,包括:
在下载完所述视频源在第一码率下的一个视频分片后,向所述服务器上传用于标识下载所述视频分片的网络下载质量的下载参数。
5.一种码率切换装置,其特征在于,所述装置包括:上传模块、获取模块、下载模块和切换模块;
所述获取模块,用于获取视频源在不同码率下的媒体索引文件,其中,一个码率下的媒体索引文件用于标识所述码率下视频分片的下载位置,不同码率下的媒体索引文件对应的下载位置不同;
所述上传模块,用于根据第一码率下的媒体索引文件下载所述视频源在第一码率下视频分片的过程中,向服务器上传用于标识网络下载质量的下载参数;
所述获取模块,还用于获取所述服务器根据所述下载参数确定的切换信息,所述切换信息包括第二码率的标识;
所述下载模块,用于根据所述切换信息以及第二码率下的媒体索引文件下载所述视频源在所述第二码率下的视频分片;
所述切换模块,用于根据所述切换信息,对解复用模块的内部状态进行重置,所述解复用模块解复用传送流中的节目群丛表,通过节目映射表查找音频与视频的数字电视,获取所述视频源在所述第二码率下的解码器参数,将所述解码器参数向解码器发送,所述解码器参数体现出提供视频分片的视频源的特征;若满足预设条件,根据所述解码器参数重启所述解码器,以便通过重启后的解码器对所述视频源在所述第二码率下的视频分片进行解码;播放解码后的视频分片。
6.一种码率切换设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-4任一项所述的码率切换方法。
7.一种视频播放方法,其特征在于,所述方法包括:
获取视频源在不同码率下的媒体索引文件,其中,一个码率下的媒体索引文件用于标识所述码率下视频分片的下载位置,不同码率下的媒体索引文件对应的下载位置不同;
在视频播放码率为第一码率下播放视频源在所述第一码率下的视频分片;
在根据第一码率下的媒体索引文件下载所述视频源在所述第一码率下视频分片的过程中,向服务器上传用于标识网络下载质量的下载参数;
获取所述服务器根据所述下载参数确定的切换信息,所述切换信息包括第二码率的标识;
根据所述切换信息以及第二码率下的媒体索引文件下载所述视频源在所述第二码率下的视频分片;
根据所述切换信息,对解复用模块的内部状态进行重置,所述解复用模块解复用传送流中的节目群丛表,通过节目映射表查找音频与视频的数字电视,获取所述视频源在所述第二码率下的解码器参数,将所述解码器参数向解码器发送,所述解码器参数体现出提供视频分片的视频源的特征;
若满足预设条件,根据所述解码器参数重启所述解码器,以便通过重启后的解码器对所述视频源在所述第二码率下的视频分片进行解码;
播放解码后的视频分片。
8.一种码率切换方法,其特征在于,所述方法包括:
获取终端上传的下载参数,所述下载参数用于标识所述终端下载视频源在第一码率下视频分片的网络下载质量;
根据所述下载参数确定对应所述网络下载质量的第二码率;
向所述终端发送携带有所述第二码率的标识的切换信息以指示所述终端根据所述切换信息以及第二码率下的媒体索引文件下载所述视频源在所述第二码率下的视频分片,其中,一个码率下的媒体索引文件用于标识所述码率下视频分片的下载位置,不同码率下的媒体索引文件对应的下载位置不同,所述终端根据所述切换信息,对解复用模块的内部状态进行重置,所述解复用模块解复用传送流中的节目群丛表,通过节目映射表查找音频与视频的数字电视,获取所述视频源在所述第二码率下的解码器参数,将所述解码器参数向解码器发送,所述解码器参数体现出提供视频分片的视频源的特征,若满足预设条件,根据所述解码器参数重启所述解码器,以便通过重启后的解码器对所述视频源在所述第二码率下的视频分片进行解码,播放解码后的视频分片。
9.一种码率切换装置,其特征在于,所述装置包括:获取模块、确定模块和发送模块;
所述获取模块,用于获取终端上传的下载参数,所述下载参数用于标识所述终端下载视频源在第一码率下视频分片的网络下载质量;
所述确定模块,用于根据所述下载参数确定对应所述网络下载质量的第二码率;
所述发送模块,用于向所述终端发送携带有所述第二码率的标识的切换信息以指示所述终端根据所述切换信息以及第二码率下的媒体索引文件下载所述视频源在第二码率下的视频分片,其中,一个码率下的媒体索引文件用于标识所述码率下视频分片的下载位置,不同码率下的媒体索引文件对应的下载位置不同,所述终端根据所述切换信息,对解复用模块的内部状态进行重置,所述解复用模块解复用传送流中的节目群丛表,通过节目映射表查找音频与视频的数字电视,获取所述视频源在所述第二码率下的解码器参数,将所述解码器参数向解码器发送,所述解码器参数体现出提供视频分片的视频源的特征,若满足预设条件,根据所述解码器参数重启所述解码器,以便通过重启后的解码器对所述视频源在所述第二码率下的视频分片进行解码,播放解码后的视频分片。
10.一种码率切换***,其特征在于,所述***包括终端以及服务器;
所述终端,用于获取视频源在不同码率下的媒体索引文件,其中,一个码率下的媒体索引文件用于标识所述码率下视频分片的下载位置,不同码率下的媒体索引文件对应的下载位置不同;根据第一码率下的媒体索引文件下载所述视频源在第一码率下视频分片的过程中,向所述服务器上传用于标识网络下载质量的下载参数;获取所述服务器根据所述下载参数确定的切换信息,所述切换信息包括第二码率的标识;根据所述切换信息以及第二码率下的媒体索引文件下载所述视频源在所述第二码率下的视频分片;根据所述切换信息,对解复用模块的内部状态进行重置,所述解复用模块解复用传送流中的节目群丛表,通过节目映射表查找音频与视频的数字电视,获取所述视频源在所述第二码率下的解码器参数,将所述解码器参数向解码器发送,所述解码器参数体现出提供视频分片的视频源的特征;若满足预设条件,根据所述解码器参数重启所述解码器,以便通过重启后的解码器对所述视频源在所述第二码率下的视频分片进行解码;播放解码后的视频分片;
所述服务器,用于获取所述终端上传的所述下载参数;根据所述下载参数确定对应所述网络下载质量的所述第二码率;向所述终端发送所述切换信息以指示所述终端下载所述视频源在所述第二码率下的视频分片。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码被处理器执行时,实现权利要求1-4中任一项所述的码率切换方法或权利要求7所述的视频播放方法或权利要求8所述的码率切换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810509972.1A CN110536175B (zh) | 2018-05-24 | 2018-05-24 | 一种码率切换方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810509972.1A CN110536175B (zh) | 2018-05-24 | 2018-05-24 | 一种码率切换方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110536175A CN110536175A (zh) | 2019-12-03 |
CN110536175B true CN110536175B (zh) | 2022-12-06 |
Family
ID=68656661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810509972.1A Active CN110536175B (zh) | 2018-05-24 | 2018-05-24 | 一种码率切换方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110536175B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259729B (zh) * | 2020-02-10 | 2023-07-14 | 北京字节跳动网络技术有限公司 | 数据切换的方法、服务器、***及存储介质 |
CN111866433B (zh) | 2020-07-31 | 2021-06-29 | 腾讯科技(深圳)有限公司 | 视频源切换方法、播放方法、装置、设备和存储介质 |
CN112953922B (zh) * | 2021-02-03 | 2022-09-16 | 西安电子科技大学 | 一种自适应流媒体控制方法、***、计算机设备及应用 |
CN113316005A (zh) * | 2021-04-20 | 2021-08-27 | 新华三技术有限公司 | 一种调整视频码率的方法和通信*** |
CN114040230B (zh) * | 2021-11-08 | 2024-03-29 | 北京达佳互联信息技术有限公司 | 视频码率确定方法、装置、电子设备及其存储介质 |
CN114679443A (zh) * | 2022-03-03 | 2022-06-28 | 北京百度网讯科技有限公司 | 一种下载视频数据的方法、装置、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101696321B1 (ko) * | 2011-12-27 | 2017-01-13 | 한국전자통신연구원 | 화상 회의 제어 시스템 및 화상 회의 예약 방법 |
CN105744299A (zh) * | 2014-12-08 | 2016-07-06 | 深圳Tcl数字技术有限公司 | 动态码率切换方法、服务器及*** |
CN106878828A (zh) * | 2017-02-21 | 2017-06-20 | 微鲸科技有限公司 | 自动切换多媒体码率的方法及装置 |
CN107071529B (zh) * | 2017-03-29 | 2018-10-26 | 咪咕视讯科技有限公司 | 一种hls视频播放方法、终端及服务器 |
-
2018
- 2018-05-24 CN CN201810509972.1A patent/CN110536175B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110536175A (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110536175B (zh) | 一种码率切换方法和装置 | |
CN110139139B (zh) | 一种业务处理方法、终端、服务器及存储介质 | |
CN106791892B (zh) | 一种轮麦直播的方法、装置和*** | |
US9924205B2 (en) | Video remote-commentary synchronization method and system, and terminal device | |
JP6877808B2 (ja) | ビデオストリームのデータを処理するための方法、装置、およびシステム | |
CN111294638B (zh) | 一种实现视频互动的方法、装置、终端和存储介质 | |
CN106792120B (zh) | 视频画面的显示方法、装置和终端 | |
CN108259975B (zh) | 视频播放方法、存储介质和终端 | |
CN106412691B (zh) | 一种视频图像的截取方法和装置 | |
CN106803993B (zh) | 一种实现视频分支选择播放的方法及装置 | |
US9904507B2 (en) | Method and system for synchronizing functions of music player in smart device and bluetooth earphone | |
CN103488939B (zh) | 一种提示用户的方法、装置及终端 | |
US11202066B2 (en) | Video data encoding and decoding method, device, and system, and storage medium | |
CN103391473B (zh) | 一种提供及获取音视频的方法和装置 | |
CN104618794B (zh) | 播放视频的方法和装置 | |
EP3737101B1 (en) | A method and a system for performing scrubbing in a video stream | |
CN111866433B (zh) | 视频源切换方法、播放方法、装置、设备和存储介质 | |
US20190364333A1 (en) | Image processing method and apparatus in video live streaming process, and storage medium | |
CN106231433B (zh) | 一种播放网络视频的方法、装置和*** | |
CN107333162B (zh) | 一种播放直播视频的方法和装置 | |
CN106791916B (zh) | 一种推荐音频数据的方法、装置和*** | |
CN112019929A (zh) | 一种音量调节方法和装置 | |
CN110662090A (zh) | 一种视频处理方法和*** | |
CN113453066A (zh) | 一种播放时长确定方法和相关设备 | |
CN107770449B (zh) | 连拍方法、电子设备及存储介质 |
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 |