CN105430425A - 单分片视频播放加速方法及装置 - Google Patents

单分片视频播放加速方法及装置 Download PDF

Info

Publication number
CN105430425A
CN105430425A CN201510799528.4A CN201510799528A CN105430425A CN 105430425 A CN105430425 A CN 105430425A CN 201510799528 A CN201510799528 A CN 201510799528A CN 105430425 A CN105430425 A CN 105430425A
Authority
CN
China
Prior art keywords
data
request
broadcasting
video
buffer memory
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
Application number
CN201510799528.4A
Other languages
English (en)
Other versions
CN105430425B (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 CN201510799528.4A priority Critical patent/CN105430425B/zh
Publication of CN105430425A publication Critical patent/CN105430425A/zh
Priority to US15/777,526 priority patent/US20180332316A1/en
Priority to EP16865492.9A priority patent/EP3379836A4/en
Priority to PCT/CN2016/084846 priority patent/WO2017084311A1/zh
Application granted granted Critical
Publication of CN105430425B publication Critical patent/CN105430425B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving 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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234336Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
    • 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
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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/44Processing 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/4402Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440236Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display by media transcoding, e.g. video is transformed into a slideshow of still pictures, audio is converted into text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring 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)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种单分片视频播放加速方法和装置,该方法包括:当截获到播放端发送的视频播放请求时,获取该视频播放请求中单分片视频的第一请求时间点和段数据长度;从目的单分片视频的第一请求时间点处开始下载视频数据,并将下载的视频数据转发至播放端实时播放;当下载的视频数据的数据长度等于段数据长度时,同时下载并缓存目的单分片视频中第一请求时间点对应数据分段之后一个或多个数据分段。本发明在保证播放端流畅播放单分片视频数据的基础上,加速了单分片视频数据下载和缓存,尽可能保证播放端可以调用待播放的数据分段,从而实现了单分片视频播放的加速。

Description

单分片视频播放加速方法及装置
技术领域
本发明涉及网络流媒体传输技术领域,尤其涉及一种单分片视频播放加速方法及装置。
背景技术
随着互联网技术的发展,网络视频点播逐渐成为当前最热门的互联网应用之一。目前网络上支持网络点播的网络播放器(即播放端)有多种,如爱奇艺、腾讯、乐视、芒果TV等,这些网络播放器通过与其对应的网络服务器(即服务器端)配合而完成视频点播。
在视频点播过程中,码流(即视频数据)的下载往往采用多任务下载方式进行处理,以达到加速下载、流畅播放视频的目的,其中该多任务下载是指将要下载的目标数据分段,然后用多个下载任务同时下载这些数据,最后将下载的数据拼凑成目标数据。对于视频点播,在服务器端,根据目标视频文件是否做切片,将目标视频文件分为单分片和多分片两种方式。
目前,只存在多分片目标视频文件的播放加速方案,即服务器端将目标视频文件切割成一个个的小块,每个小块为一个独立的分段,拥有自己的链接地址,一个目标视频的所有分段链接地址按顺序存储在一个m3u8格式的文件里。播放端在播放多分片目标视频文件时,先获取m3u8个数的文件并将所有的链接地址解析出来,然后启动多任务下载并缓存目标视频文件以供播放端调用播放,其中每个任务对应一个小块;而不存在关于单分片目标视频文件的播放加速方案。
发明内容
本发明的主要目的在于提供一种单分片视频播放加速方法及装置,旨在解决不存在关于单分片目标视频文件播放加速方案的技术问题。
为实现上述目的,本发明提供的一种单分片视频播放加速方法,所述单分片视频播放加速方法包括:
当截获到播放端发送至服务器端的用于请求播放目的单分片视频的视频播放请求时,获取该视频播放请求中请求播放该目的单分片视频的第一请求时间点和请求播放数据分段的段数据长度;
从所述服务器的目的单分片视频的第一请求时间点处开始下载视频数据,并将下载的视频数据转发至所述播放端实时播放;
当下载的视频数据的数据长度等于所述段数据长度时,同时下载并缓存所述目的单分片视频中所述第一请求时间点对应数据分段之后一个或多个数据分段以供所述播放端后续调用和播放。
优选地,所述当下载的视频数据的数据长度等于所述段数据长度时,同时下载并缓存所述目的单分片视频中所述第一请求时间点对应数据分段之后一个或多个数据分段以供所述播放端后续调用和播放的步骤之后还包括:
实时记录缓存的数据分段的缓存进度;
当检测到所述播放端请求播放的数据分段为缓存的数据分段时,获取该请求播放的数据分段的缓存进度,将该请求播放的数据分段作为缓存请求数据分段;
若所述缓存请求数据分段的缓存进度为就绪,则将该缓存请求数据分段转发至所述播放端以供其播放;
若所述缓存请求数据分段的缓存进度为未就绪,则提示所述播放端等待该缓存请求数据分段下载完毕。
优选地,所述若所述缓存请求数据分段的缓存进度为未就绪,则提示所述播放端等待该缓存请求数据分段下载完毕的步骤之后还包括:
当所述播放端等待所述缓存请求数据分段下载的时长大于预设等待时长时,全速下载和缓存该缓存请求数据分段,直至该缓存请求数据分段的缓存进度为就绪。
优选地,所述当下载的视频数据的数据长度等于所述段数据长度时,同时下载并缓存所述目的单分片视频中所述第一请求时间点对应数据分段之后一个或多个数据分段以供所述播放端后续调用和播放的步骤之后还包括:
当检测到所述播放端请求播放的数据分段不是缓存的数据分段时,获取该请求播放的数据分段的第二请求时间点,并释放已缓存的数据分段;
从所述服务器的目的单分片视频的第二请求时间点处开始下载视频数据,并将下载的视频数据转发至所述播放端实时播放;
当下载的视频数据的数据长度等于所述段数据长度时,同时下载并缓存所述目的单分片视频中所述第二请求时间点对应数据分段之后一个或多个数据分段以供所述播放端后续调用和播放。
优选地,所述当下载的视频数据的数据长度等于所述段数据长度时,同时下载并缓存所述目的单分片视频中所述第一请求时间点对应数据分段之后一个或多个数据分段以供所述播放端后续调用和播放的步骤包括:
获取从所述服务器端下载视频数据的下载速度和所述播放端播放视频数据的播放速度;
比较所述下载速度和播放速度;
若所述下载速度大于播放速度,则当下载的视频数据的数据长度等于所述段数据长度时,同时下载并缓存所述目的单分片视频中所述请求播放数据分段之后指定数目数据分段以供所述播放端后续调用和播放,该指定数目是根据所述段数据长度、下载速度和播放速度得出。
为实现上述目的,本发明还提供一种单分片视频播放加速装置,所述单分片视频播放加速装置包括:
获取模块,用于当截获到播放端发送至服务器端的用于请求播放目的单分片视频的视频播放请求时,获取该视频播放请求中请求播放该目的单分片视频的第一请求时间点和请求播放数据分段的段数据长度;
下载转发模块,用于从所述服务器的目的单分片视频的第一请求时间点处开始下载视频数据,并将下载的视频数据转发至所述播放端实时播放;
下载缓存模块,用于当下载的视频数据的数据长度等于所述段数据长度时,同时下载并缓存所述目的单分片视频中所述第一请求时间点对应数据分段之后一个或多个数据分段以供所述播放端后续调用和播放。
优选地,所述单分片视频播放加速装置还包括:
缓存记录模块,用于实时记录缓存的数据分段的缓存进度;
缓存进度获取模块,用于当检测到所述播放端请求播放的数据分段为缓存的数据分段时,获取该请求播放的数据分段的缓存进度,将该请求播放的数据分段作为缓存请求数据分段;
缓存进度执行模块包括第一执行单元和第二执行单元,
所述第一执行单元,用于若所述缓存请求数据分段的缓存进度为就绪,则将该缓存请求数据分段转发至所述播放端以供其播放;
所述第二执行单元,用于若所述缓存请求数据分段的缓存进度为未就绪,则提示所述播放端等待该缓存请求数据分段下载完毕。
优选地,所述缓存进度执行模块还包括:
第三执行单元,用于当所述播放端等待所述缓存请求数据分段下载的时长大于预设等待时长时,全速下载和缓存该缓存请求数据分段,直至该缓存请求数据分段的缓存进度为就绪。
优选地,所述单分片视频播放加速装置还包括:
获取释放模块,用于当检测到所述播放端请求播放的数据分段不是缓存的数据分段时,获取该请求播放的数据分段的第二请求时间点,并释放已缓存的数据分段;
所述下载转发模块,还用于从所述服务器的目的单分片视频的第二请求时间点处开始下载视频数据,并将下载的视频数据转发至所述播放端实时播放;
所述下载缓存模块,还用于当下载的视频数据的数据长度等于所述段数据长度时,同时下载并缓存所述目的单分片视频中所述第二请求时间点对应数据分段之后一个或多个数据分段以供所述播放端后续调用和播放。
优选地,所述下载缓存模块包括:
速度获取单元,用于获取从所述服务器端下载视频数据的下载速度和所述播放端播放视频数据的播放速度;
速度比较单元,用于比较所述下载速度和播放速度;
下载缓存单元,用于若所述下载速度大于播放速度,则当下载的视频数据的数据长度等于所述段数据长度时,同时下载并缓存所述目的单分片视频中所述请求播放数据分段之后指定数目数据分段以供所述播放端后续调用和播放,该指定数目是根据所述段数据长度、下载速度和播放速度得出。
本发明通过在截获到播放端发送的视频播放请求时,获取该视频播放请求中的第一请求时间点和段数据长度;然后从服务器端的目的单分片视频的第一请求时间点处开始下载视频数据,并将下载的视频数据转发至播放端实时播放;当下载的视频数据的数据长度等于段数据长度时,同时下载并缓存目的单分片视频中第一请求时间点对应数据分段之后一个或多个数据分段以供播放端后续调用和播放,从而避免在播放端刚开始播放接收的视频数据时,因同时下载并缓存多个数据分段而导致正在播放的数据分段下载慢、播放卡顿,在下载的视频数据的数据长度等于段数据长度时,即数据分段间开始连续,播放端播放可以流畅时,同时下载并缓存目的单分片视频中第一请求时间点对应数据分段之后一个或多个数据分段,以尽可能多的缓存视频数据,从而在保证播放端流畅播放单分片视频数据的基础上,加速了单分片视频数据下载和缓存,尽可能保证播放端可以调用待播放的数据分段,从而实现了单分片视频播放的加速。
附图说明
图1为本发明单分片视频播放加速方法第一实施例的流程示意图;
图2为本发明单分片视频播放加速方法第二实施例的流程示意图;
图3为本发明单分片视频播放加速方法第三实施例的流程示意图;
图4为本发明单分片视频播放加速方法第四实施例的流程示意图;
图5为本发明单分片视频播放加速方法第五实施例中当下载的视频数据的数据长度等于段数据长度时,同时下载并缓存目的单分片视频中第一请求时间点对应数据分段之后一个或多个数据分段以供播放端后续调用和播放的步骤的细化流程示意图;
图6为本发明单分片视频播放加速装置第一实施例的功能模块示意图;
图7为本发明单分片视频播放加速装置第二实施例的功能模块示意图;
图8为本发明单分片视频播放加速装置第三实施例中缓存进度执行模块的细化功能模块示意图;
图9为本发明单分片视频播放加速装置第四实施例的功能模块示意图;
图10为本发明单分片视频播放加速装置第五实施例中下载缓存模块的细化功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种单分片视频播放加速方法,在本发明单分片视频播放加速方法的第一实施例中,参照图1,该单分片视频播放加速方法包括:
步骤S10,当截获到播放端发送至服务器端的用于请求播放目的单分片视频的视频播放请求时,获取该视频播放请求中请求播放该目的单分片视频的第一请求时间点和请求播放数据分段的段数据长度;
当单分片视频播放加速装置(之后简称加速装置)截获到播放端(例如网络播放器)发送至服务器端(网络播放器对应的视频存储服务器)的视频播放请求时,获取该视频播放请求中的第一请求时间点和段数据长度,其中,该加速模块相对于服务器端和播放端是透明的,是设于服务器端和播放端之间的一种类似代理的独立模块;该视频播放请求用以请求播放目的单分片视频;该第一请求时间点为请求播放目的单分片视频的播放开始时间点;该段数据长度为播放端一次请求播放目的单分片视频的数据分段的数据长度。在本实施例中,目的单分片视频的第一时间点附近的数据分段均未被下载和缓存。
当加速装置截获到播放端发送至服务器端的视频播放请求时,判断该视频播放请求的合法性,即判断发送该视频播放请求的播放端身份是否有效、判断该视频播放请求对应的目的单分片视频是否存在于对应服务器端中、通过跳跃性的请求分段测试该视频播放请求对应的目的单分片视频,判断该目的单分片视频整个分片是否正常等合法性判断,当判定该视频播放请求合法时,获取该视频播放请求中请求播放该目的单分片视频的第一请求时间点和请求播放数据分段的段数据长度。
步骤S20,从服务器端的目的单分片视频的第一请求时间点处开始下载视频数据,并将下载的视频数据转发至播放端实时播放;
当加速装置获取到目的单分片视频的第一请求时间点和段数据长度后,并不会立即将下载后的视频数据进行缓存,而是在一段时间内边下载视频数据边实时将已下载视频数据实时转发至播放端播放,即从服务器端的目的单分片视频的第一请求时间点处开始下载视频数据,并将下载的视频数据转发至播放端实时播放。例如,目的单分片视频为一个时长100s、数据长度20M的视频数据,第一请求时间点为0s,段数据长度为2M,则加速装置从服务器中目的单分片视频的0s处开始下载视频数据,并将下载好的视频数据实时转发至播放端实时播放,防止在网络视频点播一开始播放时出现卡顿,影响视频的流畅播放而影响用户体验。
步骤S30,当下载的视频数据的数据长度等于段数据长度时,同时下载并缓存目的单分片视频中第一请求时间点对应数据分段之后一个或多个数据分段以供播放端后续调用和播放。
当加速装置下载的视频数据的数据长度等于段数据长度时,可以判断加速装置下载的视频数据的数据长度是否大于播放端已经播放的视频数据的数据长度预设数据长度(例如0M或1M等),当加速装置下载的视频数据的数据长度大于播放端已经播放的视频数据的数据长度预设数据长度时,表明加速装置的下载带宽(即下载速度)大于播放端的播放码率(即播放速度),此时播放端流畅播放视频数据,可以启动播放加速,即同时下载并缓存目的单分片视频中第一请求时间点对应数据分段之后一个或多个数据分段以供播放端后续调用和播放。接上述步骤S20中的例子,当加速装置下载的视频数据的数据长度等于2M时,同时下载并缓存目的单分片视频2M之后的一个或多个2M数据分段,若缓存的数据分段为一个时,则下载并缓存目的单分片视频中2M至4M区间的数据分段以供播放端后续调用和播放;若缓存的数据分段为三个时,则同时下载并缓存目的单分片视频中2M至4M区间、4M至6M区间、6M至8M区间的数据分段以供播放端后续调用和播放。
在本实施例中,通过在截获到播放端发送的视频播放请求时,获取该视频播放请求中的第一请求时间点和段数据长度;然后从服务器端的目的单分片视频的第一请求时间点处开始下载视频数据,并将下载的视频数据转发至播放端实时播放;当下载的视频数据的数据长度等于段数据长度时,同时下载并缓存目的单分片视频中第一请求时间点对应数据分段之后一个或多个数据分段以供播放端后续调用和播放,从而避免在播放端刚开始播放接收的视频数据时,因同时下载并缓存多个数据分段而导致正在播放的数据分段下载慢、播放卡顿,在下载的视频数据的数据长度等于段数据长度时,即数据分段间开始连续,播放端播放可以流畅时,同时下载并缓存目的单分片视频中第一请求时间点对应数据分段之后一个或多个数据分段,以尽可能多的缓存视频数据,从而在保证播放端流畅播放单分片视频数据的基础上,加速了单分片视频数据下载和缓存,尽可能保证播放端可以调用待播放的数据分段,从而实现了单分片视频播放的加速。
进一步地,在本发明单分片视频播放加速方法第一实施例的基础上,提出单分片视频播放加速方法第二实施例,在第二实施例中,步骤S30之后还包括:
步骤S40,实时记录缓存的数据分段的缓存进度;
在对目的单分片视频的数据分段进行缓存时,实时记录各个进行缓存的数据分段的缓存进度,缓存进度可以包括就绪和未就绪两种状态,当某个数据分段下载并缓存完毕时,其缓存进度为就绪;当某个数据分段没有下载并缓存完毕时,其缓存进度为未就绪。
步骤S50,当检测到播放端请求播放的数据分段为缓存的数据分段时,获取该请求播放的数据分段的缓存进度,将该请求播放的数据分段作为缓存请求数据分段;
当加速装置再次截获到播放端发送的关于目的单分片视频的再次视频播放请求时,检测接收的再次视频播放请求若检测到该再次视频播放请求所请求播放的数据分段为缓存的数据分段时,获取该再次视频播放请求所请求播放的数据分段的缓存进度,并将该再次视频播放请求所请求播放的数据分段作为缓存请求数据分段。获取缓存请求数据分段的缓存进度。
步骤S501,判断缓存请求数据分段的缓存进度是否为就绪;
步骤S51,若缓存请求数据分段的缓存进度为就绪,则将该缓存请求数据分段转发至播放端以供其播放;
步骤S52,若缓存请求数据分段的缓存进度为未就绪,则提示播放端等待该缓存请求数据分段下载完毕。
加速装置获取缓存请求数据分段的缓存进度,若该缓存请求数据分段的缓存进度为就绪,表明加速装置已经将该缓存请求数据分段从服务器端下载并缓存完毕了,直接从缓存中将该缓存请求数据分段转发至播放端播放;若该缓存请求数据分段的缓存进度为未就绪,表明加速装置还未将该缓存请求数据分段从服务器端下载并缓存完毕,无法从缓存中取出该缓存请求数据分段,向播放端发送提示指令,提示播放端等待该缓存请求数据分段下载完毕,也可以通过提示指令控制播放端停止播放以等待该缓存请求数据分段下载完毕,下载该缓存请求数据分段所需时间可以同步显示于播放端。
在本实施例中,在同时下载并缓存目的单分片视频中第一时间点后一个或多个数据分段后,实时记录各个缓存的数据分段的缓存进度,当检测到播放端请求播放缓存请求数据分段时,获取该缓存请求数据分段的缓存进度,若缓存请求数据分段的缓存进度为就绪,则将该缓存请求数据分段转发至播放端以供其播放;若缓存请求数据分段的缓存进度为未就绪,则提示播放端等待该缓存请求数据分段下载完毕;从而在网络状态较佳时,直接将缓存请求数据分段转发至播放端,在网络状态不佳时,提示播放端等待以加速缓存更多数据后再播放,避免经常性的播放卡顿。
进一步地,在本发明单分片视频播放加速方法第二实施例的基础上,提出单分片视频播放加速方法第三实施例,在第三实施例中,步骤S52之后,该单分片视频播放加速方法还包括:
步骤S53,当播放端等待缓存请求数据分段下载的时长大于预设等待时长时,全速下载和缓存该缓存请求数据分段,直至该缓存请求数据分段的缓存进度为就绪。
在检测到播放端请求播放缓存请求数据分段时,获取该缓存请求数据分段的缓存进度,当判定缓存请求数据分段的缓存进度为未就绪时,加速装置提示播放端等待该缓存请求数据分段下载完毕;当检测到播放端等待该缓存请求数据分段下载的时长大于预设等待时长时,即表明播放端等待缓存请求数据分段下载等待时间过长,网速可能欠佳,此时不宜继续多个数据分段一起下载,暂停下载该请求播放的缓存请求数据分段之外的数据分段,全速下载和缓存该缓存请求数据分段,直至该缓存请求数据分段的缓存进度为就绪。
例如,目的单分片视频为一个时长100s、数据长度20M的视频数据,第一请求时间点为0s,段数据长度为2M,当0M至2M的数据分段下载完毕后,同时下载并缓存目的单分片视频中2M至4M区间、4M至6M区间、6M至8M区间的数据分段,播放端请求播放的数据段为4M至6M区间的数据分段;但是4M至6M区间的数据分段的缓存进度为未就绪,加速装置提示播放端等待该4M至6M区间的数据分段下载完毕;当检测到播放端等待该缓存请求数据分段下载的时长大于预设等待时长时,暂停下载2M至4M区间、6M至8M区间的数据分段,全速下载4M至6M区间的数据分段,当4M至6M区间的数据分段的缓存进度为就绪时,重新开始下载2M至4M区间、6M至8M区间的数据分段。
在本实施例中,通过在播放端等待缓存请求数据分段下载的时长大于预设等待时长时,全速下载和缓存该缓存请求数据分段,直至该缓存请求数据分段的缓存进度为就绪,避免播放端等待过长时间,灵活地调整各个数据分段的下载状态,避免播放端播放视频出现长时间卡顿。
进一步地,在本发明单分片视频播放加速方法第一实施例的基础上,提出单分片视频播放加速方法第四实施例,在第四实施例中,步骤S30之后还包括:
步骤S60,当检测到播放端请求播放的数据分段不是缓存的数据分段时,获取该请求播放的数据分段的第二请求时间点,并释放已缓存的数据分段;
当下载的视频数据的数据长度等于段数据长度时,加速装置同时下载并缓存目的单分片视频中第一请求时间点对应数据分段之后一个多个数据分段,若此时再次检测到播放端发送的视频播放请求,且在该视频播放请求所请求播放的数据分段不是之前缓存的数据分段时,即播放端请求播放目的单分片视频中未下载也未缓存的数据分段时,获取该请求播放的数据分段的起始时间点(即第二时间点),并释放之前已缓存的数据分段。例如目的单分片视频为一个时长100s、数据长度20M的视频数据,第一请求时间点为0s,段数据长度为2M,已缓存的数据分段有2M至4M区间、4M至6M区间、6M至8M区间的数据分段,此时播放端请求播放12M至14M区间的数据分段,则获取12M至14M区间的数据分段的起始时间点,并释放已缓存的2M至4M区间、4M至6M区间、6M至8M区间的数据分段。
步骤S70,从服务器端的目的单分片视频的第二请求时间点处开始下载视频数据,并将下载的视频数据转发至播放端实时播放;
步骤S80,当下载的视频数据的数据长度等于段数据长度时,同时下载并缓存目的单分片视频中第二请求时间点对应数据分段之后一个或多个数据分段以供播放端后续调用和播放。
接上述步骤S60中的例子,从服务器端的目的单分片视频中12M至14M区间的数据分段的起始时间点(即第二请求时间点)处开始下载视频数据,并将从12M至14M区间的数据分段下载的视频数据转发至播放端实时播放。当从12M至14M区间数据分段下载的视频数据的数据长度等于段数据长度时,同时下载并缓存12M至14M区间数据分段之后的一个或多个数据分段,如同时下载并缓存14M至16M区间、16M至18M区间、18M至20M区间的数据分段。
在本实施例中,当检测到播放端请求播放的数据分段不是缓存的数据分段时,全速下载播放端新请求播放的数据分段,并将下载的视频数据转发至播放端实时播放,同时,释放之前缓存的数据分段,暂停其它所有数据分段的下载;当下载新请求播放的数据分段的数据长度等于段数据长度时,即新请求播放的数据分段下载完毕时,同时下载并缓存目的单分片视频中第二请求时间点对应数据分段之后一个或多个数据分段,即同时下载并缓存目的单分片视频中新请求播放的数据分段之后一个或多个数据分段以供播放端后续调用和播放,
此外,在本发明单分片视频播放加速方法第二、第三实施例的基础上,步骤S30之后还包括:
步骤S60,当检测到播放端请求播放的数据分段不是缓存的数据分段时,获取该请求播放的数据分段的第二请求时间点,并释放已缓存的数据分段;
步骤S70,从服务器端的目的单分片视频的第二请求时间点处开始下载视频数据,并将下载的视频数据转发至播放端实时播放;
步骤S80,当下载的视频数据的数据长度等于段数据长度时,同时下载并缓存目的单分片视频中第二请求时间点对应数据分段之后一个或多个数据分段以供播放端后续调用和播放。
进一步地,在本发明单分片视频播放加速方法第一实施例的基础上,提出单分片视频播放加速方法第五实施例,在第五实施例中,步骤S30包括:
步骤S31,获取从服务器端下载视频数据的下载速度和播放端播放视频数据的播放速度;
加速装置获取其从服务器端下载视频数据的下载速度(即下载带宽,单位时间内下载的数据位数)和播放端播放视频数据的播放速度(即播放码率,单位时间内播放的数据位数),例如下载速度为4Mbps,播放速度为2Mbps。
步骤S32,比较下载速度和播放速度;
步骤S33,若下载速度大于播放速度,则当下载的视频数据的数据长度等于段数据长度时,同时下载并缓存目的单分片视频中请求播放数据分段之后指定数目数据分段以供播放端后续调用和播放,该指定数目是根据段数据长度、下载速度和播放速度得出。
比较下载速度和播放速度,若下载速度小于等于播放速度,则当下载的视频数据的数据长度等于段数据长度时,继续下载目的单分片视频中请求播放数据分段之后的数据分度,并将下载的视频数据转发至播放端实时播放,即继续边下载边实时转发已下载;若下载速度大于播放速度,则当下载的视频数据的数据长度等于段数据长度时,同时下载并缓存目的单分片视频中请求播放数据分段之后指定数目数据分段以供播放端后续调用和播放,该指定数目是根据段数据长度、下载速度和播放速度得出。例如下载速度8Mbps,播放速度为2Mbps,段数据长度为2M,则下载一个段数据长度的数据分段需0.25s,播放一个数据分段需1s,则在下载完一个数据分段至播放端播放完一个数据分段的时间间隔为0.75s,这这0.75s内能够下载6M视频数据,该6M视频数据正好为3个数据分段的数据长度,所述预设数目为3。
在本实施例中,通过获取并比较下载速度和播放速度,若下载速度大于播放速度,则当下载的视频数据的数据长度等于段数据长度时,同时下载并缓存目的单分片视频中请求播放数据分段之后指定数目数据分段以供播放端后续调用和播放,该指定数目是根据段数据长度、下载速度和播放速度得出,从而避免下载速度小于等于播放速度时,进行数据分段缓存而造成播放端播放视频出现卡顿;也避免下载和缓存的数据分段的数目过大,造成缓存数据分段下载时间过长,避免导致播放端调用未下载完毕的数据分段而造成播放端播放卡顿;以及避免下载和缓存的数据分段的数目过小,造成下载带宽的浪费。
此外,在本发明单分片视频播放加速方法第二、第三实施例的基础上,步骤S30包括:
步骤S31,获取从服务器端下载视频数据的下载速度和播放端播放视频数据的播放速度;
加速装置获取其从服务器端下载视频数据的下载速度(即下载带宽,单位时间内下载的数据位数)和播放端播放视频数据的播放速度(即播放码率,单位时间内播放的数据位数),例如下载速度为4Mbps,播放速度为2Mbps。
步骤S32,比较下载速度和播放速度;
步骤S33,若下载速度大于播放速度,则当下载的视频数据的数据长度等于段数据长度时,同时下载并缓存目的单分片视频中请求播放数据分段之后指定数目数据分段以供播放端后续调用和播放,该指定数目是根据段数据长度、下载速度和播放速度得出。
本发明还提供一种单分片视频播放加速装置,在单分片视频播放加速装置的第一实施例中,参照图3,该单分片视频播放加速装置包括:
获取模块10,用于当截获到播放端发送至服务器端的用于请求播放目的单分片视频的视频播放请求时,获取该视频播放请求中请求播放该目的单分片视频的第一请求时间点和请求播放数据分段的段数据长度;
当获取模块10截获到播放端(例如网络播放器)发送至服务器端(网络播放器对应的视频存储服务器)的视频播放请求时,获取该视频播放请求中的第一请求时间点和段数据长度,其中,单分片视频播放加速装置的获取模块10相对于服务器端和播放端是透明的,是设于服务器端和播放端之间的一种类似代理的独立模块;该视频播放请求用以请求播放目的单分片视频;该第一请求时间点为请求播放目的单分片视频的播放开始时间点;该段数据长度为播放端一次请求播放目的单分片视频的数据分段的数据长度。在本实施例中,目的单分片视频的第一时间点附近的数据分段均未被下载和缓存。
当获取模块10截获到播放端发送至服务器端的视频播放请求时,判断该视频播放请求的合法性,即判断发送该视频播放请求的播放端身份是否有效、判断该视频播放请求对应的目的单分片视频是否存在于对应服务器端中、通过跳跃性的请求分段测试该视频播放请求对应的目的单分片视频,判断该目的单分片视频整个分片是否正常等合法性判断,当判定该视频播放请求合法时,获取该视频播放请求中请求播放该目的单分片视频的第一请求时间点和请求播放数据分段的段数据长度。
下载转发模块20,用于从服务器端的目的单分片视频的第一请求时间点处开始下载视频数据,并将下载的视频数据转发至播放端实时播放;
当获取模块10获取到目的单分片视频的第一请求时间点和段数据长度后,下载转发模块20并不会立即将下载后的视频数据进行缓存,而是在一段时间内边下载视频数据边实时将已下载视频数据实时转发至播放端播放,即下载转发模块20从服务器端的目的单分片视频的第一请求时间点处开始下载视频数据,并将下载的视频数据转发至播放端实时播放。例如,目的单分片视频为一个时长100s、数据长度20M的视频数据,第一请求时间点为0s,段数据长度为2M,则下载转发模块20从服务器中目的单分片视频的0s处开始下载视频数据,并将下载好的视频数据实时转发至播放端实时播放,防止在网络视频点播一开始播放时出现卡顿,影响视频的流畅播放而影响用户体验。
下载缓存模块30,用于当下载的视频数据的数据长度等于段数据长度时,同时下载并缓存目的单分片视频中第一请求时间点对应数据分段之后一个或多个数据分段以供播放端后续调用和播放。
当下载转发模块20下载的视频数据的数据长度等于段数据长度时,下载缓存模块30可以判断下载转发模块20下载的视频数据的数据长度是否大于播放端已经播放的视频数据的数据长度预设数据长度(例如0M或1M等),当下载转发模块20下载的视频数据的数据长度大于播放端已经播放的视频数据的数据长度预设数据长度时,表明下载转发模块20的下载带宽(即下载速度)大于播放端的播放码率(即播放速度),此时播放端流畅播放视频数据,可以启动播放加速,即同时下载并缓存目的单分片视频中第一请求时间点对应数据分段之后一个或多个数据分段以供播放端后续调用和播放。接上述下载转发模块20中的例子,当下载转发模块20下载的视频数据的数据长度等于2M时,下载缓存模块30同时下载并缓存目的单分片视频2M之后的一个或多个2M数据分段,若缓存的数据分段为一个时,则下载并缓存目的单分片视频中2M至4M区间的数据分段以供播放端后续调用和播放;若缓存的数据分段为三个时,则同时下载并缓存目的单分片视频中2M至4M区间、4M至6M区间、6M至8M区间的数据分段以供播放端后续调用和播放。
在本实施例中,通过在截获到播放端发送的视频播放请求时,获取模块10获取该视频播放请求中的第一请求时间点和段数据长度;然后下载转发模块20从服务器端的目的单分片视频的第一请求时间点处开始下载视频数据,并将下载的视频数据转发至播放端实时播放;当下载的视频数据的数据长度等于段数据长度时,下载缓存模块30同时下载并缓存目的单分片视频中第一请求时间点对应数据分段之后一个或多个数据分段以供播放端后续调用和播放,从而避免在播放端刚开始播放接收的视频数据时,因同时下载并缓存多个数据分段而导致正在播放的数据分段下载慢、播放卡顿,在下载的视频数据的数据长度等于段数据长度时,即数据分段间开始连续,播放端播放可以流畅时,同时下载并缓存目的单分片视频中第一请求时间点对应数据分段之后一个或多个数据分段,以尽可能多的缓存视频数据,从而在保证播放端流畅播放单分片视频数据的基础上,加速了单分片视频数据下载和缓存,尽可能保证播放端可以调用待播放的数据分段,从而实现了单分片视频播放的加速。
进一步地,在本发明单分片视频播放加速装置第一实施例的基础上,提出单分片视频播放加速装置第二实施例,在第二实施例中,单分片视频播放加速装置还包括:
缓存记录模块40,用于实时记录缓存的数据分段的缓存进度;
缓存进度获取模块50,用于当检测到播放端请求播放的数据分段为缓存的数据分段时,获取该请求播放的数据分段的缓存进度,将该请求播放的数据分段作为缓存请求数据分段;
在对目的单分片视频的数据分段进行缓存时,缓存记录模块40实时记录各个进行缓存的数据分段的缓存进度,缓存进度可以包括就绪和未就绪两种状态,当某个数据分段下载并缓存完毕时,其缓存进度为就绪;当某个数据分段没有下载并缓存完毕时,其缓存进度为未就绪。
当获取模块10再次截获到播放端发送的关于目的单分片视频的再次视频播放请求时,缓存进度获取模块50检测接收的再次视频播放请求,若检测到该再次视频播放请求所请求播放的数据分段为缓存的数据分段时,获取该再次视频播放请求所请求播放的数据分段的缓存进度,并将该再次视频播放请求所请求播放的数据分段作为缓存请求数据分段。获取缓存请求数据分段的缓存进度。
缓存进度执行模块60,该缓存进度执行模块60包括第一执行单元61和第二执行单元62,
第一执行单元61,用于若缓存请求数据分段的缓存进度为就绪,则将该缓存请求数据分段转发至播放端以供其播放;
第二执行单元62,用于若缓存请求数据分段的缓存进度为未就绪,则提示播放端等待该缓存请求数据分段下载完毕。
缓存进度获取模块50获取缓存请求数据分段的缓存进度,若该缓存请求数据分段的缓存进度为就绪,表明加速装置已经将该缓存请求数据分段从服务器端下载并缓存完毕了,第一执行单元61直接从缓存中将该缓存请求数据分段转发至播放端播放;若该缓存请求数据分段的缓存进度为未就绪,表明加速装置还未将该缓存请求数据分段从服务器端下载并缓存完毕,无法从缓存中取出该缓存请求数据分段,第二执行单元62向播放端发送提示指令,提示播放端等待该缓存请求数据分段下载完毕,也可以通过提示指令控制播放端停止播放以等待该缓存请求数据分段下载完毕,下载该缓存请求数据分段所需时间可以同步显示于播放端。
在本实施例中,在同时下载并缓存目的单分片视频中第一时间点后一个或多个数据分段后,缓存记录模块40实时记录各个缓存的数据分段的缓存进度,当检测到播放端请求播放缓存请求数据分段时,缓存进度获取模块50获取该缓存请求数据分段的缓存进度,若缓存请求数据分段的缓存进度为就绪,则第一执行单元61将该缓存请求数据分段转发至播放端以供其播放;若缓存请求数据分段的缓存进度为未就绪,则第二执行单元62提示播放端等待该缓存请求数据分段下载完毕;从而在网络状态较佳时,直接将缓存请求数据分段转发至播放端,在网络状态不佳时,提示播放端等待以加速缓存更多数据后再播放,避免经常性的播放卡顿。
进一步地,在本发明单分片视频播放加速装置第二实施例的基础上,提出单分片视频播放加速装置第三实施例,在第三实施例中,缓存进度执行模块60还包括:
第三执行单元63,用于当播放端等待缓存请求数据分段下载的时长大于预设等待时长时,全速下载和缓存该缓存请求数据分段,直至该缓存请求数据分段的缓存进度为就绪。
在检测到播放端请求播放缓存请求数据分段时,缓存进度获取模块50获取该缓存请求数据分段的缓存进度,当判定缓存请求数据分段的缓存进度为未就绪时,第二执行单元62提示播放端等待该缓存请求数据分段下载完毕;当第三执行单元63检测到播放端等待该缓存请求数据分段下载的时长大于预设等待时长时,即表明播放端等待缓存请求数据分段下载等待时间过长,网速可能欠佳,此时不宜继续多个数据分段一起下载,第三执行单元63暂停下载该请求播放的缓存请求数据分段之外的数据分段,全速下载和缓存该缓存请求数据分段,直至该缓存请求数据分段的缓存进度为就绪。
例如,目的单分片视频为一个时长100s、数据长度20M的视频数据,第一请求时间点为0s,段数据长度为2M,当0M至2M的数据分段下载完毕后,同时下载并缓存目的单分片视频中2M至4M区间、4M至6M区间、6M至8M区间的数据分段,播放端请求播放的数据段为4M至6M区间的数据分段;但是4M至6M区间的数据分段的缓存进度为未就绪,第二执行单元62提示播放端等待该4M至6M区间的数据分段下载完毕;当检测到播放端等待该缓存请求数据分段下载的时长大于预设等待时长时,第三执行单元63暂停下载2M至4M区间、6M至8M区间的数据分段,全速下载4M至6M区间的数据分段,当4M至6M区间的数据分段的缓存进度为就绪时,重新开始下载2M至4M区间、6M至8M区间的数据分段。
在本实施例中,通过在播放端等待缓存请求数据分段下载的时长大于预设等待时长时,第三执行单元63全速下载和缓存该缓存请求数据分段,直至该缓存请求数据分段的缓存进度为就绪,避免播放端等待过长时间,灵活地调整各个数据分段的下载状态,避免播放端播放视频出现长时间卡顿。
进一步地,在本发明单分片视频播放加速装置第一实施例的基础上,提出单分片视频播放加速装置第四实施例,在第四实施例中,单分片视频播放加速装置还包括:
获取释放模块70,用于当检测到播放端请求播放的数据分段不是缓存的数据分段时,获取该请求播放的数据分段的第二请求时间点,并释放已缓存的数据分段;
当下载的视频数据的数据长度等于段数据长度时,下载缓存模块30同时下载并缓存目的单分片视频中第一请求时间点对应数据分段之后一个多个数据分段,若此时再次检测到播放端发送的视频播放请求,且在该视频播放请求所请求播放的数据分段不是之前缓存的数据分段时,即播放端请求播放目的单分片视频中未下载也未缓存的数据分段时,获取释放模块70获取该请求播放的数据分段的起始时间点(即第二时间点),并释放之前已缓存的数据分段。例如目的单分片视频为一个时长100s、数据长度20M的视频数据,第一请求时间点为0s,段数据长度为2M,已缓存的数据分段有2M至4M区间、4M至6M区间、6M至8M区间的数据分段,此时播放端请求播放12M至14M区间的数据分段,则获取12M至14M区间的数据分段的起始时间点,并释放已缓存的2M至4M区间、4M至6M区间、6M至8M区间的数据分段。
下载转发模块20,还用于从服务器端的目的单分片视频的第二请求时间点处开始下载视频数据,并将下载的视频数据转发至播放端实时播放;
下载缓存模块30,还用于当下载的视频数据的数据长度等于段数据长度时,同时下载并缓存目的单分片视频中第二请求时间点对应数据分段之后一个或多个数据分段以供播放端后续调用和播放。
接上述获取释放模块70中的例子,下载转发模块20从服务器端的目的单分片视频中12M至14M区间的数据分段的起始时间点(即第二请求时间点)处开始下载视频数据,并将从12M至14M区间的数据分段下载的视频数据转发至播放端实时播放。当从12M至14M区间数据分段下载的视频数据的数据长度等于段数据长度时,下载缓存模块30同时下载并缓存12M至14M区间数据分段之后的一个或多个数据分段,如同时下载并缓存14M至16M区间、16M至18M区间、18M至20M区间的数据分段。
在本实施例中,当获取释放模块70检测到播放端请求播放的数据分段不是缓存的数据分段时,下载转发模块20全速下载播放端新请求播放的数据分段,并将下载的视频数据转发至播放端实时播放,同时,下载转发模块20释放之前缓存的数据分段,暂停其它所有数据分段的下载;当下载新请求播放的数据分段的数据长度等于段数据长度时,即新请求播放的数据分段下载完毕时,下载缓存模块30同时下载并缓存目的单分片视频中第二请求时间点对应数据分段之后一个或多个数据分段,即同时下载并缓存目的单分片视频中新请求播放的数据分段之后一个或多个数据分段以供播放端后续调用和播放,
此外,在本发明单分片视频播放加速装置第二、第三实施例的基础上,单分片视频播放加速装置还包括:
获取释放模块70,用于当检测到播放端请求播放的数据分段不是缓存的数据分段时,获取该请求播放的数据分段的第二请求时间点,并释放已缓存的数据分段;
下载转发模块20,还用于从服务器端的目的单分片视频的第二请求时间点处开始下载视频数据,并将下载的视频数据转发至播放端实时播放;
下载缓存模块30,还用于当下载的视频数据的数据长度等于段数据长度时,同时下载并缓存目的单分片视频中第二请求时间点对应数据分段之后一个或多个数据分段以供播放端后续调用和播放。
进一步地,在本发明单分片视频播放加速装置第一实施例的基础上,提出单分片视频播放加速装置第五实施例,在第五实施例中,下载缓存模块30包括:
速度获取单元31,用于获取从服务器端下载视频数据的下载速度和播放端播放视频数据的播放速度;
速度获取单元31获取其从服务器端下载视频数据的下载速度(即下载带宽,单位时间内下载的数据位数)和播放端播放视频数据的播放速度(即播放码率,单位时间内播放的数据位数),例如下载速度为4Mbps,播放速度为2Mbps。
速度比较单元32,用于比较下载速度和播放速度;
下载缓存单元33,用于若下载速度大于播放速度,则当下载的视频数据的数据长度等于段数据长度时,同时下载并缓存目的单分片视频中请求播放数据分段之后指定数目数据分段以供播放端后续调用和播放,该指定数目是根据段数据长度、下载速度和播放速度得出。
速度比较单元32比较下载速度和播放速度,若下载速度小于等于播放速度,则当下载的视频数据的数据长度等于段数据长度时,下载转发模块20继续下载目的单分片视频中请求播放数据分段之后的数据分度,并将下载的视频数据转发至播放端实时播放,即继续边下载边实时转发已下载;若下载速度大于播放速度,则当下载的视频数据的数据长度等于段数据长度时,下载缓存单元33同时下载并缓存目的单分片视频中请求播放数据分段之后指定数目数据分段以供播放端后续调用和播放,该指定数目是根据段数据长度、下载速度和播放速度得出。例如下载速度8Mbps,播放速度为2Mbps,段数据长度为2M,则下载一个段数据长度的数据分段需0.25s,播放一个数据分段需1s,则在下载完一个数据分段至播放端播放完一个数据分段的时间间隔为0.75s,这这0.75s内能够下载6M视频数据,该6M视频数据正好为3个数据分段的数据长度,所述预设数目为3。
在本实施例中,通过速度获取单元31获取比较下载速度和播放速度,速度比较单元32比较比较下载速度和播放速度,若下载速度大于播放速度,则当下载的视频数据的数据长度等于段数据长度时,下载缓存单元33同时下载并缓存目的单分片视频中请求播放数据分段之后指定数目数据分段以供播放端后续调用和播放,该指定数目是根据段数据长度、下载速度和播放速度得出,从而避免下载速度小于等于播放速度时,进行数据分段缓存而造成播放端播放视频出现卡顿;也避免下载和缓存的数据分段的数目过大,造成缓存数据分段下载时间过长,避免导致播放端调用未下载完毕的数据分段而造成播放端播放卡顿;以及避免下载和缓存的数据分段的数目过小,造成下载带宽的浪费。
此外,在本发明单分片视频播放加速装置第二、第三实施例的基础上,步骤S30包括:
下载缓存模块30包括:
速度获取单元31,用于获取从服务器端下载视频数据的下载速度和播放端播放视频数据的播放速度;
速度比较单元32,用于比较下载速度和播放速度;
下载缓存单元33,用于若下载速度大于播放速度,则当下载的视频数据的数据长度等于段数据长度时,同时下载并缓存目的单分片视频中请求播放数据分段之后指定数目数据分段以供播放端后续调用和播放,该指定数目是根据段数据长度、下载速度和播放速度得出。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种单分片视频播放加速方法,其特征在于,所述单分片视频播放加速方法包括:
当截获到播放端发送至服务器端的用于请求播放目的单分片视频的视频播放请求时,获取该视频播放请求中请求播放该目的单分片视频的第一请求时间点和请求播放数据分段的段数据长度;
从所述服务器端的目的单分片视频的第一请求时间点处开始下载视频数据,并将下载的视频数据转发至所述播放端实时播放;
当下载的视频数据的数据长度等于所述段数据长度时,同时下载并缓存所述目的单分片视频中所述第一请求时间点对应数据分段之后一个或多个数据分段以供所述播放端后续调用和播放。
2.如权利要求1所述的单分片视频播放加速方法,其特征在于,所述当下载的视频数据的数据长度等于所述段数据长度时,同时下载并缓存所述目的单分片视频中所述第一请求时间点对应数据分段之后一个或多个数据分段以供所述播放端后续调用和播放的步骤之后还包括:
实时记录缓存的数据分段的缓存进度;
当检测到所述播放端请求播放的数据分段为缓存的数据分段时,获取该请求播放的数据分段的缓存进度,将该请求播放的数据分段作为缓存请求数据分段;
若所述缓存请求数据分段的缓存进度为就绪,则将该缓存请求数据分段转发至所述播放端以供其播放;
若所述缓存请求数据分段的缓存进度为未就绪,则提示所述播放端等待该缓存请求数据分段下载完毕。
3.如权利要求2所述的单分片视频播放加速方法,其特征在于,所述若所述缓存请求数据分段的缓存进度为未就绪,则提示所述播放端等待该缓存请求数据分段下载完毕的步骤之后还包括:
当所述播放端等待所述缓存请求数据分段下载的时长大于预设等待时长时,全速下载和缓存该缓存请求数据分段,直至该缓存请求数据分段的缓存进度为就绪。
4.如权利要求1至3任意一项所述的单分片视频播放加速方法,其特征在于,所述当下载的视频数据的数据长度等于所述段数据长度时,同时下载并缓存所述目的单分片视频中所述第一请求时间点对应数据分段之后一个或多个数据分段以供所述播放端后续调用和播放的步骤之后还包括:
当检测到所述播放端请求播放的数据分段不是缓存的数据分段时,获取该请求播放的数据分段的第二请求时间点,并释放已缓存的数据分段;
从所述服务器端的目的单分片视频的第二请求时间点处开始下载视频数据,并将下载的视频数据转发至所述播放端实时播放;
当下载的视频数据的数据长度等于所述段数据长度时,同时下载并缓存所述目的单分片视频中所述第二请求时间点对应数据分段之后一个或多个数据分段以供所述播放端后续调用和播放。
5.如权利要求1至3任意一项所述的单分片视频播放加速方法,其特征在于,所述当下载的视频数据的数据长度等于所述段数据长度时,同时下载并缓存所述目的单分片视频中所述第一请求时间点对应数据分段之后一个或多个数据分段以供所述播放端后续调用和播放的步骤包括:
获取从所述服务器端下载视频数据的下载速度和所述播放端播放视频数据的播放速度;
比较所述下载速度和播放速度;
若所述下载速度大于播放速度,则当下载的视频数据的数据长度等于所述段数据长度时,同时下载并缓存所述目的单分片视频中所述请求播放数据分段之后指定数目数据分段以供所述播放端后续调用和播放,该指定数目是根据所述段数据长度、下载速度和播放速度得出。
6.一种单分片视频播放加速装置,其特征在于,所述单分片视频播放加速装置包括:
获取模块,用于当截获到播放端发送至服务器端的用于请求播放目的单分片视频的视频播放请求时,获取该视频播放请求中请求播放该目的单分片视频的第一请求时间点和请求播放数据分段的段数据长度;
下载转发模块,用于从所述服务器端的目的单分片视频的第一请求时间点处开始下载视频数据,并将下载的视频数据转发至所述播放端实时播放;
下载缓存模块,用于当下载的视频数据的数据长度等于所述段数据长度时,同时下载并缓存所述目的单分片视频中所述第一请求时间点对应数据分段之后一个或多个数据分段以供所述播放端后续调用和播放。
7.如权利要求6所述的单分片视频播放加速装置,其特征在于,所述单分片视频播放加速装置还包括:
缓存记录模块,用于实时记录缓存的数据分段的缓存进度;
缓存进度获取模块,用于当检测到所述播放端请求播放的数据分段为缓存的数据分段时,获取该请求播放的数据分段的缓存进度,将该请求播放的数据分段作为缓存请求数据分段;
缓存进度执行模块,该缓存进度执行模块包括第一执行单元和第二执行单元,
所述第一执行单元,用于若所述缓存请求数据分段的缓存进度为就绪,则将该缓存请求数据分段转发至所述播放端以供其播放;
所述第二执行单元,用于若所述缓存请求数据分段的缓存进度为未就绪,则提示所述播放端等待该缓存请求数据分段下载完毕。
8.如权利要求7所述的单分片视频播放加速装置,其特征在于,所述缓存进度执行模块还包括:
第三执行单元,用于当所述播放端等待所述缓存请求数据分段下载的时长大于预设等待时长时,全速下载和缓存该缓存请求数据分段,直至该缓存请求数据分段的缓存进度为就绪。
9.如权利要求6至8任意一项所述的单分片视频播放加速装置,其特征在于,所述单分片视频播放加速装置还包括:
获取释放模块,用于当检测到所述播放端请求播放的数据分段不是缓存的数据分段时,获取该请求播放的数据分段的第二请求时间点,并释放已缓存的数据分段;
所述下载转发模块,还用于从所述服务器端的目的单分片视频的第二请求时间点处开始下载视频数据,并将下载的视频数据转发至所述播放端实时播放;
所述下载缓存模块,还用于当下载的视频数据的数据长度等于所述段数据长度时,同时下载并缓存所述目的单分片视频中所述第二请求时间点对应数据分段之后一个或多个数据分段以供所述播放端后续调用和播放。
10.如权利要求6至8任意一项所述的单分片视频播放加速装置,其特征在于,所述下载缓存模块包括:
速度获取单元,用于获取从所述服务器端下载视频数据的下载速度和所述播放端播放视频数据的播放速度;
速度比较单元,用于比较所述下载速度和播放速度;
下载缓存单元,用于若所述下载速度大于播放速度,则当下载的视频数据的数据长度等于所述段数据长度时,同时下载并缓存所述目的单分片视频中所述请求播放数据分段之后指定数目数据分段以供所述播放端后续调用和播放,该指定数目是根据所述段数据长度、下载速度和播放速度得出。
CN201510799528.4A 2015-11-18 2015-11-18 单分片视频播放加速方法及装置 Active CN105430425B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201510799528.4A CN105430425B (zh) 2015-11-18 2015-11-18 单分片视频播放加速方法及装置
US15/777,526 US20180332316A1 (en) 2015-11-18 2016-06-03 Method and device for accelerating playback of a single-fragment video
EP16865492.9A EP3379836A4 (en) 2015-11-18 2016-06-03 METHOD AND DEVICE FOR ACCELERATING THE REPRODUCTION OF A SINGLE FRAGMENT VIDEO
PCT/CN2016/084846 WO2017084311A1 (zh) 2015-11-18 2016-06-03 单分片视频播放加速方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510799528.4A CN105430425B (zh) 2015-11-18 2015-11-18 单分片视频播放加速方法及装置

Publications (2)

Publication Number Publication Date
CN105430425A true CN105430425A (zh) 2016-03-23
CN105430425B CN105430425B (zh) 2018-11-16

Family

ID=55508310

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510799528.4A Active CN105430425B (zh) 2015-11-18 2015-11-18 单分片视频播放加速方法及装置

Country Status (4)

Country Link
US (1) US20180332316A1 (zh)
EP (1) EP3379836A4 (zh)
CN (1) CN105430425B (zh)
WO (1) WO2017084311A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017084311A1 (zh) * 2015-11-18 2017-05-26 深圳Tcl新技术有限公司 单分片视频播放加速方法及装置
CN106792174A (zh) * 2016-12-20 2017-05-31 天脉聚源(北京)传媒科技有限公司 一种监测网络视频的播放流畅度的方法及装置
WO2017186036A1 (zh) * 2016-04-29 2017-11-02 腾讯科技(深圳)有限公司 一种播放处理方法、终端设备及计算机存储介质
CN108156514A (zh) * 2017-12-27 2018-06-12 广东欧珀移动通信有限公司 媒体文件的播放方法、装置及存储介质
CN108206969A (zh) * 2016-12-16 2018-06-26 北京酷我科技有限公司 一种视频播放快速启动方法及系统
CN108696505A (zh) * 2017-04-07 2018-10-23 佳能株式会社 视频分发设备、视频接收设备、视频分发方法和记录介质
CN108763375A (zh) * 2018-05-17 2018-11-06 上海七牛信息技术有限公司 一种媒体文件缓存方法、装置以及多媒体播放系统
CN110545470A (zh) * 2018-05-29 2019-12-06 北京字节跳动网络技术有限公司 一种媒体文件加载方法、装置及存储介质
CN111246278A (zh) * 2020-01-17 2020-06-05 北京达佳互联信息技术有限公司 视频播放方法、装置、电子设备及存储介质
CN111277867A (zh) * 2020-03-03 2020-06-12 广州市百果园信息技术有限公司 一种视频下载的方法、装置、服务器和存储介质
CN113626555A (zh) * 2021-10-12 2021-11-09 中孚安全技术有限公司 一种超大表单分段式加载显示方法及系统

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11089381B2 (en) * 2017-01-20 2021-08-10 Hanwha Techwin Co., Ltd. Apparatus and method for simultaneous playback and backup of media in a web browser
EP3410728A1 (en) * 2017-05-30 2018-12-05 Vestel Elektronik Sanayi ve Ticaret A.S. Methods and apparatus for streaming data
CN108966038B (zh) * 2017-12-27 2021-01-22 视联动力信息技术股份有限公司 一种视频数据处理方法及视联网缓存服务器
CN111147888B (zh) * 2018-11-06 2022-06-03 中兴通讯股份有限公司 流媒体视频数据处理方法、装置、计算机设备和存储介质
CN109672745A (zh) * 2018-12-29 2019-04-23 苏州思必驰信息科技有限公司 用于FreeRTOS的音频在线播放控制方法和装置
CN110719440B (zh) * 2019-09-26 2021-08-06 恒大智慧科技有限公司 一种视频回放方法、装置及存储介质
CN112104897B (zh) * 2020-11-04 2021-03-12 北京达佳互联信息技术有限公司 视频获取方法、终端及存储介质
CN112698809A (zh) * 2021-01-08 2021-04-23 惠州Tcl移动通信有限公司 基于移动终端的音乐播放处理方法、装置、终端及介质
CN114827646B (zh) * 2022-03-23 2023-12-12 百果园技术(新加坡)有限公司 视频流中预加载直播间方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030076448A1 (en) * 2001-10-19 2003-04-24 Hao Pan Identification of replay segments
CN102394908A (zh) * 2011-08-11 2012-03-28 杭州顺网科技股份有限公司 一种基于局域网的网络视频加速方法
CN103024593A (zh) * 2012-12-26 2013-04-03 人民搜索网络股份公司 一种网络视频点播加速系统及其播放方法
CN103096133A (zh) * 2013-01-11 2013-05-08 乐视网信息技术(北京)股份有限公司 一种数据的获取方法及装置
CN103327415A (zh) * 2013-06-05 2013-09-25 北京奇虎科技有限公司 一种加速网络视频下载的方法和装置
CN103414959A (zh) * 2013-07-15 2013-11-27 北京奇虎科技有限公司 一种加快网络视频播放速度的方法和装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6801947B1 (en) * 2000-08-01 2004-10-05 Nortel Networks Ltd Method and apparatus for broadcasting media objects with guaranteed quality of service
US8938548B2 (en) * 2008-12-23 2015-01-20 At&T Mobility Ii Llc Streaming enhancements through pre-fetch background
CN101917388A (zh) * 2009-12-17 2010-12-15 新奥特(北京)视频技术有限公司 一种流媒体数据存储方法及装置
CN102694823A (zh) * 2011-03-21 2012-09-26 中兴通讯股份有限公司 一种实现分段节目播放控制的方法、服务器及客户端
US9026670B2 (en) * 2011-08-22 2015-05-05 Allot Communications Ltd. System and method for efficient caching and delivery of adaptive bitrate streaming
US8825790B2 (en) * 2012-03-06 2014-09-02 Adobe Systems Incorporated Caching of fragmented streaming media
EP2658271A1 (en) * 2012-04-23 2013-10-30 Thomson Licensing Peer-assisted video distribution
US20140089467A1 (en) * 2012-09-27 2014-03-27 Andre Beck Content stream delivery using pre-loaded segments
CN104469433B (zh) * 2013-09-13 2018-09-07 深圳市腾讯计算机系统有限公司 一种视频直播回看方法及装置
RU2571732C2 (ru) * 2013-11-08 2015-12-20 Общество с ограниченной ответственностью "МобиВита" Управляющее устройство и способ управления передачей потока видеоданных по сети на сетевое пользовательское устройство
CN105430425B (zh) * 2015-11-18 2018-11-16 深圳Tcl新技术有限公司 单分片视频播放加速方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030076448A1 (en) * 2001-10-19 2003-04-24 Hao Pan Identification of replay segments
CN102394908A (zh) * 2011-08-11 2012-03-28 杭州顺网科技股份有限公司 一种基于局域网的网络视频加速方法
CN103024593A (zh) * 2012-12-26 2013-04-03 人民搜索网络股份公司 一种网络视频点播加速系统及其播放方法
CN103096133A (zh) * 2013-01-11 2013-05-08 乐视网信息技术(北京)股份有限公司 一种数据的获取方法及装置
CN103327415A (zh) * 2013-06-05 2013-09-25 北京奇虎科技有限公司 一种加速网络视频下载的方法和装置
CN103414959A (zh) * 2013-07-15 2013-11-27 北京奇虎科技有限公司 一种加快网络视频播放速度的方法和装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017084311A1 (zh) * 2015-11-18 2017-05-26 深圳Tcl新技术有限公司 单分片视频播放加速方法及装置
US10715573B2 (en) 2016-04-29 2020-07-14 Tencent Technology (Shenzhen) Company Limited Media playing method, terminal device, and computer storage medium based on two players
WO2017186036A1 (zh) * 2016-04-29 2017-11-02 腾讯科技(深圳)有限公司 一种播放处理方法、终端设备及计算机存储介质
CN108206969A (zh) * 2016-12-16 2018-06-26 北京酷我科技有限公司 一种视频播放快速启动方法及系统
CN106792174A (zh) * 2016-12-20 2017-05-31 天脉聚源(北京)传媒科技有限公司 一种监测网络视频的播放流畅度的方法及装置
CN106792174B (zh) * 2016-12-20 2020-01-21 天脉聚源(北京)传媒科技有限公司 一种监测网络视频的播放流畅度的方法及装置
CN108696505A (zh) * 2017-04-07 2018-10-23 佳能株式会社 视频分发设备、视频接收设备、视频分发方法和记录介质
US11102527B2 (en) 2017-04-07 2021-08-24 Canon Kabushiki Kaisha Video distribution apparatus, video reception apparatus, video distribution method, and recording medium
CN108156514A (zh) * 2017-12-27 2018-06-12 广东欧珀移动通信有限公司 媒体文件的播放方法、装置及存储介质
CN108763375A (zh) * 2018-05-17 2018-11-06 上海七牛信息技术有限公司 一种媒体文件缓存方法、装置以及多媒体播放系统
CN110545470A (zh) * 2018-05-29 2019-12-06 北京字节跳动网络技术有限公司 一种媒体文件加载方法、装置及存储介质
CN111246278A (zh) * 2020-01-17 2020-06-05 北京达佳互联信息技术有限公司 视频播放方法、装置、电子设备及存储介质
CN111277867A (zh) * 2020-03-03 2020-06-12 广州市百果园信息技术有限公司 一种视频下载的方法、装置、服务器和存储介质
CN111277867B (zh) * 2020-03-03 2022-02-18 广州市百果园信息技术有限公司 一种视频下载的方法、装置、服务器和存储介质
CN113626555A (zh) * 2021-10-12 2021-11-09 中孚安全技术有限公司 一种超大表单分段式加载显示方法及系统

Also Published As

Publication number Publication date
US20180332316A1 (en) 2018-11-15
WO2017084311A1 (zh) 2017-05-26
CN105430425B (zh) 2018-11-16
EP3379836A4 (en) 2019-06-12
EP3379836A1 (en) 2018-09-26

Similar Documents

Publication Publication Date Title
CN105430425A (zh) 单分片视频播放加速方法及装置
CN111240837B (zh) 资源配置方法、装置、终端及存储介质
EP3373587B1 (en) Method, apparatus, and system for switching video live stream to video-on-demand data
CN104735524B (zh) 移动终端的数据分享方法及数据分享系统
CN105025351B (zh) 流媒体播放器缓冲的方法及装置
US8600220B2 (en) Systems and methods for loading more than one video content at a time
US20170171278A1 (en) Method and electronic device for continuously playing video
US20170302990A1 (en) Method, terminal, and system for processing data of video stream
US20160323610A1 (en) Method and apparatus for live broadcast of streaming media
CN108174280B (zh) 一种音视频在线播放方法及系统
US20160323647A1 (en) Video sharing method and system in smart tv
CN107547940A (zh) 视频播放处理方法、设备及计算机可读存储介质
WO2017107542A1 (zh) 视频节目获取方法、设备及系统
US20130074125A1 (en) Program handoff between devices and program network offloading
EP3737101A1 (en) A method and a system for performing scrubbing in a video stream
CN112203111B (zh) 多媒体资源的预加载方法、装置、电子设备及存储介质
US11039187B2 (en) Self-adaptive software background update method and device
CN103517154A (zh) 一种视频文件预加载方法及系统
US10326704B2 (en) Enabling continuous content playback
CN106658226A (zh) 一种播放方法及装置
CN110545457A (zh) 一种视频播放方法、视频播放系统、终端设备及存储介质
CN105791987B (zh) 媒体数据播放的方法及终端
CN105657545A (zh) 视频播放的方法及装置
CN114339444A (zh) 视频帧的播放时长调整方法、装置、设备及存储介质
CN107040826B (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