CN105744371B - 流媒体数据的播放方法及装置 - Google Patents

流媒体数据的播放方法及装置 Download PDF

Info

Publication number
CN105744371B
CN105744371B CN201410749309.0A CN201410749309A CN105744371B CN 105744371 B CN105744371 B CN 105744371B CN 201410749309 A CN201410749309 A CN 201410749309A CN 105744371 B CN105744371 B CN 105744371B
Authority
CN
China
Prior art keywords
stream medium
medium data
data
frame
download
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
Application number
CN201410749309.0A
Other languages
English (en)
Other versions
CN105744371A (zh
Inventor
杨自清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen TCL New Technology Co Ltd
Original Assignee
Shenzhen TCL New Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen TCL New Technology Co Ltd filed Critical Shenzhen TCL New Technology Co Ltd
Priority to CN201410749309.0A priority Critical patent/CN105744371B/zh
Priority to PCT/CN2014/094138 priority patent/WO2016090665A1/zh
Publication of CN105744371A publication Critical patent/CN105744371A/zh
Application granted granted Critical
Publication of CN105744371B publication Critical patent/CN105744371B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content

Abstract

本发明公开了一种流媒体数据的播放方法,包括:根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中;获取所述预置时间段内的流媒体数据的下载速度;判断所述下载速度是否大于流媒体数据的播放码率;当所述下载速度小于等于所述播放码率时,提取所述预置时间段内的流媒体数据的预置帧;控制显示终端播放显示所述预置帧,并继续下载流媒体数据,直至下载的流媒体数据达到预设值时,控制所述显示终端对所述流媒体数据进行播放。本发明还公开了一种流媒体数据的播放装置。本发明解决了播放流媒体数据时播放画面黑屏的问题。

Description

流媒体数据的播放方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及流媒体数据的播放方法及装置。
背景技术
伴随着互联网技术的飞速发展,流媒体技术也越来越走进了人们的生活。这种以流的方式在网络中传输音频、视频或多媒体文件的方式,彻底打破了传统的用户只能通过广播或有线电视获取媒体内容的方式。虽然互联网接入带宽越来越大,但是人们对视频质量的要求也是越来越高,高质量就意味着高码率。当前技术在呈现流媒体内容时,如果网络可用带宽小于流媒体内容的播放码率,播放器直至缓冲了足够的流媒体内容后才将流媒体内容推入播放器进行播放,这就使得播放画面一直处于黑屏状态。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种流媒体数据的播放方法,旨在解决现有技术播放流媒体数据时播放画面黑屏的问题。
为了实现上述目的,本发明提供的流媒体数据的播放方法包括以下步骤:
根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中;
获取所述预置时间段内的流媒体数据的下载速度;
判断所述下载速度是否大于流媒体数据的播放码率;
当所述下载速度小于等于所述播放码率时,提取所述预置时间段内的流媒体数据的预置帧;
控制显示终端播放显示所述预置帧,并继续下载流媒体数据,直至下载的流媒体数据达到预设值时,控制所述显示终端对所述流媒体数据进行播放。
优选地,所述根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中步骤之前包括:
判断所述数据缓冲区中是否存在流媒体数据;
若否,则执行所述根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中步骤;
若是,则清除所述流媒体数据,再转入执行所述根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中步骤。
优选地,所述流媒体数据的播放方法还包括:
当所述下载速度大于所述播放码率时,控制显示终端播放已下载的流媒体数据,并继续下载流媒体数据。
优选地,所述下载速度具体为:所述预置时间段内的流媒体数据的平均下载速度。
优选地,所述提取所述预置时间段内的流媒体数据的预置帧包括:
依次提取所述预置时间段内的流媒体数据的数据帧;
当所述数据帧为第一帧I帧时,将所述第一帧I帧保存为所述预置帧。
此外,为实现上述目的,本发明还提供一种流媒体数据的播放装置,包括:
下载模块,用于根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中;
获取模块,用于获取所述预置时间段内的流媒体数据的下载速度;
第一判断模块,用于判断所述下载速度是否大于流媒体数据的播放码率;
提取模块,用于当所述下载速度小于等于所述播放码率时,提取所述预置时间段内的流媒体数据的预置帧;
控制模块,用于控制显示终端播放显示所述预置帧,并继续下载流媒体数据,直至下载的流媒体数据达到预设值时,控制所述显示终端对所述流媒体数据进行播放。
优选地,所述流媒体数据的播放装置还包括第二判断模块,
所述第二判断模块,用于判断所述数据缓冲区中是否存在流媒体数据;
所述下载模块,具体用于当所述数据缓冲区中不存在流媒体数据时,根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中;当所述数据缓冲区中存在流媒体数据时,清除所述流媒体数据,并根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中。
优选地,所述控制模块还用于当所述下载速度大于所述播放码率时,控制显示终端播放已下载的流媒体数据,并继续下载流媒体数据。
优选地,所述获取模块具体用于获取所述预置时间段内的流媒体数据的平均下载速度。
优选地,所述提取模块包括:
提取单元,用于依次提取所述预置时间段内的流媒体数据的数据帧;
保存单元,用于当所述数据帧为第一帧I帧时,将所述第一帧I帧保存为所述预置帧。
本发明通过根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中;获取所述预置时间段内的流媒体数据的下载速度;判断所述下载速度是否大于流媒体数据的播放码率;当所述下载速度小于等于所述播放码率时,提取所述预置时间段内的流媒体数据的预置帧;控制显示终端播放显示所述预置帧,并继续下载流媒体数据,直至下载的流媒体数据达到预设值时,控制所述显示终端对所述流媒体数据进行播放。从而解决了播放流媒体数据时播放画面黑屏的问题。
附图说明
图1为本发明流媒体数据的播放方法第一实施例的流程示意图;
图2为本发明流媒体数据的播放方法第二实施例的流程示意图;
图3为本发明流媒体数据的播放方法第一实施例中提取预置时间段内的流媒体数据的预置帧的细化流程示意图;
图4为本发明流媒体数据的播放装置第一实施例的功能模块示意图;
图5为本发明流媒体数据的播放装置第二实施例的功能模块示意图;
图6为本发明流媒体数据的播放装置一实施例中提取模块的细化功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种流媒体数据的播放方法,参照图1,提供了流媒体数据的播放方法的一实施例,本实施例中,所述流媒体数据的播放方法包括以下步骤:
步骤S10,根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中;
应当说明的是,现有技术中将流媒体视频内容切割成许多较短的分片保存在流媒体内容发布服务器中,这些分片通常有2-10秒的播放时长。所述预置时间段内的流媒体数据可以为一个分片或多个分片。本实施例中,所述预置时间段内的流媒体数据为一个分片,每个完整的流媒体数据由若干连续的分片组成。例如,当播放流媒体数据(流媒体视频内容)时,用户可以输入相应的播放指令来控制显示终端从任意时间点播放。用户每输入一次所述播放指令,根据所述播放指令对应的时间点从流媒体内容发布服务器下载预置时间段内的流媒体数据(当前需下载的分片)至所述数据缓冲区中。当所述预置时间段内的流媒体数据(当前需下载的分片)下载完成后,依次下载后续的流媒体数据。
可以理解的是,根据实际情况来选择下载流媒体数据(流媒体视频内容)采用的传输技术。例如,可以采用HLS(HTTP Live Streaming)、HDS(HTTP Dynamic Streaming)、Smooth Streaming和MPEG-DASH等自适应流媒体传输技术或者传统的http渐进式下载技术。
例如,当采用HLS传输技术时,在下载所述预置时间段内的流媒体数据(当前需下载的分片)之前先向流媒体内容发布服务器请求下载m3u8文件,所述m3u8文件为流媒体描述文件,通过分析所述m3u8文件,可以得到所述流媒体数据(流媒体视频内容)的下载链接以及播放码率、视频分辨率、音频抽样率、播放时长等流媒体数据(流媒体视频内容)的相关信息,然后使用已经获取的所述下载链接向流媒体内容发布服务器请求下载所述预置时间段内的流媒体数据(当前需下载的分片)。当所述预置时间段内的流媒体数据(当前需下载的分片)下载完成后,依次下载后续的流媒体数据。
步骤S20,获取所述预置时间段内的流媒体数据的下载速度;
本实施例中,所述获取所述预置时间段内的流媒体数据的下载速度具体为:获取所述预置时间段内的流媒体数据的平均下载速度。
所述预置时间段内的流媒体数据的平均下载速度V=S/T,其中S为所述预置时间段内的流媒体数据的容量,T为下载所述预置时间段内的流媒体数据使用的时间。当采用libcurl库时,还可以使用函数curl_easy_getinfo()和参数CURLINFO_SPEED_DOWNLOAD直接获取所述预置时间段内的流媒体数据的平均下载速度。
可以理解的是,在完整的流媒体数据播放过程中,由于网络是动态变化的,不同分片的平均下载速度是不同的,所述平均下载速度反映了不同时间段内网络的可用带宽。
步骤S30,判断所述下载速度是否大于流媒体数据的播放码率;
本实施例中,当所述下载速度小于等于所述播放码率时,说明此时下载速度可能跟不上显示终端的播放速度。如果直至下载的流媒体数据达到预设值时才控制所述显示终端进行播放,在等待下载期间播放画面将一直处于黑屏状态;如果此时直接控制显示终端进行播放,那么不是出现播放画面卡顿,声音断断续续,就是短暂播放后就立即停止。
步骤S40,当所述下载速度小于等于所述播放码率时,提取所述预置时间段内的流媒体数据的预置帧;
应当说明的是,现有技术中,每一分片是由若干个GOP(画面组)构成的,每一GOP由I帧(intra coded picture)、P帧(predictive coded picture)、B帧(bidirectionallypredictive coded picture)等组成,I帧表示关键帧,并且通过I帧可以解码出一幅完整的图像。本实施例中,依次提取所述预置时间段内的流媒体数据中数据帧;当所述数据帧为第一帧I帧时,将所述第一帧I帧保存为所述预置帧。
例如,当采用开源库FFmpeg时,使用函数av_read_frame()能够从所述预置时间段内的流媒体数据中提取出一帧完整的数据帧;然后判断所述数据帧是否为第一帧I帧;若否,则丢弃所述数据帧;若是,则将所述数据帧保存为所述预置帧。
步骤S50,控制显示终端播放显示所述预置帧,并继续下载流媒体数据,直至下载的流媒体数据达到预设值时,控制所述显示终端对所述流媒体数据进行播放。
本实施例中,由于所述下载速度小于等于所述播放码率,说明此时下载速度可能跟不上显示终端的播放速度。如果当下载的流媒体数据达到预设值时才控制所述显示终端进行播放,在等待下载期间播放画面将一直处于黑屏状态;如果此时直接控制显示终端进行播放,那么不是出现播放画面卡顿,声音断断续续,就是短暂播放后就立即停止。因此,控制显示终端显示第一帧I帧,直至下载的流媒体数据达到预设值时,控制所述显示终端对所述流媒体数据进行播放。所述预设值根据实际情况设置,例如,可以将所述预设值设置为60秒,在等待下载的流媒体数据的播放时长达到60秒期间,控制显示终端显示第一帧I帧;然后控制显示终端对所述流媒体数据进行播放。从而解决了播放流媒体数据时播放画面黑屏的问题。
本发明实施例通过根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中;获取所述预置时间段内的流媒体数据的下载速度;判断所述下载速度是否大于流媒体数据的播放码率;当所述下载速度小于等于所述播放码率时,提取所述预置时间段内的流媒体数据的预置帧;控制显示终端播放显示所述预置帧,并继续下载流媒体数据,直至下载的流媒体数据达到预设值时,控制所述显示终端对所述流媒体数据进行播放。从而解决了播放流媒体数据时播放画面黑屏的问题。
进一步地,基于上述实施例,本实施中,在根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中之前包括:
判断所述数据缓冲区中是否存在流媒体数据;
若否,则执行所述根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中步骤;
若是,则清除所述流媒体数据,再转入执行所述根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中步骤。
应当理解的是,当显示终端开始播放流媒体数据后,用户每改变一次播放的时间点,相应的下载所述时间点对应的预置时间段内的流媒体数据,在下载前先清除所述数据缓冲区中存在的流媒体数据。
进一步地,参照图2,基于上述实施例,本实施例中,所述流媒体数据的播放方法还包括:
步骤S60,当所述下载速度大于所述播放码率时,控制显示终端播放已下载的流媒体数据,并继续下载流媒体数据。
本实施例中,当所述下载速度大于所述播放码率时,说明此时网络可用带宽大于所述播放码率,下载速度可以跟上显示终端的播放速度。此时控制显示终端播放所述预置时间段内的流媒体数据,并在播放的同时继续下载所述预置时间段内的流媒体数据后续的流媒体数据。
进一步地,基于上述实施例,本实施例中,所述预置时间段内的流媒体数据的下载速度具体为:所述预置时间段内的流媒体数据的平均下载速度。
本实施例中,所述预置时间段内的流媒体数据的平均下载速度V=S/T,其中S为所述预置时间段内的流媒体数据的容量,T为下载所述预置时间段内的流媒体数据使用的时间。当采用libcurl库时,还可以使用函数curl_easy_getinfo()和参数CURLINFO_SPEED_DOWNLOAD直接获取所述预置时间段内的流媒体数据的平均下载速度。
可以理解的是,在完整的流媒体数据播放过程中,由于网络是动态变化的,不同分片的平均下载速度是不同的,所述平均下载速度反映了不同时间段内网络的可用带宽。
进一步地,参照图3,基于上述实施例,本实施例中,上述步骤S40中所述提取所述预置时间段内的流媒体数据的预置帧包括:
步骤S401,依次提取所述预置时间段内的流媒体数据的数据帧;
步骤S402,当所述数据帧为第一帧I帧时,将所述第一帧I帧保存为所述预置帧。
本实施例中,依次提取所述预置时间段内的流媒体数据的数据帧,例如,当采用开源库FFmpeg时,使用函数av_read_frame()能够从所述预置时间段内的流媒体数据中提取一帧完整的数据帧。然后判断所述数据帧是否为第一帧I帧;若否,则丢弃所述数据帧;若是,则将所述数据帧保存为所述预置帧。
本发明还提供一种流媒体数据的播放装置,参照图4,本发明提供的流媒体数据的播放装置包括:
下载模块10,用于根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中;
应当说明的是,现有技术中将流媒体视频内容切割成许多较短的分片保存在流媒体内容发布服务器中,这些分片通常有2-10秒的播放时长。所述预置时间段内的流媒体数据可以为一个分片或多个分片。本实施例中,所述预置时间段内的流媒体数据为一个分片,每个完整的流媒体数据由若干连续的分片组成。例如,当播放流媒体数据(流媒体视频内容)时,用户可以输入相应的播放指令来控制显示终端从任意时间点播放。用户每输入一次所述播放指令,根据所述播放指令对应的时间点从流媒体内容发布服务器下载预置时间段内的流媒体数据(当前需下载的分片)至所述数据缓冲区中。当所述预置时间段内的流媒体数据(当前需下载的分片)下载完成后,依次下载后续的流媒体数据。
可以理解的是,根据实际情况来选择下载流媒体数据(流媒体视频内容)采用的传输技术。例如,可以采用HLS(HTTP Live Streaming)、HDS(HTTP Dynamic Streaming)、Smooth Streaming和MPEG-DASH等自适应流媒体传输技术或者传统的http渐进式下载技术。
例如,当采用HLS传输技术时,在下载所述预置时间段内的流媒体数据(当前需下载的分片)之前先向流媒体内容发布服务器请求下载m3u8文件,所述m3u8文件为流媒体描述文件,通过分析所述m3u8文件,可以得到所述流媒体数据(流媒体视频内容)的下载链接以及播放码率、视频分辨率、音频抽样率、播放时长等流媒体数据(流媒体视频内容)的相关信息,然后使用已经获取的所述下载链接向流媒体内容发布服务器请求下载所述预置时间段内的流媒体数据(当前需下载的分片)。当所述预置时间段内的流媒体数据(当前需下载的分片)下载完成后,依次下载后续的流媒体数据。
获取模块20,用于获取所述预置时间段内的流媒体数据的下载速度;
本实施例中,所述获取模块20具体用于获取所述预置时间段内的流媒体数据的平均下载速度。
所述预置时间段内的流媒体数据的平均下载速度V=S/T,其中S为所述预置时间段内的流媒体数据的容量,T为下载所述预置时间段内的流媒体数据使用的时间。当采用libcurl库时,还可以使用函数curl_easy_getinfo()和参数CURLINFO_SPEED_DOWNLOAD直接获取所述预置时间段内的流媒体数据的平均下载速度。
可以理解的是,在完整的流媒体数据播放过程中,由于网络是动态变化的,不同分片的平均下载速度是不同的,所述平均下载速度反映了不同时间段内网络的可用带宽。
第一判断模块30,用于判断所述下载速度是否大于流媒体数据的播放码率;
本实施例中,当所述下载速度小于等于所述播放码率时,说明此时下载速度可能跟不上显示终端的播放速度。如果直至下载的流媒体数据达到预设值时才控制所述显示终端进行播放,在等待下载期间播放画面将一直处于黑屏状态;如果此时直接控制显示终端进行播放,那么不是出现播放画面卡顿,声音断断续续,就是短暂播放后就立即停止。
提取模块40,用于当所述下载速度小于等于所述播放码率时,提取所述预置时间段内的流媒体数据的预置帧;
应当说明的是,现有技术中,每一分片是由若干个GOP(画面组)构成的,每一GOP由I帧(intra coded picture)、P帧(predictive coded picture)、B帧(bidirectionallypredictive coded picture)等组成,I帧表示关键帧,并且通过I帧可以解码出一幅完整的图像。本实施例中,依次提取所述预置时间段内的流媒体数据中数据帧;当所述数据帧为第一帧I帧时,将所述第一帧I帧保存为所述预置帧。
例如,当采用开源库FFmpeg时,使用函数av_read_frame()能够从所述预置时间段内的流媒体数据中提取出一帧完整的数据帧;然后判断所述数据帧是否为第一帧I帧;若否,则丢弃所述数据帧;若是,则将所述数据帧保存为所述预置帧。
控制模块50,用于控制显示终端播放显示所述预置帧,并继续下载流媒体数据,直至下载的流媒体数据达到预设值时,控制所述显示终端对所述流媒体数据进行播放。
本实施例中,由于所述下载速度小于等于所述播放码率,说明此时下载速度可能跟不上显示终端的播放速度。如果当下载的流媒体数据达到预设值时才控制所述显示终端进行播放,在等待下载期间播放画面将一直处于黑屏状态;如果此时直接控制显示终端进行播放,那么不是出现播放画面卡顿,声音断断续续,就是短暂播放后就立即停止。因此,控制显示终端显示第一帧I帧,直至下载的流媒体数据达到预设值时,控制所述显示终端对所述流媒体数据进行播放。所述预设值根据实际情况设置,例如,可以将所述预设值设置为60秒,在等待下载的流媒体数据的播放时长达到60秒期间,控制显示终端显示第一帧I帧;然后控制显示终端对所述流媒体数据进行播放。从而解决了播放流媒体数据时播放画面黑屏的问题。
本发明实施例通过根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中;获取所述预置时间段内的流媒体数据的下载速度;判断所述下载速度是否大于流媒体数据的播放码率;当所述下载速度小于等于所述播放码率时,提取所述预置时间段内的流媒体数据的预置帧;控制显示终端播放显示所述预置帧,并继续下载流媒体数据,直至下载的流媒体数据达到预设值时,控制所述显示终端对所述流媒体数据进行播放。从而解决了播放流媒体数据时播放画面黑屏的问题。
进一步地,参照图5,基于上述实施例,本实施例中,所述流媒体数据的播放装置还包括第二判断模块60,
所述第二判断模块60,用于判断所述数据缓冲区中是否存在流媒体数据;
所述下载模块10,具体用于当所述数据缓冲区中不存在流媒体数据时,根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中;当所述数据缓冲区中存在流媒体数据时,清除所述流媒体数据,并根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中。
应当理解的是,当显示终端开始播放流媒体数据后,用户每改变一次播放的时间点,相应的下载所述时间点对应的预置时间段内的流媒体数据,在下载前先清除所述数据缓冲区中存在的流媒体数据。
进一步地,基于上述实施例,本实施例中,所述控制模块50还用于当所述下载速度大于所述播放码率时,控制显示终端播放已下载的流媒体数据,并继续下载流媒体数据。
本实施例中,当所述下载速度大于所述播放码率时,说明此时网络可用带宽大于所述播放码率,下载速度可以跟上显示终端的播放速度。此时控制显示终端播放所述预置时间段内的流媒体数据,并在播放的同时继续下载所述预置时间段内的流媒体数据后续的流媒体数据。
进一步地,基于上述实施例,本实施中,所述获取模块20具体用于获取所述预置时间段内的流媒体数据的平均下载速度。
本实施例中,所述预置时间段内的流媒体数据的平均下载速度V=S/T,其中S为所述预置时间段内的流媒体数据的容量,T为下载所述预置时间段内的流媒体数据使用的时间。当采用libcurl库时,还可以使用函数curl_easy_getinfo()和参数CURLINFO_SPEED_DOWNLOAD直接获取所述预置时间段内的流媒体数据的平均下载速度。
可以理解的是,在完整的流媒体数据播放过程中,由于网络是动态变化的,不同分片的平均下载速度是不同的,所述平均下载速度反映了不同时间段内网络的可用带宽。
进一步地,参照图6,基于上述实施例,本实施中,所述提取模块40包括:
提取单元401,用于依次提取所述预置时间段内的流媒体数据中数据帧;
保存单元402,用于当所述数据帧为第一帧I帧时,将所述第一帧I帧保存为所述预置帧。
本实施例中,依次提取所述预置时间段内的流媒体数据的数据帧,例如,当采用开源库FFmpeg时,使用函数av_read_frame()能够从所述预置时间段内的流媒体数据中提取一帧完整的数据帧。然后判断所述数据帧是否为第一帧I帧;若否,则丢弃所述数据帧;若是,则将所述数据帧保存为所述预置帧。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种流媒体数据的播放方法,其特征在于,所述流媒体数据的播放方法包括:
根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中;
获取所述预置时间段内的流媒体数据的下载速度;
判断所述下载速度是否大于流媒体数据的播放码率;
当所述下载速度小于等于所述播放码率时,提取所述预置时间段内的流媒体数据的预置帧;
控制显示终端播放显示所述预置帧,并继续下载流媒体数据,直至下载的流媒体数据达到预设值时,控制所述显示终端对所述流媒体数据进行播放。
2.如权利要求1所述的流媒体数据的播放方法,其特征在于,所述根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中步骤之前包括:
判断所述数据缓冲区中是否存在流媒体数据;
若否,则执行所述根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中步骤;
若是,则清除所述流媒体数据,再转入执行所述根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中步骤。
3.如权利要求1所述的流媒体数据的播放方法,其特征在于,所述流媒体数据的播放方法还包括:
当所述下载速度大于所述播放码率时,控制显示终端播放已下载的流媒体数据,并继续下载流媒体数据。
4.如权利要求1至3任一项所述的流媒体数据的播放方法,其特征在于,所述下载速度具体为:所述预置时间段内的流媒体数据的平均下载速度。
5.如权利要求1至3任一项所述的流媒体数据的播放方法,其特征在于,所述提取所述预置时间段内的流媒体数据的预置帧包括:
依次提取所述预置时间段内的流媒体数据的数据帧;
当所述数据帧为第一帧I帧时,将所述第一帧I帧保存为所述预置帧。
6.一种流媒体数据的播放装置,其特征在于,包括:
下载模块,用于根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中;
获取模块,用于获取所述预置时间段内的流媒体数据的下载速度;
第一判断模块,用于判断所述下载速度是否大于流媒体数据的播放码率;
提取模块,用于当所述下载速度小于等于所述播放码率时,提取所述预置时间段内的流媒体数据的预置帧;
控制模块,用于控制显示终端播放显示所述预置帧,并继续下载流媒体数据,直至下载的流媒体数据达到预设值时,控制所述显示终端对所述流媒体数据进行播放。
7.如权利要求6所述的流媒体数据的播放装置,其特征在于,所述流媒体数据的播放装置还包括第二判断模块,
所述第二判断模块,用于判断所述数据缓冲区中是否存在流媒体数据;
所述下载模块,具体用于当所述数据缓冲区中不存在流媒体数据时,根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中;当所述数据缓冲区中存在流媒体数据时,清除所述流媒体数据,并根据用户输入的播放指令下载预置时间段内的流媒体数据至数据缓冲区中。
8.如权利要求6所述的流媒体数据的播放装置,其特征在于,所述控制模块还用于当所述下载速度大于所述播放码率时,控制显示终端播放已下载的流媒体数据,并继续下载流媒体数据。
9.如权利要求6至8任一项所述的流媒体数据的播放装置,其特征在于,所述获取模块具体用于获取所述预置时间段内的流媒体数据的平均下载速度。
10.如权利要求6至8任一项所述的流媒体数据的播放装置,其特征在于,所述提取模块包括:
提取单元,用于依次提取所述预置时间段内的流媒体数据的数据帧;
保存单元,用于当所述数据帧为第一帧I帧时,将所述第一帧I帧保存为所述预置帧。
CN201410749309.0A 2014-12-09 2014-12-09 流媒体数据的播放方法及装置 Active CN105744371B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410749309.0A CN105744371B (zh) 2014-12-09 2014-12-09 流媒体数据的播放方法及装置
PCT/CN2014/094138 WO2016090665A1 (zh) 2014-12-09 2014-12-17 流媒体数据的播放方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410749309.0A CN105744371B (zh) 2014-12-09 2014-12-09 流媒体数据的播放方法及装置

Publications (2)

Publication Number Publication Date
CN105744371A CN105744371A (zh) 2016-07-06
CN105744371B true CN105744371B (zh) 2019-05-10

Family

ID=56106517

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410749309.0A Active CN105744371B (zh) 2014-12-09 2014-12-09 流媒体数据的播放方法及装置

Country Status (2)

Country Link
CN (1) CN105744371B (zh)
WO (1) WO2016090665A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110309344B (zh) * 2019-07-05 2021-07-27 湖南快乐阳光互动娱乐传媒有限公司 数据资源获取方法及装置
CN111225270A (zh) * 2020-01-17 2020-06-02 北京达佳互联信息技术有限公司 视频播放方法、装置、电子设备及存储介质
CN111698262B (zh) * 2020-06-24 2021-07-16 北京达佳互联信息技术有限公司 带宽确定方法、装置、终端及存储介质
CN115361585B (zh) * 2022-08-19 2023-11-07 广州市百果园信息技术有限公司 视频播放卡顿预测方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101277450A (zh) * 2008-04-30 2008-10-01 中兴通讯股份有限公司 一种节目切换方法及装置
CN103152651A (zh) * 2013-01-31 2013-06-12 广东欧珀移动通信有限公司 一种自动调节流媒体缓冲区播放门限的方法和系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070073934A1 (en) * 2003-10-06 2007-03-29 Rogers Susan L Method, system and computer program for displaying information
CN1980377A (zh) * 2005-12-01 2007-06-13 北京北大方正电子有限公司 一种智能插播素材的方法
CN101136815A (zh) * 2006-08-31 2008-03-05 腾讯科技(深圳)有限公司 在网络直播缓冲过程中播放广告的方法及系统
CN101662676B (zh) * 2009-09-30 2011-09-28 四川长虹电器股份有限公司 流媒体缓冲的处理方法
CN102137302A (zh) * 2010-12-09 2011-07-27 华为技术有限公司 流媒体视频内容的播放方法和装置
US9374406B2 (en) * 2012-02-27 2016-06-21 Qualcomm Incorporated Dash client and receiver with a download rate estimator
CN102665131A (zh) * 2012-04-27 2012-09-12 山东省计算中心 一种网络视频服务系统接收端的视频缓冲方法
CN103794240B (zh) * 2012-11-02 2017-07-14 腾讯科技(深圳)有限公司 在线音频数据的存储方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101277450A (zh) * 2008-04-30 2008-10-01 中兴通讯股份有限公司 一种节目切换方法及装置
CN103152651A (zh) * 2013-01-31 2013-06-12 广东欧珀移动通信有限公司 一种自动调节流媒体缓冲区播放门限的方法和系统

Also Published As

Publication number Publication date
CN105744371A (zh) 2016-07-06
WO2016090665A1 (zh) 2016-06-16

Similar Documents

Publication Publication Date Title
CN105814900B (zh) 用于在自适应流播环境中管理相邻频道的系统和方法
CA2899015C (en) User control of replacement television advertisements inserted by a smart television
CN105744371B (zh) 流媒体数据的播放方法及装置
CN102204272B (zh) 流媒体中播放时间点跳转后的处理方法及装置
CN107547940A (zh) 视频播放处理方法、设备及计算机可读存储介质
EP2665261A1 (en) Content reproduction device, content reproduction method, delivery system, content reproduction program, recording medium, and data structure
EP3503501B1 (en) Method and device for background adaptive upgrading of software
CN105681912A (zh) 一种视频播放方法和装置
CN107820100B (zh) 互联网音视频播放方法及装置
CN110198494B (zh) 一种视频播放方法、装置、设备和存储介质
CN108259964B (zh) 一种视频播放速率调整方法及系统
CN104125482A (zh) 一种流媒体播放方法及装置
US20220303602A1 (en) Reduction of startup time in remote hls
CN110113621A (zh) 媒体信息的播放方法和装置、存储介质、电子装置
US8949891B2 (en) Customized zapping
CN110519627B (zh) 一种音频数据的同步方法和装置
WO2017107670A1 (zh) 一种视频码率识别方法和装置
WO2017210027A1 (en) Catching up to the live playhead in live streaming
US20170353519A1 (en) Catching up to the live playhead in live streaming
CN105812847A (zh) Hls视频直播方法、服务器及系统
KR101668283B1 (ko) 레이턴시를 고려한 영상 출력 방법, 이를 수행하는 장치 및 클라우드 스트리밍 서비스 시스템
US20190327425A1 (en) Image processing device, method and program
CN103607638A (zh) 网络媒体播放方法、智能显示终端及系统
CN105872633A (zh) 一种视频无缝连播的实现方法和系统
WO2017071428A1 (zh) 快进快退的处理方法及终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant