CN105451101A - 一种视频播放方法及装置 - Google Patents
一种视频播放方法及装置 Download PDFInfo
- Publication number
- CN105451101A CN105451101A CN201410397533.8A CN201410397533A CN105451101A CN 105451101 A CN105451101 A CN 105451101A CN 201410397533 A CN201410397533 A CN 201410397533A CN 105451101 A CN105451101 A CN 105451101A
- Authority
- CN
- China
- Prior art keywords
- source address
- broadcast source
- address
- url
- request
- 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供了一种视频播放方法及装置,包括:通过当前页面脚本确定播放源地址,将播放源地址生成包含该播放源地址的URL地址,并请求打开该URL地址;通过浏览器控件监控到该请求后,获取URL地址中的播放源地址并发送该播放源地址;指示播放器控件根据该播放源地址进行视频播放。采用本发明实施例提供的技术方案,只需要将通过当前页面脚本确定的播放源地址生成“自定义”格式的URL地址,以URL地址的方式通过浏览器控件、播放器控件,即可实现利用指定播放器接口进行视频播放的目的,不需要将播放器接口暴露给页面脚本,页面脚本不会识别到播放器接口的存在,因此,采用本发明实施例提供的技术方案安全性较高。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种视频播放方法及装置。
背景技术
目前,为网页内的页面脚本程序提供调用应用程序内置播放器的方法为通过浏览器控件的扩展接口向当前页面脚本提供播放接口。
浏览器控件的调用者可以通过扩展接口的方式向脚本提供可调用的接口,比如Android的WebView控件可以通过addJavascriptInterface方法就可以向浏览器控件中运行的脚本提供一个可调用的接口。也即,可以将调用内置播放器的方法封装成一个接口(也称扩展接口),然后将这个扩展接口提供给网页上的脚本,即可实现利用应用程序指定的播放器进行播放。
现有技术不足在于:
现有的接口提供方式将可调用的函数(也即扩展接口)直接暴露给页面脚本,脚本容易受到漏洞攻击,安全性较低。
发明内容
本发明实施例提出了一种视频播放方法及装置,相比现有技术提高了安全性。
本发明实施例提供了一种视频播放方法,包括如下步骤:
通过当前页面脚本确定播放源地址,将播放源地址生成包含该播放源地址的URL地址,并请求打开该URL地址;
通过浏览器控件监控到该请求后,获取URL地址中的播放源地址并发送该播放源地址至播放器控件;
指示播放器控件根据该播放源地址进行视频播放。
本发明实施例提供了一种视频播放装置,包括:
请求模块,用于通过当前页面脚本确定播放源地址,将播放源地址生成包含播放源地址的URL地址,并请求打开该URL地址;
监控模块,用于通过浏览器控件监控到该请求后,获取该URL地址中的播放源地址并发送播放源地址至播放器控件;
播放模块,用于指示播放器控件根据该播放源地址进行视频播放。
有益效果如下:
由于本发明实施例所提供的技术方案,在当前页面出现播放视频的要求,也即在通过当前页面脚本确定播放源地址时,只需将要播放的视频的播放源地址生成“自定义”格式的URL地址,然后请求打开该URL地址;并在通过浏览器控件监控到该请求之后,再获取该请求中包含的URL地址中的播放源地址,最终指示播放器控件进行播放。通过该方式,不需要向网页的脚本暴露可调用的函数,只需将通过当前网页脚本确定的播放源地址重新生成一个“自定义”格式的URL地址,再通过调用浏览器控件、播放器控件,即可实现利用指定播放器接口进行视频播放的目的。采用本发明实施例提供的技术方案,网页的脚本并不会识别到播放器接口的存在,避免了传统播放方式中接口实现有漏洞时存在的安全隐患。
附图说明
下面将参照附图描述本发明的具体实施例,其中:
图1示出了本发明实施例中视频播放方法实施流程示意图;
图2示出了本发明实施例中视频播放装置结构示意图。
具体实施方式
为了使本发明的技术方案及优点更加清楚明白,以下结合附图对本发明的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本发明的一部分实施例,而不是所有实施例的穷举。并且在不冲突的情况下,本说明中的实施例及实施例中的特征可以互相结合。
本发明实施例提出了一种视频播放方法及装置,下面进行说明。
图1示出了本发明实施例视频播放方法实施流程示意图,如图所示,可以包括如下步骤:
步骤101、通过当前页面脚本确定播放源地址,将播放源地址生成包含该播放源地址的统一资源定位符(URL,UniformResourceLocation)地址,并请求打开该URL地址。
步骤102、通过浏览器控件监控到该请求后,获取URL地址中的播放源地址并发送该播放源地址至播放器控件。
步骤103、指示播放器控件根据该播放源地址进行视频播放。
脚本script是依据一定格式编写的可执行文件,各类脚本目前被广泛应用于网页设计中,因为脚本不仅可以减小网页的规模和提高网页浏览速度,而且可以丰富网页的表现,如动画、声音等。本发明实施例中当前页面脚本即为当前网页中依据一定格式编写的可执行文件。控件是一种计算机程序,通过和应用程序互动,用来替应用程序增加一些所需要的功能,目前较为常见的有游戏控件、浏览器控件和播放器控件等。浏览器控件是在浏览器应用程序运行时,对浏览器的运行起到一个补充作用的程序。对于播放器控件,则是为了实现各种编码格式的音频、视频节目等的播放,而开发的程序代码,目前已有不少第三方媒体提供商均开发了自己的播放器控件。
由于当前页面的脚本是在浏览器控件中运行的,并不能直接将确定的播放源地址直接传递给播放器控件进行播放,因此,本发明实施例中,通过将播放源地址以URL地址的方式,传递给浏览器控件,再通过浏览器控件取出该URL地址中的播放源地址传递给播放器控件,最终再指示播放器控件进行视频播放。
由于浏览器控件并不知晓哪个网页是要显示给用户的、哪个网页是要传递给播放器控件进行播放的,因此,为识别URL地址的格式,本发明实施例将播放源地址修改为指定格式的URL地址,以便与正常要显示给用户的网页的格式进行区分,在调用浏览器控件后,其根据URL地址的格式即可判断出指定格式的URL地址是要传递给播放器控件进行播放的。本领域技术人员可以根据需要自行设置修改后的URL地址的格式,本发明实施例中对URL地址的指定格式不作限制,只需能够达到使浏览器控件得以区别即可。
本发明实施例提供的技术方案,通过调用浏览器控件来显示当前网页、支持页面脚本的运行,并监控网页打开操作,不需要向页面脚本扩展接口,仅需要进行参数检测,实现起来比较简单;当将播放源地址修改为指定格式的URL地址进行网页打开请求时,通过浏览器控件监控到该请求,识别出该URL地址为指定格式的URL地址,则将播放源地址取出传给播放器控件;调用播放器控件用以最终打开播放源地址进行视频播放。具体实现中包括通过页面脚本确定播放源地址后“生成包括播放源地址的URL地址”、“请求打开该URL地址”,均不需要再提供“视频播放接口”这一类的接口,也无需浏览器控件“直接向页面脚本暴露可调用的函数”,避免了潜在的安全风险。
实施中,播放源地址可以为URL地址中的视频源参数指定的播放源地址。
具体实施中,视频源参数可以为src参数。
进一步地,考虑到参数传递时可能会发生错误,为了使得URL地址中的播放源地址在作为浏览器参数传递时不出错,将参数更好更正确的传递给浏览器控件,本发明实施例还可以按以下方式实施。
实施中,可以进一步包括:通过当前页面脚本确定播放源地址之后,对播放源地址进行编码;
生成包含该播放源地址的URL地址中包含的是编码后的播放源地址;
获取URL地址中的播放源地址之后,进一步包括:对URL地址中的播放源地址进行解码;
发送至播放器控件的播放源地址是解码后得到的播放源地址。
实施中,可以采用base64编解码方式进行编码或解码。
在实施中采用base64编解码等方式是由于这些方式比较常用、主流,易于本领域技术人员使用/理解,所以这里以base64编解码方式为例;但是,从理论上来说,用其他的方式也是可以的,只要能够实现编解码的目的即可,base64编解码方式仅用于教导本领域技术人员具体如何实施本发明,但并不意味仅能使用base64编解码方式,实施过程中可以结合实践需要来确定相应的方式。本领域技术人员还可以采用其他编解码算法,比如信息摘要算法(MD5,Message-DigestAlgorithm5)、霍夫曼编解码算法等。本发明对编解码方式不作限制。
实施中,请求打开该URL地址可以是通过调用浏览器控件的网页打开函数实现的。
实施中,请求打开该URL地址可以是通过调用浏览器控件的window.location.href函数实现的。
本发明实施例浏览器控件的网页打开函数还可以有其他的方式实现,本领域技术人员也可以通过调用其他等效的函数请求打开该URL地址,本发明对此不作限制。
基于同一发明构思,本发明实施例中还提供了一种视频播放装置,由于这些设备解决问题的原理与一种视频播放方法相似,因此这些设备的实施可以参见方法的实施,重复之处不再赘述。
图2示出了视频播放装置结构示意图,如图所示,装置可以包括:
请求模块201,用于通过当前页面脚本确定播放源地址,将播放源地址生成包含该播放源地址的URL地址,并请求打开该URL地址;
监控模块202,用于通过浏览器控件监控到该请求后,获取URL地址中的播放源地址并发送该播放源地址至播放器控件;
播放模块203,用于指示播放器控件根据该播放源地址进行视频播放。
实施中,请求模块201可以进一步用于将播放源地址生成包含由视频源参数指定的播放源地址的URL地址。
实施中,可以进一步包括:编码模块204、解码模块205,其中:
编码模块204,用于在通过当前页面脚本确定播放源地址之后,对该播放源地址进行编码;
请求模块201进一步用于将编码后的播放源地址生成包含该播放源地址的URL地址;
解码模块205,用于在获取URL地址中的播放源地址之后,对URL地址中的播放源地址进行解码;
监控模块202可以进一步用于将解码后得到的播放源地址发送至播放器控件。
实施中,编码模块204或者解码模块205可以进一步用于采用base64编解码方式进行编码或解码。
实施中,请求模块201可以进一步用于通过调用浏览器控件的网页打开函数请求打开该URL地址。
实施中,请求模块201可以进一步用于通过调用浏览器控件的window.location.href函数请求打开该URL地址。
为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
本发明实施例所提供的技术方案,不需要将播放器接口暴露给网页脚本,只需要页面脚本将播放源地址通过网址的方式经浏览器控件传递给播放器控件,即可实现利用指定播放器接口进行播放的目的。由于不需要向网页脚本暴露可调用的函数,可以避免接口漏洞时受到溢出攻击的隐患,因此,采用本发明实施例的技术方案安全性较高。
下面以一实例进行说明。
浏览器控件打开包含页面脚本的网页。
当网页中的页面脚本需要播放一个视频时,首先确定该视频的播放源地址,假设播放源地址为http://cdn.youku.com/mov1.m3u8;
然后页面脚本对该播放源地址进行base64编码,得到编码后的播放源地址如下:
播放源地址为aHR0cDovL2Nkbi55b3VrdS5jb20vbW92MS5tM3U4
页面脚本将编码后的播放源地址按照指定格式生成包含由src参数指定该播放源地址的URL地址,假设指定格式为wk://play?src=XXXX的URL,那么生成的包含播放源地址的URL地址可以为:
wk://play?src=aHR0cDovL2Nkbi55b3VrdS5jb20vbW92MS5tM3U4
通过调用浏览器控件的window.location.href方法,请求将当前页面跳转到wk://play?src=aHR0cDovL2Nkbi55b3VrdS5jb20vbW92MS5tM3U4这样的URL。
当页面发生跳转时(也即,从当前页面跳转到生成的URL地址),通过浏览器控件监控到这一跳转,发现当前页面的播放脚本请求打开一个新的网址,并且识别到这是指定格式(wk://play格式)的URL,说明这是一个播放地址。
这时,通过浏览器控件将请求中包含的URL地址中的src参数值(也即aHR0cDovL2Nkbi55b3VrdS5jb20vbW92MS5tM3U4)取出,并进行base64解码,得到播放源地址http://cdn.youku.com/mov1.m3u8。
最终,通过浏览器控件将该播放源地址传给播放器控件,再指示播放器控件根据这个播放源地址进行视频播放,也即调用指定的播放器接口进行播放。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
Claims (10)
1.一种视频播放方法,其特征在于,包括如下步骤:
通过当前页面脚本确定播放源地址;
将所述播放源地址生成包含所述播放源地址的URL地址,并请求打开所述URL地址;
通过浏览器控件监控到所述请求后,获取所述URL地址中的播放源地址并发送所述播放源地址至播放器控件;
指示所述播放器控件根据所述播放源地址进行视频播放。
2.如权利要求1所述的方法,其特征在于,所述播放源地址为所述URL地址中的视频源参数指定的播放源地址。
3.如权利要求1或2所述的方法,其特征在于,通过当前页面脚本确定播放源地址之后,进一步包括:对所述播放源地址进行编码;
生成包含所述播放源地址的URL地址中包含的是编码后的播放源地址;
获取所述URL地址中的播放源地址后,进一步包括:
对所述URL地址中的播放源地址进行解码;
发送至播放器控件的播放源地址是解码后得到的播放源地址。
4.如权利要求1至3任一所述的方法,其特征在于,所述请求打开URL地址是通过调用浏览器控件的网页打开函数实现的。
5.如权利要求4所述的方法,其特征在于,所述请求打开URL地址是通过调用浏览器控件的window.location.href函数实现的。
6.一种视频播放装置,其特征在于,包括:
请求模块,用于通过当前页面脚本确定播放源地址,将所述播放源地址生成包含所述播放源地址的URL地址,并请求打开所述URL地址;
监控模块,用于通过浏览器控件监控到所述请求后,获取所述URL地址中的播放源地址并发送所述播放源地址至播放器控件;
播放模块,用于指示播放器控件根据所述播放源地址进行视频播放。
7.如权利要求6所述的装置,其特征在于,所述请求模块进一步用于将所述播放源地址生成包含由视频源参数指定的播放源地址的URL地址。
8.如权利要求6或7所述的装置,其特征在于,进一步包括编码模块、解码模块,其中:
编码模块,用于在通过当前页面脚本确定播放源地址之后,对所述播放源地址进行编码;
请求模块进一步用于将编码后的播放源地址生成包含所述播放源地址的URL地址;
解码模块,用于在获取所述URL地址中的播放源地址之后,对所述URL地址中的播放源地址进行解码;
监控模块进一步用于将解码后得到的播放源地址发送至播放器控件。
9.如权利要求6至8任一所述的装置,其特征在于,所述请求模块进一步用于通过调用浏览器控件的网页打开函数请求打开所述URL地址。
10.如权利要求9所述的装置,其特征在于,所述请求模块进一步用于通过调用浏览器控件的window.location.href函数请求打开所述URL地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410397533.8A CN105451101B (zh) | 2014-08-13 | 2014-08-13 | 一种视频播放方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410397533.8A CN105451101B (zh) | 2014-08-13 | 2014-08-13 | 一种视频播放方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105451101A true CN105451101A (zh) | 2016-03-30 |
CN105451101B CN105451101B (zh) | 2019-01-25 |
Family
ID=55560815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410397533.8A Active CN105451101B (zh) | 2014-08-13 | 2014-08-13 | 一种视频播放方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105451101B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106991138A (zh) * | 2017-03-16 | 2017-07-28 | 深圳市彬讯科技有限公司 | 一种基于windowlocation的URL解析的方法 |
CN108777819A (zh) * | 2018-09-13 | 2018-11-09 | 上海二三四五网络科技有限公司 | 一种基于浏览器播放器播放网页视频的控制方法及控制装置 |
CN108966018A (zh) * | 2017-12-29 | 2018-12-07 | 北京视联动力国际信息技术有限公司 | 一种基于视联网的视频播放方法及装置 |
CN109992264A (zh) * | 2017-12-29 | 2019-07-09 | 浙江宇视科技有限公司 | 窗口管理方法 |
CN112307378B (zh) * | 2019-07-30 | 2024-03-01 | 上海幻电信息科技有限公司 | 网络视图展示方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101404579A (zh) * | 2008-10-31 | 2009-04-08 | 成都市华为赛门铁克科技有限公司 | 一种防止网络攻击的方法及装置 |
WO2012051452A2 (en) * | 2010-10-13 | 2012-04-19 | Akamai Technologies, Inc. | Protecting websites and website users by obscuring urls |
CN102801810A (zh) * | 2012-08-24 | 2012-11-28 | 乐视网信息技术(北京)股份有限公司 | 在内容分发网络中隐藏url的方法 |
CN1992594B (zh) * | 2005-12-31 | 2014-07-16 | 中兴通讯股份有限公司 | 一种适用于流媒体系统的url扩展方法 |
-
2014
- 2014-08-13 CN CN201410397533.8A patent/CN105451101B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1992594B (zh) * | 2005-12-31 | 2014-07-16 | 中兴通讯股份有限公司 | 一种适用于流媒体系统的url扩展方法 |
CN101404579A (zh) * | 2008-10-31 | 2009-04-08 | 成都市华为赛门铁克科技有限公司 | 一种防止网络攻击的方法及装置 |
WO2012051452A2 (en) * | 2010-10-13 | 2012-04-19 | Akamai Technologies, Inc. | Protecting websites and website users by obscuring urls |
CN102801810A (zh) * | 2012-08-24 | 2012-11-28 | 乐视网信息技术(北京)股份有限公司 | 在内容分发网络中隐藏url的方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106991138A (zh) * | 2017-03-16 | 2017-07-28 | 深圳市彬讯科技有限公司 | 一种基于windowlocation的URL解析的方法 |
CN108966018A (zh) * | 2017-12-29 | 2018-12-07 | 北京视联动力国际信息技术有限公司 | 一种基于视联网的视频播放方法及装置 |
CN109992264A (zh) * | 2017-12-29 | 2019-07-09 | 浙江宇视科技有限公司 | 窗口管理方法 |
CN108966018B (zh) * | 2017-12-29 | 2019-11-12 | 视联动力信息技术股份有限公司 | 基于视联网的视频播放方法、装置、电子设备及存储介质 |
CN108777819A (zh) * | 2018-09-13 | 2018-11-09 | 上海二三四五网络科技有限公司 | 一种基于浏览器播放器播放网页视频的控制方法及控制装置 |
CN112307378B (zh) * | 2019-07-30 | 2024-03-01 | 上海幻电信息科技有限公司 | 网络视图展示方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105451101B (zh) | 2019-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108337528B (zh) | 一种预览视频的方法及设备 | |
CN105451101A (zh) | 一种视频播放方法及装置 | |
CN108811515B (zh) | 递送来自跨源资源的自动播放媒体内容元素 | |
AU2016410930B2 (en) | Online television playing method and apparatus | |
JP6314252B2 (ja) | ネットワークビデオ再生方法及び装置 | |
JP2020008854A (ja) | 音声要求を処理するための方法および装置 | |
CN103327021B (zh) | 一种多设备互动方法及相关设备、系统 | |
CN105100913B (zh) | 视频访问方法和系统、机顶盒、代理服务器、媒体服务器 | |
CN104394476A (zh) | 一种时移播放方法及媒体播放器 | |
US9998513B2 (en) | Selecting bitrate to stream encoded media based on tagging of important media segments | |
US11968246B2 (en) | Playback mode determining method and apparatus | |
US20160212054A1 (en) | Multiple Protocol Media Streaming | |
US11245885B2 (en) | Method and system for playing media data | |
GB2553912A (en) | Methods, systems, and media for synchronizing media content using audio timecodes | |
CN112995698A (zh) | 一种视频播放方法、客户端、服务平台及智能会议系统 | |
CN105307052A (zh) | 一种视频请求处理方法及装置 | |
CN107423312A (zh) | 直播数据播放方法及装置 | |
CN108235067B (zh) | 一种视频流地址的鉴权方法及装置 | |
CN105681823A (zh) | 一种对视频文件进行在线转码的方法和装置 | |
CN104079990B (zh) | 视频播放方法、浏览器及下载工具 | |
US11557303B2 (en) | Frictionless handoff of audio content playing using overlaid ultrasonic codes | |
KR100909669B1 (ko) | 모바일 단말 및 임베디드 단말의 웹 브라우저 내에서 플래시 기반 비디오 콘텐츠의 재생 방법 | |
US10530835B2 (en) | Application recording | |
KR102185692B1 (ko) | 단말 장치, 서버, 단말 장치의 브라우저 구동 시스템, 단말 장치의 브라우저 구동 방법 | |
JP2018500692A (ja) | 情報表示方法および装置 |
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 |