CN107438202A - 一种实现码率切换的方法及装置 - Google Patents
一种实现码率切换的方法及装置 Download PDFInfo
- Publication number
- CN107438202A CN107438202A CN201610365130.4A CN201610365130A CN107438202A CN 107438202 A CN107438202 A CN 107438202A CN 201610365130 A CN201610365130 A CN 201610365130A CN 107438202 A CN107438202 A CN 107438202A
- Authority
- CN
- China
- Prior art keywords
- code check
- burst
- current slice
- film source
- source code
- 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.)
- Pending
Links
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6125—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
一种实现码率切换的方法及装置,包括:下载分片时,在下载的当前分片的码流中检测最新的画面组(GOP);从检测到的最新的GOP中获取关键帧(I帧)的显示时间戳(PTS)信息;根据获取的PTS信息,播放与下载速率相对应的片源码率的分片。本发明实施例方法,通过获取PTS信息,实现了分片内的码片切换,避免了分片间码率切换造成播放卡顿,提升了用户获取视频的实时性和用户在线视频收看的体验。
Description
技术领域
本文涉及但不限于多媒体播放技术,尤指一种实现码率切换的方法及装置。
背景技术
随着移动互联网的迅猛发展,通过互联网向用户提供应用服务(OTT,Over The Top)技术的推广以及多种智能终端设备的出现,通过手机、掌上电脑、机顶盒等视频终端在线收看视频,成为人们越来越普遍的休闲娱乐方式。苹果公司提出的动态码率自适应技术(HLS,HTTP Live Streaming)协议是目前比较成熟的OTT技术规范,片源可以编码成多个码率,将各种码率片源切割成若干个10秒(S)左右的分片,图1为相关技术中分片组织方式示意图,如图1所示,不同码率中相同序号的分片对应相同的视频内容,同时生成M3U8索引文件(M3U8索引文件是指万国码(UTF-8)编码格式的M3U文件,M3U文件是记录了一个索引纯文本文件,打开它时播放软件并不是播放它,而是根据它的索引找到对应的音视频文件的网络地址进行在线播放;M3U8文件是苹果公司提出的HLS规范中的一种索引文件,记录不同码率下分片的相关信息。)详细描述每个分片的信息,用于指导播放器如何播放文件切片。这个机制可以实现逐分片下载播放模式,当一旦检测到网络发生变动,及时调整码率下载新的最优码率的对应分片,从播放流畅度和画面清晰度方面达到最佳的播放效果。图2为相关技术中实现码率切换的示意图,如图2所示,检测每个分片的下载速率,如果当前分片的下载速率高于当前分片的片源码率,则下载完当前分片后,切换至更高的码率,如图中分片1到分片2和分片2到分片3的码率切换;如果下载速率低于当前分片的片源码率,则下载完当前分片后,切换至更低的码率,如图中分片n到分片n+1的码率切换。
但HLS的码率切换也存在缺点:HLS的码率切换是以分片为单位的,当网络带宽突然变坏的时候,下载完当前正在播放的高码率分片需要花较长的时间,这个会导致播放卡顿较长时间,用户体验很差;例如、片源存在8兆比特每秒(Mb/s)、4Mb/s、2Mb/s三种码率,用户的带宽刚好也是8Mb/s左右,因带宽和片源码率基本持衡,所以会自动切换到最高码率8Mb/s进行播放,播放器中也不会有多余的缓存数据,当网络变坏下降到2Mb/s的时,如果直接切换到2Mb/s码率的分片是可以流畅播放的,但时,相关技术中的码率切换需要先下载完当前码率的分片才可以切换到2Mb/s码率的分片,以一个分片为10S为例,假设网络变坏时,刚开始码率为8Mb/s的分片的下载,则需要花的时间为8Mb/s×10s÷2Mb/s=40s,即需要40秒以后才能够切换到2Mb/s码率分片的下载和播放,持续卡顿40S左右。
相关技术中,码率切换造成播放卡顿,影响了用户获取视频的实时性,造成用户进行在线视频收看的体验下降。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供一种实现码率切换的方法及装置,能够避免码率切换造成的卡顿,提升用户体验。
本发明实施例提供了一种实现码率切换的方法,包括:
下载分片时,在下载的当前分片的码流中检测最新的画面组GOP;
从检测到的最新的GOP中获取关键帧I帧的显示时间戳PTS信息;
根据获取的PTS信息,播放与下载速率相对应的片源码率的分片。
可选的,从下载分片的码流检测最新的GOP之前,所述方法还包括:
判断已下载的当前分片部分是否满足码率切换前的视频播放;
已下载的当前分片部分满足码率切换前的视频播放时,播放当前分片;已下载的当前分片部分不满足码率切换前的视频播放时,在下载的当前分片的码流中检测最新的GOP。
可选的,判断已下载的当前分片部分是否满足码率切换前的视频播放之前,所述方法还包括:
判断所述当前分片的下载速率是否小于当前分片的片源码率与预先设定的第一百分比阈值的乘积;
所述当前分片的下载速率小于当前分片的片源码率与预先设定的第一百分比阈值的乘积时,进行已下载的当前分片部分是否满足码率切换前的视频播放的判断;所述当前分片的下载速率大于或等于当前分片的片源码率与预先设定的第一百分比阈值的乘积时,不进行已下载的当前分片部分是否满足码率切换前的视频播放的判断。
可选的,在下载的当前分片的码流中检测最新的GOP包括:
确定在下载的当前分片的码流中进行最新的GOP检测时,检测当前的GOP结束后的下一GOP作为所述最新的GOP。
可选的,播放与下载速率相对应的片源码率的分片包括:
在与下载速率相对应的片源码率的分片,根据所述PTS信息确定进行码率切换的分片请求位置;
对与下载速率相对应的片源码率的分片,从确定的进行码率切换的分片请求位置开始进行分片的下载和播放。
可选的,播放与下载速率相对应的片源码率的分片包括:
M3U8文件中存在与下载速率相对应的片源码率的分片的I帧索引文件时,根据PTS信息定位进行码率切换的分片内的I帧,以I帧的偏移地址offset作为所述分片请求位置请求码流,实现分片的下载和播放。
可选的,播放与下载速率相对应的片源码率的分片包括:
M3U8文件中不存在与下载速率相对应的片源码率的分片I帧索引文件时,
在码率切换的超文本传输协议HTTP请求中通过扩展字段携带所述PTS信息,根据携带有所述PTS信息的HTTP请求从流媒体服务器获取以I帧作为所述分片请求位置的与下载速率相对应的片源码率的分片的码流;或,
根据当前分片的序号,重新请求并缓存与下载速率相对应的片源码率的分片,从缓存的所述与下载速率相对应的片源码率的分片中根据PTS信息检索对应的I帧,以I帧作为所述分片请求位置,从I帧开始解码和播放。
可选的,该方法还包括:
当当前分片的下载速率大于当前分片的片源码率与预先设定的第二百分比阈值的乘积时,在下载的当前分片的码流中检测最新的GOP,并从检测到的最新的GOP中获取I帧的PTS信息;
根据获取的PTS信息,播放与下载速率相对应的片源码率的分片。
可选的,确定分片请求位置之前,该方法还包括:
根据所述当前分片的序号和与下载速率相对应的片源码率,确定所述与下载速率相对应的片源码率的分片。
一种实现码率切换的装置,包括:检测单元、获取时间戳单元和播放单元;其中,
检测单元用于,下载分片时,在下载的当前分片的码流中检测最新的画面组GOP;
获取时间戳单元用于,从检测到的最新的GOP中获取关键帧I帧的显示时间戳PTS信息;
播放单元用于,根据获取的PTS信息,播放与下载速率相对应的片源码率的分片。
可选的,装置还包括第一判断单元,用于所述在下载的当前分片的码流中检测最新的GOP之前,
判断已下载的当前分片部分是否满足码率切换前的视频播放;
已下载的当前分片部分满足码率切换前的视频播放时,播放当前分片;
已下载的当前分片部分不满足码率切换前的视频播放时,在下载的当前分片的码流中检测最新的GOP。
可选的,装置还包括第二判断单元,用于所述判断已下载的当前分片部分是否满足码率切换前的视频播放之前,
判断所述当前分片的下载速率是否小于当前分片的片源码率与预先设定的第一百分比阈值的乘积;
所述当前分片的下载速率小于当前分片的片源码率与预先设定的第一百分比阈值的乘积时,进行已下载的当前分片部分是否满足码率切换前的视频播放的判断;所述当前分片的下载速率大于或等于当前分片的片源码率与预先设定的第一百分比阈值的乘积时,不进行已下载的当前分片部分是否满足码率切换前的视频播放的判断。
可选的,所述检测单元具体用于,
所述第一判断单元确定在下载的当前分片的码流中进行最新的GOP检测时,检测当前的GOP结束后的下一GOP作为所述最新的GOP。
可选的,所述播放单元具体用于,
在与下载速率相对应的片源码率的分片,根据所述PTS信息确定进行码率切换的分片请求位置;
对与下载速率相对应的片源码率的分片,从确定的进行码率切换的分片请求位置开始进行分片的下载和播放。
可选的,所述播放单元具体用于,
M3U8文件中存在与下载速率相对应的片源码率的分片的I帧索引文件时,根据PTS信息定位进行码率切换的分片内的I帧,以I帧的偏移地址offset作为所述分片请求位置请求码流,实现分片的下载和播放;
可选的,所述播放单元具体用于,
M3U8文件中不存在与下载速率相对应的片源码率的分片I帧索引文件时,
在码率切换的超文本传输协议HTTP请求中通过扩展字段携带所述PTS信息,根据携带有所述PTS信息的HTTP请求从流媒体服务器获取以I帧作为所述分片请求位置的与下载速率相对应的片源码率的分片的码流;或,
根据当前分片的序号,重新请求并缓存与下载速率相对应的片源码率的分片,从缓存的所述与下载速率相对应的片源码率的分片中根据PTS信息检索对应的I帧,以I帧作为所述分片请求位置,从I帧开始解码和播放。
可选的,所述装置还包括第三判断单元,
第三判断单元用于,当当前分片的下载速率大于当前分片的片源码率与预先设定的第二百分比阈值的乘积时,在下载的当前分片的码流中检测最新的GOP。
可选的,该装置还包括确定分片单元,用于确定分片请求位置之前,根据所述当前分片的序号和与下载速率相对应的片源码率,确定所述与下载速率相对应的片源码率的分片。
与相关技术相比,本申请技术方案包括:下载分片时,在下载的当前分片的码流中检测最新的画面组(GOP);从检测到的最新的GOP中获取关键帧(I帧)的显示时间戳(PTS)信息;根据获取的PTS信息,播放与下载速率相对应的片源码率的分片。本发明实施例方法,通过获取PTS信息,实现了分片内的码片切换,避免了分片间码率切换造成播放卡顿,提升了用户获取视频的实时性和用户在线视频收看的体验。在阅读并理解了附图和详细描述后,可以明白其他方面。
附图说明
图1为相关技术中分片组织方式示意图;
图2为相关技术中实现码率切换的示意图;
图3为本发明实施例实现码率切换的方法的流程图;
图4为本发明实施例实现码率切换的装置的结构框图;
图5为本发明第一应用示例的方法流程图;
图6为本发明第二应用示例的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图3为本发明实施例实现码率切换的方法的流程图,如图3所示,包括:
步骤300、下载分片时,在下载的当前分片的码流中检测最新的画面组(GOP);
可选的,从下载分片的码流检测最新的GOP之前,本发明实施例方法还包括:
判断已下载的当前分片部分是否满足码率切换前的视频播放;
已下载的当前分片部分满足码率切换前的视频播放时,播放当前分片;已下载的当前分片部分不满足码率切换前的视频播放时,在下载的当前分片的码流中检测最新的GOP。
可选的,判断已下载的当前分片部分是否满足码率切换前的视频播放之前,本发明实施例方法还包括:
判断当前分片的下载速率是否小于当前分片的片源码率与预先设定的第一百分比阈值的乘积;
当前分片的下载速率小于当前分片的片源码率与预先设定的第一百分比阈值的乘积时,进行已下载的当前分片部分是否满足码率切换前的视频播放的判断;当前分片的下载速率大于或等于当前分片的片源码率与预先设定的第一百分比阈值的乘积时,不进行已下载的当前分片部分是否满足码率切换前的视频播放的判断。
需要说明的是,当前分片的下载速率等于下载当前分片的带宽,当前分片的下载速率可以从系统的监测参数中获得;第一百分比阈值可以根据本领域技术人员的分析获得,一般的保证视频播放不出现卡顿即可,可选的,第一百分比阈值可以是大于等于百分之八十,具体取值可以根据对播放流畅程度的要求进行设定。另外,判断已下载的当前分片部分是否满足码率切换前的视频播放的方法,可以通过计算已下载的当前分片部分的可播放时长,以及可播放时长内下载的分片是否可以满足当前分片剩余部分的播放;如果可以满足当前分片剩余部分的播放,确定可以满足码率切换前的视频播放,该算法可以由本领域技术人员根据相关技术中的计算方法获得。
可选的,本发明实施例,在下载的当前分片的码流中检测最新的GOP包括:
确定在下载的当前分片的码流中进行最新的GOP检测时,检测当前的GOP结束后的下一GOP作为所述最新的GOP。
这里,当前的GOP为确定进行最新的GOP检测时,当前分片的码流中正在下载的GOP。
步骤301、从检测到的最新的GOP中获取关键帧(I帧)的显示时间戳(PTS)信息;
需要说明的是,获取完PTS信息后,I帧之后的数据可以进行丢弃处理。
步骤302、根据获取的PTS信息,播放与下载速率相对应的片源码率的分片。
需要说明的是,与下载速率相对应的片源码率的分片包括:高于下载速率1.5倍以上的片源码率的分片,1.5倍只是本发明实施例的可选倍数,具体倍数可以根据实际情况进行调整。如果没有符合高于下载速率1.5倍以上的片源码率的分片,则可以选择最低片源码率的分片。
可选的,播放与下载速率相对应的片源码率的分片包括:
在与下载速率相对应的片源码率的分片,根据PTS信息确定进行码率切换的分片请求位置;
对与下载速率相对应的片源码率的分片,从确定的进行码率切换的分片请求位置开始进行分片的下载和播放。
可选的,播放与下载速率相对应的片源码率的分片包括:
M3U8文件中存在与下载速率相对应的片源码率的分片的I帧索引文件时,根据PTS信息定位进行码率切换的分片内的I帧,以I帧的偏移地址offset作为分片请求位置请求码流,实现分片的下载和播放;
可选的,播放与下载速率相对应的片源码率的分片包括:
M3U8文件中不存在与下载速率相对应的片源码率的分片I帧索引文件时,
在码率切换的超文本传输协议HTTP请求中通过扩展字段携带PTS信息,根据携带有PTS信息的HTTP请求从流媒体服务器获取以I帧作为分片请求位置的与下载速率相对应的片源码率的分片的码流;或,
根据当前分片的序号,重新请求并缓存与下载速率相对应的片源码率的分片,从缓存的与下载速率相对应的片源码率的分片中根据PTS信息检索对应的I帧,以I帧作为分片请求位置,从I帧开始解码和播放。
需要说明的是,M3U8文件是苹果公司提出的HLS规范中的一种索引文件,记录不同码率下分片的相关信息。HTTP请求上送到流媒体服务器后,流媒体服务器对接收到的HTTP请求进行检测,获得I帧的PTS信息;根据获得的I帧的PTS信息,流媒体服务器向终端提供与下载速率相对应的片源码率的分片的从I帧开始的码流。根据当前分片的序号,重新请求并缓存与下载速率相对应的片源码率的分片可以由机顶盒执行。
另外,本发明实施例扩展字段可以是下述HTTP请求中的Iframe-PTS字段,其他字段为与本发明实施例所要求保护内容无关的标准字段,保留其他字段是为了更为清楚的说明本发明实施例扩展字段与标准字段构成的HTTP请求内容;
GET/cms001/2/200159/zott_1800_1800.ts?HTTP/1.1
Accept:*/*
Accept-Charset:UTF-8
Connection:Keep-Alive
User-Agent:ADI Video On Damand Client/1.0
Range:bytes=0-
Iframe-PTS:1401454248
Host:172.16.180.138:6060
Pragma:no-cache
Pragma:XClientGUID={2E66759D-4B70-E775-C348-4EE0630DDD99}
可选的,本发明实施例方法还包括:
当当前分片的下载速率大于当前分片的片源码率与预先设定的第二百分比阈值的乘积时,在下载的当前分片的码流中检测最新的GOP,并从检测到的最新的GOP中获取I帧的PTS信息;
根据获取的PTS信息,播放与下载速率相对应的片源码率的分片。
需要说明的是,第二百分比阈值可以设置为1.8~2倍之间的一个数值,具体数值可以根据片源码率及播放分片的速度和稳定要求情况进行调整。为了稳定的进行分片播放,第二百分比阈值可以做增大调整。另外,这里当前分片的下载速率大于当前分片的片源码率与预先设定的第二百分比阈值的乘积时,检测最新的GOP包括:检测当前的GOP结束后的下一GOP作为最新的GOP。
可选的,确定分片请求位置之前,本发明实施例方法还包括:
根据当前分片的序号和与下载速率相对应的片源码率,确定与下载速率相对应的片源码率的分片。
需要说明的是,当前分片的序号可以通过视频播放的记录文件中获得,属于本领域技术人员的惯用技术手段。
本发明实施例方法,通过获取PTS信息,实现了分片内的码片切换,避免了分片间码率切换造成播放卡顿,提升了用户获取视频的实时性和用户在线视频收看的体验。
图4为本发明实施例实现码率切换的装置的结构框图,如图4所示,包括:检测单元、获取时间戳单元和播放单元;其中,
检测单元用于,下载分片时,在下载的当前分片的码流中检测最新的画面组(GOP);
获取时间戳单元用于,从检测到的最新的GOP中获取关键帧I帧的显示时间戳PTS信息;
播放单元用于,根据获取的PTS信息,播放与下载速率相对应的片源码率的分片。
可选的,本发明实施例装置还包括,第一判断单元,用于在下载的当前分片的码流中检测最新的GOP之前,
判断已下载的当前分片部分是否满足码率切换前的视频播放;
已下载的当前分片部分满足码率切换前的视频播放时,播放当前分片;
已下载的当前分片部分不满足码率切换前的视频播放时,在下载的当前分片的码流中检测最新的GOP。
可选的,本发明实施例装置还包括第二判断单元,用于判断已下载的当前分片部分是否满足码率切换前的视频播放之前,
判断当前分片的下载速率是否小于当前分片的片源码率与预先设定的第一百分比阈值的乘积;
当前分片的下载速率小于当前分片的片源码率与预先设定的第一百分比阈值的乘积时,进行已下载的当前分片部分是否满足码率切换前的视频播放的判断;当前分片的下载速率大于或等于当前分片的片源码率与预先设定的第一百分比阈值的乘积时,不进行已下载的当前分片部分是否满足码率切换前的视频播放的判断。
可选的,本发明实施例,检测单元具体用于,
第一判断单元确定在下载的当前分片的码流中进行最新的GOP检测时,检测当前的GOP结束后的下一GOP作为最新的GOP。
可选的,播放单元具体用于,
在与下载速率相对应的片源码率的分片,根据PTS信息确定进行码率切换的分片请求位置;
对与下载速率相对应的片源码率的分片,从确定的进行码率切换的分片请求位置开始进行分片的下载和播放。
可选的,播放单元具体用于,
M3U8文件中存在与下载速率相对应的片源码率的分片的I帧索引文件时,根据PTS信息定位进行码率切换的分片内的I帧,以I帧的偏移地址offset作为分片请求位置请求码流,实现分片的下载和播放;
可选的,播放单元具体用于,
M3U8文件中不存在与下载速率相对应的片源码率的分片I帧索引文件时,
在码率切换的超文本传输协议HTTP请求中通过扩展字段携带PTS信息,根据携带有PTS信息的HTTP请求从流媒体服务器获取以I帧作为分片请求位置的与下载速率相对应的片源码率的分片的码流;或,
根据当前分片的序号,重新请求并缓存与下载速率相对应的片源码率的分片,从缓存的与下载速率相对应的片源码率的分片中根据PTS信息检索对应的I帧,以I帧作为分片请求位置,从I帧开始解码和播放。
可选的,本发明实施例装置还包括第三判断单元,
第三判断单元用于,当当前分片的下载速率大于当前分片的片源码率与预先设定的第二百分比阈值的乘积时,在下载的当前分片的码流中检测最新的GOP。
需要说明的是,第三判断单元与第一判断单元和第二判断单元可以是并列的装置结构,第三判断单元检测到最新的GOP时,获取时间戳单元根据第三判断单元检测到的最新的GOP继续后续处理。
本发明实施例装置还包括确定分片单元,用于确定分片请求位置之前,根据当前分片的序号和与下载速率相对应的片源码率,确定与下载速率相对应的片源码率的分片。
以下通过应用示例对本发明方法进行清楚详细的说明,应用示例仅用于陈述本发明实施例,并不用于限定本发明的保护范围。
应用示例1
本应用示例执行主体为机顶盒,通过终端播放机顶盒下载的分片,图5为本发明第一应用示例的方法流程图,如图5所示,
步骤500、当当前分片的下载速率大于当前分片的片源码率与预先设定的第二百分比阈值的乘积时,在下载的当前分片的码流中检测最新的画面组GOP,从检测到的最新的GOP获取I帧的PTS信息,并根据获取的PTS信息,播放与下载速率相对应的片源码率的分片;
步骤501、当当前分片的下载速率小于当前分片的片源码率与预先设定的第一百分比阈值的乘积时,判断已下载的当前分片部分是否满足码率切换前的视频播放;
步骤502、已下载的当前分片部分不满足码率切换前的视频播放时,在下载的当前分片的码流中检测最新的GOP,并从检测到的最新的GOP中获取I帧的PTS信息;
这里,I帧可以包括第一个I帧;
步骤503、根据获取的PTS信息,播放与下载速率相对应的片源码率的分片。
可选的,M3U8文件中存在与下载速率相对应的片源码率的分片的I帧索引文件时,根据PTS信息定位进行码率切换的分片内的I帧,以I帧的偏移地址(offset)作为分片请求位置请求码流,实现分片的下载和播放。
M3U8文件中不存在与下载速率相对应的片源码率的分片I帧索引文件时,在码率切换的超文本传输协议(HTTP)请求中通过扩展字段携带PTS信息,根据携带有PTS信息的HTTP请求从流媒体服务器获取以I帧作为分片请求位置的与下载速率相对应的片源码率的分片的码流;或,
根据当前分片的序号,重新请求并缓存与下载速率相对应的片源码率的分片,从缓存的与下载速率相对应的片源码率的分片中根据PTS信息检索对应的I帧,以I帧作为分片请求位置,从I帧开始解码和播放。
应用示例2
本应用示例执行主体为机顶盒,通过终端播放机顶盒下载的分片,图6为本发明第二应用示例的方法流程图,如图6所示,
步骤600、终端下载分片;
步骤601、判断下载速率是否小于当前分片的片源码率与第一百分比阈值的乘积;如果小于当前分片的片源码率与第一百分比阈值的乘积,执行步骤602;如果大于等于当前分片的片源码率与第一百分比阈值的乘积,在没有实施向高码率的片源码率的分片的切换时,通过解码器进行播放;
步骤602、已下载的当前分片内容满足码率切换前的视频播放;
步骤603、在下载的当前分片的码流中检测最新的GOP,并从检测到的最新的GOP中获取I帧的PTS信息;
步骤604、判断M3U8文件中是否存在与下载速率相对应的片源码率的分片的I帧索引文件;M3U8文件中存在与下载速率相对应的片源码率的分片的I帧索引文件时,执行步骤6050;M3U8文件中不存在与下载速率相对应的片源码率的分片的I帧索引文件时,执行步骤6060;
步骤6050、根据PTS信息定位进行码率切换的分片内的I帧;
步骤6051、以I帧的偏移地址(offset)作为分片请求位置请求码流,返回到步骤600实现分片的下载和播放。
步骤6060、在码率切换的HTTP请求中通过扩展字段携带PTS信息,根据携带有PTS信息的HTTP请求从流媒体服务器获取以I帧作为分片请求位置的与下载速率相对应的片源码率的分片的码流;
步骤6060也可以采用以下方式进行替换处理:
根据当前分片的序号,重新请求并缓存与下载速率相对应的片源码率的分片,从缓存的与下载速率相对应的片源码率的分片中根据PTS信息检索对应的I帧,以I帧作为分片请求位置,从I帧开始解码和播放。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的每个模块/单元可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本发明不限制于任何特定形式的硬件和软件的结合。”。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (18)
1.一种实现码率切换的方法,其特征在于,包括:
下载分片时,在下载的当前分片的码流中检测最新的画面组GOP;
从检测到的最新的GOP中获取关键帧I帧的显示时间戳PTS信息;
根据获取的PTS信息,播放与下载速率相对应的片源码率的分片。
2.根据权利要求1所述的方法,其特征在于,所述从下载分片的码流检测最新的GOP之前,所述方法还包括:
判断已下载的当前分片部分是否满足码率切换前的视频播放;
已下载的当前分片部分满足码率切换前的视频播放时,播放当前分片;已下载的当前分片部分不满足码率切换前的视频播放时,在下载的当前分片的码流中检测最新的GOP。
3.根据权利要求2所述的方法,其特征在于,所述判断已下载的当前分片部分是否满足码率切换前的视频播放之前,所述方法还包括:
判断所述当前分片的下载速率是否小于当前分片的片源码率与预先设定的第一百分比阈值的乘积;
所述当前分片的下载速率小于当前分片的片源码率与预先设定的第一百分比阈值的乘积时,进行已下载的当前分片部分是否满足码率切换前的视频播放的判断;所述当前分片的下载速率大于或等于当前分片的片源码率与预先设定的第一百分比阈值的乘积时,不进行已下载的当前分片部分是否满足码率切换前的视频播放的判断。
4.根据权利要求2或3所述的方法,其特征在于,所述在下载的当前分片的码流中检测最新的GOP包括:
确定在下载的当前分片的码流中进行最新的GOP检测时,检测当前的GOP结束后的下一GOP作为所述最新的GOP。
5.根据权利要求1所述的方法,其特征在于,所述播放与下载速率相对应的片源码率的分片包括:
在与下载速率相对应的片源码率的分片,根据所述PTS信息确定进行码率切换的分片请求位置;
对与下载速率相对应的片源码率的分片,从确定的进行码率切换的分片请求位置开始进行分片的下载和播放。
6.根据权利要求1、2、3或5所述的方法,其特征在于,所述播放与下载速率相对应的片源码率的分片包括:
M3U8文件中存在与下载速率相对应的片源码率的分片的I帧索引文件时,根据PTS信息定位进行码率切换的分片内的I帧,以I帧的偏移地址offset作为所述分片请求位置请求码流,实现分片的下载和播放。
7.根据权利要求1、2、3或5所述的方法,其特征在于,所述播放与下载速率相对应的片源码率的分片包括:
M3U8文件中不存在与下载速率相对应的片源码率的分片I帧索引文件时,
在码率切换的超文本传输协议HTTP请求中通过扩展字段携带所述PTS信息,根据携带有所述PTS信息的HTTP请求从流媒体服务器获取以I帧作为所述分片请求位置的与下载速率相对应的片源码率的分片的码流;或,
根据当前分片的序号,重新请求并缓存与下载速率相对应的片源码率的分片,从缓存的所述与下载速率相对应的片源码率的分片中根据PTS信息检索对应的I帧,以I帧作为所述分片请求位置,从I帧开始解码和播放。
8.根据权利要求5所述的方法,其特征在于,该方法还包括:
当当前分片的下载速率大于当前分片的片源码率与预先设定的第二百分比阈值的乘积时,在下载的当前分片的码流中检测最新的GOP,并从检测到的最新的GOP中获取I帧的PTS信息;
根据获取的PTS信息,播放与下载速率相对应的片源码率的分片。
9.根据权利要求5或8所述的方法,其特征在于,所述确定分片请求位置之前,该方法还包括:
根据所述当前分片的序号和与下载速率相对应的片源码率,确定所述与下载速率相对应的片源码率的分片。
10.一种实现码率切换的装置,其特征在于,包括:检测单元、获取时间戳单元和播放单元;其中,
检测单元用于,下载分片时,在下载的当前分片的码流中检测最新的画面组GOP;
获取时间戳单元用于,从检测到的最新的GOP中获取关键帧I帧的显示时间戳PTS信息;
播放单元用于,根据获取的PTS信息,播放与下载速率相对应的片源码率的分片。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括第一判断单元,用于所述在下载的当前分片的码流中检测最新的GOP之前,
判断已下载的当前分片部分是否满足码率切换前的视频播放;
已下载的当前分片部分满足码率切换前的视频播放时,播放当前分片;
已下载的当前分片部分不满足码率切换前的视频播放时,在下载的当前分片的码流中检测最新的GOP。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括第二判断单元,用于所述判断已下载的当前分片部分是否满足码率切换前的视频播放之前,
判断所述当前分片的下载速率是否小于当前分片的片源码率与预先设定的第一百分比阈值的乘积;
所述当前分片的下载速率小于当前分片的片源码率与预先设定的第一百分比阈值的乘积时,进行已下载的当前分片部分是否满足码率切换前的视频播放的判断;所述当前分片的下载速率大于或等于当前分片的片源码率与预先设定的第一百分比阈值的乘积时,不进行已下载的当前分片部分是否满足码率切换前的视频播放的判断。
13.根据权利要求11或12所述的装置,其特征在于,所述检测单元具体用于,
所述第一判断单元确定在下载的当前分片的码流中进行最新的GOP检测时,检测当前的GOP结束后的下一GOP作为所述最新的GOP。
14.根据权利要求10所述的装置,其特征在于,所述播放单元具体用于,
在与下载速率相对应的片源码率的分片,根据所述PTS信息确定进行码率切换的分片请求位置;
对与下载速率相对应的片源码率的分片,从确定的进行码率切换的分片请求位置开始进行分片的下载和播放。
15.根据权利要求10、11、12或14所述的装置,其特征在于,所述播放单元具体用于,
M3U8文件中存在与下载速率相对应的片源码率的分片的I帧索引文件时,根据PTS信息定位进行码率切换的分片内的I帧,以I帧的偏移地址offset作为所述分片请求位置请求码流,实现分片的下载和播。
16.根据权利要求10、11、12或14所述的装置,其特征在于,所述播放单元具体用于,
M3U8文件中不存在与下载速率相对应的片源码率的分片I帧索引文件时,
在码率切换的超文本传输协议HTTP请求中通过扩展字段携带所述PTS信息,根据携带有所述PTS信息的HTTP请求从流媒体服务器获取以I帧作为所述分片请求位置的与下载速率相对应的片源码率的分片的码流;或,
根据当前分片的序号,重新请求并缓存与下载速率相对应的片源码率的分片,从缓存的所述与下载速率相对应的片源码率的分片中根据PTS信息检索对应的I帧,以I帧作为所述分片请求位置,从I帧开始解码和播放。
17.根据权利要求14所述的装置,其特征在于,所述装置还包括第三判断单元,
第三判断单元用于,当当前分片的下载速率大于当前分片的片源码率与预先设定的第二百分比阈值的乘积时,在下载的当前分片的码流中检测最新的GOP。
18.根据权利要求14或17所述的装置,其特征在于,该装置还包括确定分片单元,用于确定分片请求位置之前,根据所述当前分片的序号和与下载速率相对应的片源码率,确定所述与下载速率相对应的片源码率的分片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610365130.4A CN107438202A (zh) | 2016-05-26 | 2016-05-26 | 一种实现码率切换的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610365130.4A CN107438202A (zh) | 2016-05-26 | 2016-05-26 | 一种实现码率切换的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107438202A true CN107438202A (zh) | 2017-12-05 |
Family
ID=60454226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610365130.4A Pending CN107438202A (zh) | 2016-05-26 | 2016-05-26 | 一种实现码率切换的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107438202A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110022498A (zh) * | 2018-01-08 | 2019-07-16 | 深圳市中兴微电子技术有限公司 | 一种实现码率切换的方法及装置 |
CN110121100A (zh) * | 2019-05-28 | 2019-08-13 | 平安科技(深圳)有限公司 | 媒体文件的下载方法、装置、终端和计算机可读存储介质 |
CN110149560A (zh) * | 2019-06-05 | 2019-08-20 | 亦非云互联网技术(上海)有限公司 | 基于hls协议的播放器优化方法及系统、存储介质及终端 |
CN110267100A (zh) * | 2019-07-12 | 2019-09-20 | 北京达佳互联信息技术有限公司 | Flv视频的码率切换方法、装置、电子设备及存储介质 |
CN110582012A (zh) * | 2018-06-11 | 2019-12-17 | 腾讯科技(深圳)有限公司 | 视频切换方法、视频处理方法、装置及存储介质 |
CN110636346A (zh) * | 2019-09-19 | 2019-12-31 | 北京达佳互联信息技术有限公司 | 一种码率自适应切换方法、装置、电子设备及存储介质 |
CN110933517A (zh) * | 2019-11-30 | 2020-03-27 | 咪咕视讯科技有限公司 | 码率切换方法、客户端和计算机可读存储介质 |
CN110933516A (zh) * | 2018-09-19 | 2020-03-27 | 华为技术有限公司 | 多媒体直播方法、装置及设备 |
CN111836076A (zh) * | 2019-04-18 | 2020-10-27 | 腾讯科技(深圳)有限公司 | 视频分辨率切换方法及装置、电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008172629A (ja) * | 2007-01-12 | 2008-07-24 | Victor Co Of Japan Ltd | コンテンツ統合サーバ |
CN101917389A (zh) * | 2009-12-17 | 2010-12-15 | 新奥特(北京)视频技术有限公司 | 一种网络电视直播系统 |
CN102957672A (zh) * | 2011-08-25 | 2013-03-06 | 中国电信股份有限公司 | 自适应播放flv媒体流的方法、客户端和系统 |
CN103986978A (zh) * | 2014-04-14 | 2014-08-13 | 曦威胜科技开发(深圳)有限公司 | 在HLS协议中扩展实现快进快退及精确Seek的方法 |
CN104010232A (zh) * | 2014-05-23 | 2014-08-27 | 惠州Tcl移动通信有限公司 | 一种智能播放在线视频的方法、系统、播放器及移动终端 |
CN104080013A (zh) * | 2014-07-09 | 2014-10-01 | 三星电子(中国)研发中心 | 特效播放方法及装置 |
-
2016
- 2016-05-26 CN CN201610365130.4A patent/CN107438202A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008172629A (ja) * | 2007-01-12 | 2008-07-24 | Victor Co Of Japan Ltd | コンテンツ統合サーバ |
CN101917389A (zh) * | 2009-12-17 | 2010-12-15 | 新奥特(北京)视频技术有限公司 | 一种网络电视直播系统 |
CN102957672A (zh) * | 2011-08-25 | 2013-03-06 | 中国电信股份有限公司 | 自适应播放flv媒体流的方法、客户端和系统 |
CN103986978A (zh) * | 2014-04-14 | 2014-08-13 | 曦威胜科技开发(深圳)有限公司 | 在HLS协议中扩展实现快进快退及精确Seek的方法 |
CN104010232A (zh) * | 2014-05-23 | 2014-08-27 | 惠州Tcl移动通信有限公司 | 一种智能播放在线视频的方法、系统、播放器及移动终端 |
CN104080013A (zh) * | 2014-07-09 | 2014-10-01 | 三星电子(中国)研发中心 | 特效播放方法及装置 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110022498A (zh) * | 2018-01-08 | 2019-07-16 | 深圳市中兴微电子技术有限公司 | 一种实现码率切换的方法及装置 |
CN110022498B (zh) * | 2018-01-08 | 2021-04-27 | 深圳市中兴微电子技术有限公司 | 一种实现码率切换的方法及装置 |
CN110582012B (zh) * | 2018-06-11 | 2021-07-30 | 腾讯科技(深圳)有限公司 | 视频切换方法、视频处理方法、装置及存储介质 |
CN110582012A (zh) * | 2018-06-11 | 2019-12-17 | 腾讯科技(深圳)有限公司 | 视频切换方法、视频处理方法、装置及存储介质 |
CN110933516A (zh) * | 2018-09-19 | 2020-03-27 | 华为技术有限公司 | 多媒体直播方法、装置及设备 |
CN111836076B (zh) * | 2019-04-18 | 2023-01-20 | 腾讯科技(深圳)有限公司 | 视频分辨率切换方法及装置、电子设备 |
CN111836076A (zh) * | 2019-04-18 | 2020-10-27 | 腾讯科技(深圳)有限公司 | 视频分辨率切换方法及装置、电子设备 |
CN110121100A (zh) * | 2019-05-28 | 2019-08-13 | 平安科技(深圳)有限公司 | 媒体文件的下载方法、装置、终端和计算机可读存储介质 |
CN110149560A (zh) * | 2019-06-05 | 2019-08-20 | 亦非云互联网技术(上海)有限公司 | 基于hls协议的播放器优化方法及系统、存储介质及终端 |
CN110149560B (zh) * | 2019-06-05 | 2021-11-16 | 亦非云互联网技术(上海)有限公司 | 基于hls协议的播放器优化方法及系统、存储介质及终端 |
CN110267100A (zh) * | 2019-07-12 | 2019-09-20 | 北京达佳互联信息技术有限公司 | Flv视频的码率切换方法、装置、电子设备及存储介质 |
CN110267100B (zh) * | 2019-07-12 | 2022-01-25 | 北京达佳互联信息技术有限公司 | Flv视频的码率切换方法、装置、电子设备及存储介质 |
CN110636346B (zh) * | 2019-09-19 | 2021-08-03 | 北京达佳互联信息技术有限公司 | 一种码率自适应切换方法、装置、电子设备及存储介质 |
CN110636346A (zh) * | 2019-09-19 | 2019-12-31 | 北京达佳互联信息技术有限公司 | 一种码率自适应切换方法、装置、电子设备及存储介质 |
CN110933517A (zh) * | 2019-11-30 | 2020-03-27 | 咪咕视讯科技有限公司 | 码率切换方法、客户端和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107438202A (zh) | 一种实现码率切换的方法及装置 | |
CN107690073B (zh) | 一种视频直播方法及视频直播服务器 | |
CN106658226B (zh) | 一种播放方法及装置 | |
US10530825B2 (en) | Catching up to the live playhead in live streaming | |
CN107547940A (zh) | 视频播放处理方法、设备及计算机可读存储介质 | |
US20100070643A1 (en) | Delivery of synchronized metadata using multiple transactions | |
JP2010539739A (ja) | データ・フローを同期化する方法 | |
CN110809168A (zh) | 视频直播处理方法、装置、终端及存储介质 | |
CN108040286A (zh) | 视频预览方法、装置、电子设备和计算机可读存储介质 | |
AU2011205819B2 (en) | Method and arrangement for supporting playout of content | |
CN111601136B (zh) | 一种视频数据处理方法、装置、计算机设备及存储介质 | |
CN107333163A (zh) | 一种视频处理方法及装置、一种终端及存储介质 | |
MX2011005782A (es) | Metodo y aparato para controlar la reproduccion de datos de video-audio. | |
CN110022498B (zh) | 一种实现码率切换的方法及装置 | |
CN111372138A (zh) | 一种播放器端的直播低延迟技术方案 | |
CN109218763A (zh) | 一种流媒体视频切换的方法及智能电视 | |
US10091265B2 (en) | Catching up to the live playhead in live streaming | |
CN105898625B (zh) | 一种播放处理方法及终端设备 | |
CN107690093A (zh) | 一种视频播放方法及装置 | |
EP3466081A1 (en) | Catching up to the live playhead in live streaming | |
CN108259998B (zh) | 播放器及播放控制方法、装置、电子设备及播放系统 | |
US10200433B2 (en) | Client device, a method for receiving a streaming media data and a streaming media data transmission system | |
CN113490055A (zh) | 数据处理方法和装置 | |
US20240080518A1 (en) | Insertion of targeted content in real-time streaming media | |
CN108540855B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171205 |
|
RJ01 | Rejection of invention patent application after publication |