CN112449250B - 一种视频资源的下载方法、装置、设备和介质 - Google Patents

一种视频资源的下载方法、装置、设备和介质 Download PDF

Info

Publication number
CN112449250B
CN112449250B CN201910795260.5A CN201910795260A CN112449250B CN 112449250 B CN112449250 B CN 112449250B CN 201910795260 A CN201910795260 A CN 201910795260A CN 112449250 B CN112449250 B CN 112449250B
Authority
CN
China
Prior art keywords
video
data
playing
resource
downloading
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
CN201910795260.5A
Other languages
English (en)
Other versions
CN112449250A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910795260.5A priority Critical patent/CN112449250B/zh
Publication of CN112449250A publication Critical patent/CN112449250A/zh
Application granted granted Critical
Publication of CN112449250B publication Critical patent/CN112449250B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • 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
    • H04N21/47202End-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 for requesting content on demand, e.g. video on demand

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种视频资源的下载方法、装置、设备和介质,所述方法包括启动浏览器和页面播放器,解析待下载视频的视频资源,获得视频流数据,并转换视频流数据为播放缓存数据,存入资源缓存区中。通过在页面播放器以外,再创建一个后台模拟播放器的方法,进行播放事件的模拟操作,请求资源缓存区中的播放缓存数据,并将所述播放缓存数据传输到下载执行器中,以此来获得应用于媒体源扩展播放方式的视频中的相关数据,从下载执行器中进行数据的下载,所述方法能够支持对媒体源视频资源的下载,扩大了视频下载的范围,提高用户体验,增加用户黏性。

Description

一种视频资源的下载方法、装置、设备和介质
技术领域
本发明涉及视频资源的下载领域,尤其涉及一种视频资源的下载方法、装置、设备和介质。
背景技术
支持第五版本超文本语言的浏览器通过使用可以进行播放的标签,得以实现无插件就原生支持播放媒体内容,但是对媒体内容的格式有所限制。随着视频点播、直播等视频业务的发展,视频通过流媒体传输协议从服务器端分发给客户端,媒体内容进一步包含在一层传输协议中,浏览器中的播放标签就无法进行识别。
因此,引入了媒体源扩展来扩展文件格式,帮助浏览器识别并处理媒体文件,将其变回原来可识别的媒体容器格式。浏览器中的播放标签就可以识别并播放原来的文件,通过媒体源扩展的方式使得支持第五版本超文本语言的浏览器就相当于内置了一个能够解析流协议的播放器。
但是在现有技术中,通过媒体源扩展方式实现的视频网站不支持下载,当用户在访问视频网站时,可能会存在下载需求,此时视频网站不能够满足用户的下载需求,会造成用户体验不佳的问题。
发明内容
为了解决媒体源扩展方式实现的视频网站不支持下载的问题,得到提高用户黏性的技术效果,本发明提供了一种视频资源的下载方法和装置。
一方面,本发明提供了一种视频资源的下载方法,所述方法包括:
响应于点击指令,获取待下载视频的视频资源,所述视频资源为应用于媒体源扩展播放方式进行播放的视频资源;
根据所述待下载视频的视频资源,获取视频流数据,并将所述视频流数据存入资源缓存区;
将所述资源缓存区中的视频流数据转换为播放缓存数据;
响应于下载指令,创建后台模拟播放进程,并通过所述后台模拟播放进程传输所述播放缓存数据到下载执行器中;
从所述下载执行器中下载所述播放缓存数据。
另一方面提供了一种视频资源的下载装置,所述装置包括:视频资源获取模块、视频资源解析模块、模拟播放模块、数据传输模块和数据下载模块;
所述视频资源获取模块用于响应于点击指令,获取待下载视频的视频资源,所述视频资源为应用于媒体源扩展播放方式进行播放的视频资源;
所述视频资源解析模块用于响应于下载指令,根据所述待下载视频的视频资源,获取视频流数据,并将所述视频流数据存入资源缓存区;
所述模拟播放模块用于将所述资源缓存区中的视频流数据转换为播放缓存数据;
所述数据传输模块用于创建后台模拟播放进程,并通过所述后台模拟播放进程传输所述播放缓存数据到下载执行器中;
所述数据下载模块用于从所述下载执行器中下载所述播放缓存数据。
另一方面提供了一种计算机可读存储介质,所述存储介质包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行所述的一种视频资源的下载方法。
另一方面提供了一种下载设备,所述下载设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行所述的一种视频资源的下载方法。
本发明提供的一种视频资源的下载方法、装置、设备和介质,所述方法包括在所述方法中,解析待下载的视频资源,获得视频流数据,并转换视频流数据为播放缓存数据,存入资源缓存区中。通过在页面播放器执行的页面播放进程之外,再创建一个后台模拟播放器执行的后台模拟播放进程,基于播放事件的模拟操作,请求资源缓存区中的播放缓存数据,并将所述播放缓存数据传输到下载执行器中,以此来获得应用于MSE播放方式的视频中的相关数据,从下载执行器中进行数据的下载。所述方法能够支持对媒体源视频资源的下载,扩大了视频下载的网页范围,提高用户体验,增加用户黏性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种视频资源的下载方法的应用场景示意图;
图2为本发明实施例提供的一种视频资源的下载方法的流程图;
图3为本发明实施例提供的一种视频资源的下载方法中获取待下载视频的视频资源方法的流程图;
图4为本发明实施例提供的一种视频资源的下载方法中获取视频流数据并将视频流数据存入资源缓存区方法的流程图;
图5为本发明实施例提供的一种视频资源的下载方法中通过后台模拟播放进程传输数据到下载执行器的方法的流程图;
图6为本发明实施例提供的一种视频资源的下载方法中设置所述后台模拟播放进程为静音模式的方法流程图;
图7为本发明实施例提供的一种视频资源的下载方法中在静音模式下后台模拟播放器执行模拟播放并传输数据的流程图;
图8为本发明实施例提供的一种视频资源的下载方法中页面播放和后台播放同时进行的方法流程图;
图9为本发明实施例提供的一种视频资源的下载装置的结构示意图;
图10为本发明实施例提供的一种视频资源的下载装置中模拟播放模块的结构示意图;
图11为本发明实施例提供的一种用于实现本发明实施例所提供的方法的设备的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先对本发明实施例中所涉及的相关术语做以下解释:
JavaScript:是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型,已经被广泛用于网络应用开发,常用来为网页添加各式各样的动态功能。
HTML:超文本标记语言,是标准通用标记语言下的一个应用。HTML不是一种编程语言,而是一种标记语言,是网页制作所必备的。“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。超文本标记语言或超文本标签语言的结构包括“头”部分、和“主体”部分,其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。
请参见图1,其显示了本发明实施例提供的一种视频资源的下载方法的应用场景示意图,所述应用场景包括用户终端110和浏览器120,用户输入点击指令进入网页中,浏览器响应于用户输入的点击指令,获取待下载视频的视频资源。浏览器对待下载视频的视频资源进行处理,获取播放缓存数据。在用户输入下载指令后,创建后台模拟播放进程,在后台启动另一个浏览器并启动后台模拟播放器,进行模拟播放来获取播放缓存数据,播放所述播放缓存数据的同时传输所述播放缓存数据到下载执行器中,从下载执行器中下载播放缓存数据,即可以下载视频资源。
本说明书实施例中,所述用户终端包括但不限于智能手机、平板电脑、笔记本电脑、台式电脑等。所述用户终端提供给用户进行操作的界面,用户在操作界面上进行点击,进入视频网站或者输入下载指令。
本说明书实施例中,所述浏览器能够提供网页的解析、加载和渲染,并通过浏览器内核,启动页面播放器、后台模拟播放器或者下载执行器。
以下介绍本申请一种视频资源的下载方法的实施例,图2是本申请实施例提供的一种视频资源的下载方法的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的***或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
请参见图2,其显示了一种视频资源的下载方法,可应用于服务器侧,所述方法包括:
S210.响应于点击指令,获取待下载视频的视频资源,所述视频资源为应用于媒体源扩展播放方式进行播放的视频资源;
进一步地,请参见图3,所述响应于点击指令,获取待下载视频的视频资源之前,还包括:
S310.响应于点击指令,获取网络页面的网络标识信息,所述网络页面为具有待下载视频的网络资源定位的网络页面;
S320.根据所述网络标识信息,获取待下载视频的网络资源定位;
S330.替换所述网络资源定位为待下载视频的视频资源。
具体地,用户点击进入的网站为媒体源扩展(Media Source Extentions,MSE)的技术支持视频播放的网站。MSE可以将通常的单个媒体文件的指向外部资源的位置(source,src)替换成引用可媒体资源对象(MediaSource),其中src指向的内容将会应用到文档中当前标签所在位置,因此可以直接播放视频内容。MSE还能够引用多个视频二进制数据存储对象(SourceBuffer),可以更加精确地控制播放并能保护源数据。
通过MSE能够扩展第五版本的超文本标记语言(Hyper Text Markup Language 5,HTML5)描述页面支持的播放格式。允许JavaScript生成媒体流以支持回放,可以用于自适应流及随时间变化的视频直播流等应用场景。
S220.根据所述待下载视频的视频资源,获取视频流数据,并将所述视频流数据存入资源缓存区;
进一步地,请参见图4,所述视频流数据包括:画面片段数据和音频片段数据,其中画面片段数据只有画面没有声音,音频片段数据只有声音没有画面,需要后期进行音画同步进行合成;所述资源缓存区包括画面资源缓存区和音频资源缓存区,所述画面资源缓存区中设置的资源媒体类型可以是video/mp4,所述音频资源缓存区中设置的资源媒体类型可以是audio/mp4;
所述根据所述待下载视频的视频资源,获取视频流数据,并将所述视频流数据存入资源缓存区包括:
S410.获取所述视频资源中的画面数据;
S420.获取所述视频资源中的音频数据;
S430.分段所述画面数据,得到画面片段数据;
S440.分段所述音频数据,得到音频片段数据;
S450.创建画面资源缓存区,将所述画面片段数据存储到画面资源缓存区;
S460.创建音频资源缓存区,将所述画面片段数据存储到音频资源缓存区。
具体地,通过进行页面播放进程,解析视频资源,可以获得视频流数据。所述应用MSE的方式进行播放的视频网站可以为直播或者点播的网站,进行协议的解析和数据封装的解析,获得音频数据和画面数据,最终在音画同步后进行播放。
在页面播放进程中,作为视频资源的MediaSource对象上有三个主要事件,分别为开始事件(sourceopen)、关闭事件(sourceclose)和中止事件(sourceended)。其中,sourceopen事件是在获得视频资源之后触发。sourceended事件是在用户主动调用终止或者视频数据解析、播放错误时被触发。sourceclose事件是在SourceBuffer和HTML支持基础的媒体相关能力的组件(HTMLMediaElement)中无可用数据时被触发。在获得视频资源之后,监听sourceopen事件,以确保MediaSource和HTMLMediaElement已经完成绑定,并在此之后才开始进入数据处理流程。
在进行数据处理的过程中,由于资源缓存区的资源媒体类型只能为一种类型,因此在页面播放进程中,将待下载的视频资源分为画面数据和音频数据。
在一些具体的示例中,所述资源缓存区可以为SourceBuffer。所述SourceBuffer为存储视频流数据的容器,将经由MediaSource对象被传入HTMLMediaElement中,例如HTML中的音频播放标签(audio)和视频播放标签(video)。所述浏览器启动audio标签和video标签,浏览器同时启动能够应用MSE的方式进行播放的页面播放器,在视频流数据转换为二进制的缓存数据后,所述页面播放器能够接收所述二进制的缓存数据,并进行视频资源的播放。
将SourceBuffer作为资源缓存区时,一个SourceBuffer对象只能接受一种格式的数据,所以这里需要为视频和音频数据分别创建一个SourceBuffer。例如,资源缓存区缓存的资源媒体类型固定为画面数据相关的类型,比如说video/mp4,那么只能在资源缓存区中增加画面数据。资源缓存区缓存的资源媒体类型固定为音频数据相关的类型,比如说audio/mp4,那么只能在资源缓存区中增加音频数据。最终可以将视频资源分为画面数据和音频数据,设置两个资源缓存区分别进行画面数据的缓存和音频数据的缓存。
通过MSE的播放方式实现的视频网站,可以解析视频流数据,能够支持更多格式的视频媒体播放,也可以应用在进行直播或者点播来播放视频的场景中。
S230.将所述资源缓存区中的视频流数据转换为播放缓存数据;
S240.响应于下载指令,创建后台模拟播放进程,并通过所述后台模拟播放进程传输所述播放缓存数据到下载执行器中;
进一步地,请参见图5,图5显示了创建后台模拟播放进程,并通过后台模拟播放进程传输数据到下载执行器的方法,所述方法包括:
S510.设置所述后台模拟播放进程为静音模式;
S520.在静音模式下,基于播放事件的模拟操作,传输所述播放缓存数据到下载执行器中。
具体地,MSE能够扩展HTML5描述的网络页面所能播放的视频格式,但是不支持视频下载,因此本实施例所述的方法采取了在后台创建模拟播放进程的方式。通过进行模拟播放的方式,获取播放缓存数据,传输到下载执行器中进行视频的下载,由于可以在页面上同时进行页面播放进程,因此所述后台模拟播放进程需要设置为静音模式,可以避免对页面播放进程的干扰。
在一些具体的示例中,请参见图6,所述设置所述后台模拟播放进程为静音模式的方法包括:
S610.获取所述后台模拟播放进程所播放的视频资源的音频属性;
S620.将所述音频属性转换为音频数值;
S630.基于所述音频数值的调整,将所述后台模拟播放进程设置为静音模式。
在一个具体的示例中,在调整所述音频数值时,将音频数值调整到最小值或者调整到0,则可以将后台模拟播放进程设置为静音模式。
响应于输入的下载指令,后台启动后台模拟播放器进行模拟播放,所述后台模拟播放器为应用于媒体源扩展播放的模拟播放器,可以向资源缓存区请求播放缓存数据,能够解码音视频并进行渲染。
请参见图7,图7显示了在静音模式下,基于播放事件的模拟操作,传输所述播放缓存数据到下载执行器中的方法,所述方法包括:
S710.启动后台模拟播放器,所述后台模拟播放器为应用于媒体源扩展播放的模拟播放器;
S720.从所述资源缓存区中请求所述播放缓存数据到所述后台模拟播放器中进行播放;
S730.将在所述后台模拟播放器中播放的所述播放缓存数据传输所述播放缓存数据到下载执行器中。
在一些具体的示例中,所述播放缓存区为SourceBuffer,通过JavaScript编程脚本将存储有视频流数据的SourceBuffer传输到浏览器内核中,浏览器内核将SourceBuffer中的视频流数据转换为二进制的缓存数据,传输到后台模拟播放器中进行模拟播放。所述二进制的缓存数据按照时间戳等的顺序依次传输到后台模拟播放器中进行播放,形成完整的视频资源信息。后台模拟播放器通过模拟播放的方式消费二进制的缓存数据,并将二进制的缓存数据传输到下载执行器中。所述下载执行器可以为多媒体文件下载器,提供各种视频格式的下载能力。所述下载执行器可以直接下载播放缓存数据,输出下载成功的视频文件。对所述下载成功的视频文件,可以进行另存为和重命名操作,将视频文件保存在本地。
在一个具体的实施例中,进行播放模拟时,浏览器加载解析video标签后加载后台模拟播放器,后台模拟播放器触发play事件和seek事件使页面不断回吐播放缓存数据,后台模拟播放器将播放缓存数据派发给下载执行器,再不断触发seek事件,最终获取所有的播放缓存数据。
本实施例采用通过后台执行模拟播放的方式,创造与页面播放器一样的播放环境,能够请求到播放缓存数据,将播放缓存数据传输到下载执行器中,可以从下载执行器中下载播放缓存数据,输出下载成功的视频文件,本实施例所述的方法易于执行,具有较好的实用性和普适性,能够应用在所有的媒体源扩展支持的视频网站中。
S250.从所述下载执行器中下载所述播放缓存数据。
请参见图8,图8显示了页面播放进程和后台播放进程同时存在时的流程图。用户启动浏览器进入应用MSE方式实现播放的网站,浏览器内核对网页进行解析、加载和渲染。在页面加载并渲染结束后,浏览器启动页面播放器,解码音视频并渲染,用户通过页面播放器观看视频。当用户需要进行下载时,点击下载按钮,此时后台启动另一个浏览器内核,所述浏览器内核解析视频资源并获得视频流数据,所述视频流数据存储在播放缓存区中。转换所述视频流数据为播放缓存数据,所述播放缓存数据可以为二进制的缓存数据。后台进入模拟播放进程,启动后台模拟播放器。设置后台模拟播放器为静音模式,请求播放缓存数据到后台模拟播放器中进行模拟播放,并传输所述播放缓存数据到下载执行器中。从下载执行器中可以进行下载,并最终输出下载成功的视频文件。
在一个具体的示例中,在MSE技术应用较多的直播场景中,用户可以在观看直播的过程中启动后台模拟播放器进行视频的下载,既可以观看视频,同时可以在后台进行视频的下载。用户进入视频直播网站,选择主播房间,当用户需要下载时,后台响应于下载指令,创建后台模拟播放器,请求资源缓存区中的播放缓存数据,传输到下载执行器中进行下载。
本发明实施例提出了一种视频资源的下载方法,在所述方法中,解析待下载的视频资源,获得视频流数据,并转换视频流数据为播放缓存数据,存入资源缓存区中。通过在页面播放器执行的页面播放进程之外,再创建一个后台模拟播放器执行的后台模拟播放进程,基于播放事件的模拟操作,请求资源缓存区中的播放缓存数据,并将所述播放缓存数据传输到下载执行器中,以此来获得应用于MSE播放方式的视频中的相关数据,从下载执行器中进行数据的下载。进一步地,所述有益效果包括:
(1)支持对MSE视频资源的下载,扩大了视频下载的网页范围,可以进行更多格式的网页视频下载,提高了用户体验,增加了用户黏性;
(2)通过后台模拟播放的方式,执行对MSE视频资源的下载,具有较好的实用性和适用范围。
本发明实施例还提供了一种视频资源的下载装置,请参见图9,所述装置包括:视频资源获取模块910、视频资源解析模块920、模拟播放模块930、数据传输模块940和数据下载模块950;
所述视频资源获取模块910用于响应于点击指令,获取待下载视频的视频资源,所述视频资源为应用于媒体源扩展播放方式进行播放的视频资源;
所述视频资源解析模块920用于响应于下载指令,根据所述待下载视频的视频资源,获取视频流数据,并将所述视频流数据存入资源缓存区;
所述模拟播放模块930用于将所述资源缓存区中的视频流数据转换为播放缓存数据;
所述数据传输模块940用于创建后台模拟播放进程,并通过所述后台模拟播放进程传输所述播放缓存数据到下载执行器中;
所述数据下载模块950用于从所述下载执行器中下载所述播放缓存数据。
进一步地,请参见图10,所述模拟播放模块930包括播放静音单元1010和模拟播放单元1020;
所述播放静音单元1010用于设置所述后台模拟播放进程为静音模式;
所述模拟播放单元1020用于在静音模式下,基于播放事件的模拟操作,以传输所述播放缓存数据到下载执行器中。
进一步地,所述视频流数据包括:画面片段数据和音频片段数据;所述资源缓存区包括画面资源缓存区和音频资源缓存区;所述视频资源解析模块包括:画面数据获取单元、画面数据分段单元、画面资源存储单元、音频数据获取单元、音频数据分段单元和音频资源存储单元;
所述画面数据获取单元包括获取所述视频资源中的画面数据;
所述音频数据获取单元包括获取所述视频资源中的音频数据;
所述画面数据分段单元包括分段所述画面数据,得到画面片段数据;
所述音频数据分段单元包括分段所述音频数据,得到音频片段数据;
所述画面资源存储单元包括创建画面资源缓存区,将所述画面片段数据存储到画面资源缓存区;
所述音频资源存储单元包括创建音频资源缓存区,将所述音频片段数据存储到音频资源缓存区。
上述实施例中提供的装置可执行本发明任意实施例所提供方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的一种视频资源的下载方法。
本实施例还提供了一种计算机可读存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令由处理器加载并执行本实施例上述的一种视频资源的下载方法。可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例还提供了一种下载设备,所述下载设备包括处理器和存储器,其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行本实施例上述的一种视频资源的下载方法。
所述设备可以为计算机终端、移动终端或服务器,所述设备还可以参与构成本发明实施例所提供的装置或***。如图11所示,移动终端11(或计算机终端11或服务器11)可以包括一个或多个(图中采用1102a、1102b,……,1102n来示出)处理器1102(处理器1102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器1104、以及用于通信功能的传输装置1106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图11所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,移动设备11还可包括比图11中所示更多或者更少的组件,或者具有与图11所示不同的配置。
应当注意到的是上述一个或多个处理器1102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到移动设备11(或计算机终端)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
本说明书实施例中,存储器1104可用于存储软件程序以及模块,处理器1102通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1104可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器1104可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1104还可以包括存储器控制器,以提供处理器1102对存储器1104的访问。
存储器1104可用于存储应用软件的软件程序以及模块,如本发明实施例中所述的方法对应的程序指令/数据存储装置,处理器1102通过运行存储在存储器1104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的一种基于自注意力网络的时序行为捕捉框生成方法。存储器1104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1104可进一步包括相对于处理器1102远程设置的存储器,这些远程存储器可以通过网络连接至移动设备11。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置1106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端11的通信供应商提供的无线网络。在一个实例中,传输装置1106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置1106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与移动设备11(或计算机终端)的用户界面进行交互。
本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤和顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的***或中断产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本实施例中所示出的结构,仅仅是与本申请方案相关的部分结构,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比示出的更多或更少的部件,或者组合某些部件,或者具有不同的部件的布置。应当理解到,本实施例中所揭露的方法、装置等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分仅仅为一种逻辑功能的划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元模块的间接耦合或通信连接。
基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员还可以进一步意识到,结合本说明书所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但这种实现不应认为超出本发明的范围。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种视频资源的下载方法,其特征在于,所述方法包括:
响应于点击指令,获取待下载视频的视频资源,所述视频资源为应用于媒体源扩展播放方式进行播放的视频资源;
根据所述待下载视频的视频资源,获取视频流数据,并将所述视频流数据存入资源缓存区;
将所述资源缓存区中的视频流数据转换为播放缓存数据;
响应于下载指令,创建浏览器内核,在所述浏览器内核中创建后台模拟播放进程,并设置所述后台模拟播放进程为静音模式;
在浏览器内核加载解析video标签后,启动所述后台模拟播放进程中的后台模拟播放器;
在网络页面上执行页面播放进程时,在静音模式下,基于后台模拟播放器触发play事件和seek事件,对所述播放缓存数据进行模拟播放,以使得浏览器内核对应的页面回吐播放缓存数据,所述后台模拟播放器为应用于媒体源扩展播放的模拟播放器;
在静音模式下,通过所述后台模拟播放进程传输所述播放缓存数据到下载执行器中;
通过触发seek事件,从所述下载执行器中下载所述播放缓存数据。
2.根据权利要求1所述的一种视频资源的下载方法,其特征在于,所述设置所述后台模拟播放进程为静音模式包括:
获取视频资源的音频属性;
将所述音频属性转换为音频数值;
基于所述音频数值的调整,将所述后台模拟播放进程设置为静音模式。
3.根据权利要求1所述的一种视频资源的下载方法,其特征在于,所述在静音模式下,通过所述后台模拟播放进程传输所述播放缓存数据到下载执行器中包括:
将在所述后台模拟播放器中播放的所述播放缓存数据传输所述播放缓存数据到下载执行器中。
4.根据权利要求1所述的一种视频资源的下载方法,其特征在于,所述视频流数据包括:画面片段数据和音频片段数据;所述资源缓存区包括画面资源缓存区和音频资源缓存区;
所述根据所述待下载视频的视频资源,获取视频流数据,并将所述视频流数据存入资源缓存区包括:
获取所述视频资源中的画面数据;
获取所述视频资源中的音频数据;
分段所述画面数据,得到画面片段数据;
分段所述音频数据,得到音频片段数据;
创建画面资源缓存区,将所述画面片段数据存储到画面资源缓存区;
创建音频资源缓存区,将所述音频片段数据存储到音频资源缓存区。
5.根据权利要求1所述的一种视频资源的下载方法,其特征在于,所述响应于点击指令,获取待下载视频的视频资源之前,还包括:
响应于点击指令,获取网络页面的网络标识信息,所述网络页面为具有待下载视频的网络资源定位的网络页面;
根据所述网络标识信息,获取待下载视频的网络资源定位;
替换所述网络资源定位为待下载视频的视频资源。
6.一种视频资源的下载装置,其特征在于,所述装置包括:视频资源获取模块、视频资源解析模块、模拟播放模块、数据传输模块和数据下载模块;
所述视频资源获取模块用于响应于点击指令,获取待下载视频的视频资源,所述视频资源为应用于媒体源扩展播放方式进行播放的视频资源;
所述视频资源解析模块用于响应于下载指令,根据所述待下载视频的视频资源,获取视频流数据,并将所述视频流数据存入资源缓存区;
所述模拟播放模块用于将所述资源缓存区中的视频流数据转换为播放缓存数据;
所述数据传输模块用于创建浏览器内核,在所述浏览器内核中创建后台模拟播放进程,并设置所述后台模拟播放进程为静音模式;在浏览器内核加载解析video标签后,启动所述后台模拟播放进程中的后台模拟播放器;在网络页面上执行页面播放进程时,在静音模式下,基于后台模拟播放器触发play事件和seek事件,对所述播放缓存数据进行模拟播放,以使得浏览器内核对应的页面回吐播放缓存数据,所述后台模拟播放器为应用于媒体源扩展播放的模拟播放器;在静音模式下,通过所述后台模拟播放进程传输所述播放缓存数据到下载执行器中;
所述数据下载模块用于通过触发seek事件,从所述下载执行器中下载所述播放缓存数据。
7.根据权利要求6所述的一种视频资源的下载装置,其特征在于,所述模拟播放模块包括播放静音单元和模拟播放单元;
所述播放静音单元用于设置所述后台模拟播放进程为静音模式;
所述模拟播放单元用于在静音模式下,基于播放事件的模拟操作,以传输所述播放缓存数据到下载执行器中。
8.一种下载设备,其特征在于,所述下载设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1-5任一项所述的一种视频资源的下载方法。
9.一种存储介质,其特征在于,所述存储介质包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1-5任一项所述的一种视频资源的下载方法。
CN201910795260.5A 2019-08-27 2019-08-27 一种视频资源的下载方法、装置、设备和介质 Active CN112449250B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910795260.5A CN112449250B (zh) 2019-08-27 2019-08-27 一种视频资源的下载方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910795260.5A CN112449250B (zh) 2019-08-27 2019-08-27 一种视频资源的下载方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN112449250A CN112449250A (zh) 2021-03-05
CN112449250B true CN112449250B (zh) 2022-08-23

Family

ID=74741287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910795260.5A Active CN112449250B (zh) 2019-08-27 2019-08-27 一种视频资源的下载方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN112449250B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113163255B (zh) * 2021-03-31 2022-07-15 成都欧珀通信科技有限公司 视频播放方法、装置、终端及存储介质
CN113315810B (zh) * 2021-04-29 2023-04-07 上海探寻信息技术有限公司 一种在线音频播放方法及设备
CN114168223B (zh) * 2021-12-06 2023-11-03 福建天晴数码有限公司 一种提升编辑中资源预览速度的技术方法及***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103259802A (zh) * 2013-06-03 2013-08-21 贝壳网际(北京)安全技术有限公司 媒体文件的下载方法、装置及客户端设备
IL276064B2 (en) * 2018-02-15 2024-04-01 Vitec Inc Distribution and playback of media content
CN108718416A (zh) * 2018-06-15 2018-10-30 深圳市安佳威视信息技术有限公司 Html5直播嵌入式摄像机音视频***及其方法

Also Published As

Publication number Publication date
CN112449250A (zh) 2021-03-05

Similar Documents

Publication Publication Date Title
US20200201490A1 (en) Providing content via multiple display devices
US9344517B2 (en) Downloading and adaptive streaming of multimedia content to a device with cache assist
US9715338B2 (en) Method for associating media files with additional content
CN112449250B (zh) 一种视频资源的下载方法、装置、设备和介质
WO2017092313A1 (zh) 控制播放设备播放视频的方法和装置
US20130247105A1 (en) Smart subscribe button on watch
US10362359B2 (en) Video player framework for a media distribution and management platform
AU2010294783B2 (en) Method and device for providing complementary information
CN111510789B (zh) 视频播放方法、***、计算机设备及计算机可读存储介质
CN103686245A (zh) 一种基于hls协议的点播与直播切换方法和装置
WO2016207735A1 (en) A system and methods thereof for auto-playing video content on mobile devices
US20220167063A1 (en) Playback method, system, device and readable storage medium of live broadcast content
CN103561337A (zh) 一种基于智能电视的网络直播方法和装置
US20180324238A1 (en) A System and Methods Thereof for Auto-playing Video Content on Mobile Devices
US10419798B2 (en) Method and apparatus for just-in-time transcoding
EP2903260A1 (en) Multi-speed playing method, device and system
US9705942B2 (en) Progressive playback
US20130254806A1 (en) System and Method for Displaying a Media Program Stream on Mobile Devices
CN112243158B (zh) 媒体文件处理方法、装置、计算机可读介质及电子设备
WO2015143854A1 (zh) 数据获取及交互方法、机顶盒、服务器、多媒体***
CN103747280A (zh) 一种创建节目单的方法及电子设备
US20130145258A1 (en) Incremental Synchronization for Magazines
US20180020043A1 (en) Method for playing audio/video and display device
CA3078190A1 (en) Apparatus and method for automatic generation of croudsourced news media from captured contents
US10567837B2 (en) System for providing cloud-based user interfaces and method thereof

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