This application discloses a streaming media broadcasting method and related devices. The methods include: obtaining the index file of the target streaming media; downloading the video file corresponding to the first index item after the preset field in the index file; dividing the video file into the first video sub-file and the second video sub-file if the video frame in the video file does not belong to the same picture group; the video frame in the first video sub-file belongs to the same picture group and the second video sub-file. The video frame in the file belongs to another picture group; generates the first index item of the first video sub-file in the locality and the second index item of the second video sub-file in the locality; and updates the first index item and the second index item to the index file. This application can repair the index files of HLS protocol, solve the problem that the index information of video files under the same picture group is separated by fields (such as EXT_X_DISCONTINUITY field), and avoid the terminal device mistakenly clearing the current cached video decoding data when playing the video stream under the picture group.
【技术实现步骤摘要】
一种流媒体的播放方法及相关装置
本申请涉及多媒体播放
,尤其是一种流媒体的播放方法及相关装置。
技术介绍
超文本直播流(HTTPLiveStreaming,HLS)是苹果公司的动态码率自适应技术。相对于常规的流媒体直播协议,支持HLS协议的流媒体服务器把整个流媒体拆分成一个个小的多媒体文件进行存储。拆分后的多媒体文件的索引信息会记录在m3u8文件(索引文件)中,终端设备可以基于m3u8文件选择不同的速率对拆分后的多媒体文件进行下载播放。现有技术中,m3u8文件会引入#EXT-X-DISCONTINUITY字段以标记流媒体的音视频编码参数发生改变。一般情况下,一个流媒体的m3u8文件会存在多个#EXT-X-DISCONTINUITY字段。终端设备在播放流媒体的过程中,遇到#EXT-X-DISCONTINUITY字段会清除当前缓存的视频解码数据。目前HLS协议对同一画面组(GroupofPictures,GOP)的视频流切分没有考虑到m3u8文件中#EXT-X-DISCONTINUITY字段对播放带来的影响。因此m3u8文件经常会出现#EXT-X-DISCONTINUITY字段将同一GOP下的不同视频文件的索引信息相隔,从而导致终端设备在加载播放被隔开的后半段GOP的视频流时,因之前缓存的视频解码数据丢失而无法正常进行解码,致使播放画面出现异常现象。
技术实现思路
本申请实施例的目的是提供一种流媒体的播放方法及相关装置,用于在终端设备播放GOP下的视频流的过程中,避免终端设备误清除当前缓存的视频解码数据。为了实现上述目的,本申请实施例采用下述技术方案:第一方 ...
【技术保护点】
1.一种流媒体的播放方法,其特征在于,包括:获取目标流媒体的索引文件;下载所述索引文件中预设字段之后的首个索引项对应的视频文件;若所述视频文件中的视频帧不属于同一个画面组,则将所述视频文件拆分成第一视频子文件和第二视频子文件,所述第一视频子文件中的视频帧属于同一个画面组,所述第二视频子文件中的视频帧属于另一个画面组;生成所述第一视频子文件在本地的第一索引项和所述第二视频子文件在本地的第二索引项;将所述第一索引项和所述第二索引项更新至所述索引文件。
【技术特征摘要】
1.一种流媒体的播放方法,其特征在于,包括:获取目标流媒体的索引文件;下载所述索引文件中预设字段之后的首个索引项对应的视频文件;若所述视频文件中的视频帧不属于同一个画面组,则将所述视频文件拆分成第一视频子文件和第二视频子文件,所述第一视频子文件中的视频帧属于同一个画面组,所述第二视频子文件中的视频帧属于另一个画面组;生成所述第一视频子文件在本地的第一索引项和所述第二视频子文件在本地的第二索引项;将所述第一索引项和所述第二索引项更新至所述索引文件。2.根据权利要求1所述的播放方法,其特征在于,还包括:判断所述视频文件中的首帧是否为i帧;若不是i帧,则确定所述视频文件中的视频帧不属于同一个画面组。3.根据权利要求2所述的播放方法,其特征在于,所述第一视频子文件包含所述视频文件中首个i帧之前的所有视频帧,所述第二视频子文件包含所述视频文件中除所述第一视频子文件外的所有视频帧。4.根据权利要求3所述的播放方法,其特征在于,所述下载所述索引文件中预设字段之后的首个索引项对应的视频文件,包括:下载所述索引文件中第N个预设字段之后的首个索引项对应的视频文件;所述将所述第一索引项和所述第二索引项更新至所述索引文件,包括:在所述索引文件中的第一位置添加所述第一索引项,以及在所述索引文件中的第二位置添加所述第二索引项;其中,所述第一位置位于所述索引文件中第N个预设字段之前且第N-1个预设字段之后,所述第二位置位于所述索引文件中第N个预设字段之后且第N个预设字段后的首个索引项之前;N为大于1的正整数。5.根据权利要求1-4中任一项所述的播放方法,其特征在于,所述生成所述第一视频子文件在本地的第一索引项和所述第二视频子文件在本地的第二索引项,包括:生成第一视频子文件的第一字段,并将所述第一字段作为所述第一视频子文件在本地的第一索引项,所述第一字段记录有所述第一视频子文件的视频帧的总时长以及所述第一视频子文件在本地的URL;生成第二视频子文件的第二字段,所述第二字段作为所述第二视频子文件在本地的第二索引项,所述第二字段记录有所述第二视频子文件的视频帧的总时长以及所述第二视频子文件在本地的URL。6.一种流媒体的播放装置,其特征在于,包括:获取模块,用于获取...
【专利技术属性】
技术研发人员:陈小菊,
申请(专利权)人:维沃移动通信有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。