CN109599132A - 一种适应于媒体行业的跨平台多终端静态化播放器 - Google Patents
一种适应于媒体行业的跨平台多终端静态化播放器 Download PDFInfo
- Publication number
- CN109599132A CN109599132A CN201811449656.6A CN201811449656A CN109599132A CN 109599132 A CN109599132 A CN 109599132A CN 201811449656 A CN201811449656 A CN 201811449656A CN 109599132 A CN109599132 A CN 109599132A
- Authority
- CN
- China
- Prior art keywords
- player
- file
- browser
- cdn
- universal
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/16—Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B19/00—Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
- G11B19/02—Control of operating function, e.g. switching from recording to reproducing
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及一种适应于媒体行业的跨平台多终端静态化播放器,该播放器的实现方法如下:1)配置flash播放器和H5播放器待用;2)使用JavaScript代码编写通用播放器js文件,同时在播放器js文件内配置调用flash播放器和H5播放器的调用指令;3)通用播放器js文件通过JavaScript的Navigator对象判断当前加载播放器的浏览器是PC端浏览器还是手机端浏览器;4)如果通用播放器js文件检查到是手机端浏览器则加载H5播放器,如果检查到是PC端浏览器则加载flash播放器。可以同时集成手机端和PC端,不受其影响能够直接进行播放节约时间,同时还能防止播放地址被盗链。
Description
技术领域
本发明涉及播放领域,具体涉及一种适应于媒体行业的跨平台多终端静态化播放器。
背景技术
新媒体(New Media)是指当下万物皆媒的环境,简单说:新媒体是一种环境。
新媒体涵盖了所有数字化的媒体形式。包括所有数字化的传统媒体、网络媒体、移动端媒体、数字电视、数字报刊杂志等。
一个相对的概念,是报刊、广播、电视等传统媒体以后发展起来的新的媒体形态,包括网络媒体、手机媒体、数字电视等。
新媒体亦是一个宽泛的概念,利用数字技术、网络技术,通过互联网、宽带局域网、无线通信网、卫星等渠道,以及电脑、手机、数字电视机等终端,向用户提供信息和娱乐服务的传播形态。严格地说,新媒体应该称为数字化新媒体。
在新媒体时代下,传统广电媒体将有大量视音频通过不同渠道发布到互联网。为了契合新媒体时代下传播渠道广、信息时效性高等特点。视音频播放器统一集成、统一管理、统一鉴权就变的极为重要。
但是现有的视频播放器,主要面临以下几个问题:
在不同终端集成困难
在手机端、PC端都要花费大量的时间进行对接,并且还要对样式做调整。这部分会花费大量的时间。
播放器样式统一管理
在播放器样式统一控制上也存在问题,例如:在重要节日需要配置播放器主题色彩的时候,不能做到多终端播放器一键样式设置。
暴露视音频播放地址
不管是手机端、PC端播放视频,都会很轻易的拿到视音频的播放地址。会使得播放地址被盗链,从而占用流量。
发明内容
本发明的目的在于克服现有技术的不足,提供一种适应于媒体行业的跨平台多终端静态化播放器,可以同时集成手机端和PC端,不受其影响能够直接进行播放节约时间,同时还能防止播放地址被盗链。
本发明的目的是通过以下技术方案来实现的:
一种适应于媒体行业的跨平台多终端静态化播放器,该播放器的实现方法如下:
1)配置flash播放器和H5播放器待用;
2)使用JavaScript代码编写通用播放器js文件,同时在播放器js文件内配置调用flash播放器和H5播放器的调用指令;
3)通用播放器js文件通过JavaScript的Navigator对象判断当前加载播放器的浏览器是PC端浏览器还是手机端浏览器;
4)如果通用播放器js文件检查到是手机端浏览器则加载H5播放器,如果检查到是PC端浏览器则加载flash播放器。
进一步的,所述播放器还包括一个防盗链步骤,具体步骤如下:
1)通用播放器js文件通过AES-CBC-128算法来获取当前正在使用的播放器jsonp文件,从播放器jsonp文件中获取CDN防盗链加密公式以及加密密匙;
2)通用播放器js文件通过AES-CBC-128算法获取视频jsonp文件,从视频jsonp文件中获得视频播放器地址;
3)通过CDN防盗链加密公式算出一个加密字符串,把字符串带到视频播放地址后面,就可以得到安全的播放。
进一步的,所述CDN防盗链加密公式支持后台选择或配置以修改CDN防盗链加密公式。
进一步的,所述CDN防盗链加密公式中的固定常量可以单独配置,公式中的变量则通过EL表达式指定获取。
进一步的,所述EL表达式被替换成实际的加密参数,从而算出各不同cdn认可的防盗链密匙。
本发明的有益效果是:本发明利用手机端和PC端通用的JavaScript代码编写的通用播放器js文件,然后通过JavaScript的Navigator对象判断当前加载播放器的浏览器是PC端浏览器还是手机端浏览器从而调用相应的播放器,实现了手机端和PC端的同用,此外还通过AES加密算法对播放器地址进行加密,可以有效保证播放地址被盗链。
附图说明
图1为本发明播放器调用流程图;
图2为本发明播放器内部初始化流程图;
图3为 AES加密算法流程图。
具体实施方式
下面结合具体实施例进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
如图1所示,一种适应于媒体行业的跨平台多终端静态化播放器,该播放器的实现方法如下:
1)配置flash播放器和H5播放器待用;更为具体的,本发明是在系统中配置了一个完整的flash播放器和H5播放器,用于PC端浏览器播放和手机端浏览器播放。
2)使用JavaScript代码编写通用播放器js文件,同时在播放器js文件内配置调用flash播放器和H5播放器的调用指令;
3)通用播放器js文件通过JavaScript的Navigator对象判断当前加载播放器的浏览器是PC端浏览器还是手机端浏览器;
4)如果通用播放器js文件检查到是手机端浏览器则加载H5播放器,如果检查到是PC端浏览器则加载flash播放器。
使用方启用播放器js文件以后,播放器js文件通过JavaScript的Navigator对象自动判断当前加载播放器的浏览器,从而调用相应的播放器进行播放,这里调用播放器的方法是使用了JavaScript代码直接调用。
如图2所示,所述播放器还包括一个防盗链步骤,具体步骤如下:
1)通用播放器js文件通过AES-CBC-128算法来获取当前正在使用的播放器jsonp文件,从播放器jsonp文件中获取CDN防盗链加密公式以及加密密匙;
2)通用播放器js文件通过AES-CBC-128算法获取视频jsonp文件,从视频jsonp文件中获得视频播放器地址;
3)通过CDN防盗链加密公式算出一个加密字符串,把字符串带到视频播放地址后面,就可以得到安全的播放。
加密原理介绍:
公钥 A + 私钥 B ----加密算法-----> 密码 C
着重解释下各密钥及密码取值获取途径:
公钥 A:播放器通过网络请求由CDN反馈带有时效性的一个密码值。------- 网络中获取的值可以视为公钥。
私钥 B:通过CDN服务器中人为配置,播放器根据服务器中值写死。由于播放器代码可以反编译为可阅读代码来破解固定算法,私钥B的作用是可以定期更换。
密码 C:是通过加密的算法(CDN也知晓该算法,把A和B作为密码因子)生成。-------通常是常见的加密算法,当然也可以由流媒体和播放器协商定制,不会常变。
获得密码C值以后,播放器以HTTP请求参数值方式带给CDN服务器防盗认证,CDN通过特定的算法来验证链接的有效性。
其中固定常量是公钥A。
其具体流程为:
当播放器开始播放时,同时加载视频元数据和加密文件以及播放器元数据和加密文件,并使用AES-CBC-128算法进行解密,从而获取视频元数据和播放器元数据信息,然后通过CDN/流媒体并启用防盗链验证,验证通过则直接进行播放。
如图3所示,AES-CBC-128对称加密算法的基本原理如下:
AES-128-CBC是一种分组对称加密算法,即用同一组key进行明文和密文的转换,以128bit为一组,128bit==16Byte,意思就是明文的16字节为一组对应加密后的16字节的密文。
若最后剩余的明文不够16字节,需要进行填充,通常采用PKCS7进行填充。比如最后缺3个字节,则填充3个字节的0x03;若最后缺10个字节,则填充10个字节的0x0a;
若明文正好是16个字节的整数倍,最后要再加入一个16字节0x10的组再进行加密。
即发送方使用同一组key将明文利用AES加密函数进行转换得到相应的密文,然后将密文传递给接收方,接收方则使用key将密文再利用AES加密函数转换成明文。
更为具体的,认证流程为:
1) 播放器向流媒体服务器发送获取流媒体认证请求。
2) 流媒体服务器返回密码A。密码A是由流媒体服务器根据自己本机系统时间计算的一个密码,定时更换,具有时效性。(比如,5分钟跟换一次,每个密码10分钟的有效期)。
3) 播放器拿到密码A,再加上自己写死的密码B,通过加密算法计算出密码C。将密码C作为URL参数附加在点播请求后面进行请求。
4) 流媒体在开启防盗链配置的情况下,通过在配置中预置的密码B和系统时间,使用固定算法验证密码C的合法性和时效性。通过则返回数据,失败则拒绝服务。
作为一种优选实施方案:
1) 播放器用 http://ip:port/ess/getTimeKey来请求时效密码。
2) 服务器用XML方式返回1个32位 密码A。(如<timekey>67262734</timekey>)
3) 播放器用这32位密码A作为内存前4字节,后面跟配置预设的字符串B(如SbtStreamingServer),然后采用附件算法计算此内存得到一个32位密码C。
int publicKey = Integer.parseInt(timekey.getText());
String privateKey=Config.getValue("vms.privateKey");
byte[] byteA = new byte[4];
byteA[0] = (byte) (publicKey & 0xff);// 最低位
byteA[1] = (byte) ((publicKey >> 8) & 0xff);// 次低位
byteA[2] = (byte) ((publicKey >> 16) & 0xff);// 次高位
byteA[3] = (byte) (publicKey >>> 24);// 最高位,无符号右移。
byte[] byteB=privateKey.getBytes();
byte[] byteAB=new byte[privateKey.getBytes().length+4];
for(int i=0;i<4;i++){
byteAB[i]=byteA[i];
}
for(int i=0;i<byteB.length;i++){
byteAB[i+4]=byteB[i];
}
int length=(int)(byteAB.length/4)*4;
CRC32 crc=new CRC32();
crc.update(byteAB,0,length);
passkey=crc.getValue();
4) 将密码C作为整数带入URL的参数passkey中,进行请求,获取数据播放。(如http://ip:port/vod/id*fmt=h264_800k_mp4&passkey=29638291)
本方案优点在于:一旦发现防盗链被盗,流媒体只配置新的密钥B',然后播放器只需更改密钥B',重新编译生成新的播放器。流媒体服务器和播放器改动都很小,无需更换算法。
缺点在于:防盗链被盗,云平台中所有流媒体和播放器要统一配置密钥。即播放器要升级,流媒体改配置文件。
作为本发明的进一步改进,CDN防盗链加密公式支持后台选择或配置以修改CDN防盗链加密公式,CDN防盗链加密公式中的固定常量可以单独配置,公式中的变量则通过EL表达式指定获取,EL表达式被替换成实际的加密参数即密码 C,从而算出各不同cdn认可的防盗链密匙。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (5)
1.一种适应于媒体行业的跨平台多终端静态化播放器,其特征在于,该播放器的实现方法如下:
1)配置flash播放器和H5播放器待用;
2)使用JavaScript代码编写通用播放器js文件,同时在播放器js文件内配置调用flash播放器和H5播放器的调用指令;
3)通用播放器js文件通过JavaScript的Navigator对象判断当前加载播放器的浏览器是PC端浏览器还是手机端浏览器;
4)如果通用播放器js文件检查到是手机端浏览器则加载H5播放器,如果检查到是PC端浏览器则加载flash播放器。
2.根据权利要求1所述的一种适应于媒体行业的跨平台多终端静态化播放器,其特征在于,所述播放器还包括一个防盗链步骤,具体步骤如下:
1)通用播放器js文件通过AES-CBC-128算法来获取当前正在使用的播放器jsonp文件,从播放器jsonp文件中获取CDN防盗链加密公式以及加密密匙;
2)通用播放器js文件通过AES-CBC-128算法获取视频jsonp文件,从视频jsonp文件中获得视频播放器地址;
3)通过CDN防盗链加密公式算出一个加密字符串,把字符串带到视频播放地址后面,就可以得到安全的播放。
3.根据权利要求2所述的一种适应于媒体行业的跨平台多终端静态化播放器,其特征在于,所述CDN防盗链加密公式支持后台选择或配置以修改CDN防盗链加密公式。
4.根据权利要求3所述的一种适应于媒体行业的跨平台多终端静态化播放器,其特征在于,所述CDN防盗链加密公式中的固定常量可以单独配置,公式中的变量则通过EL表达式指定获取。
5.根据权利要求4所述的一种适应于媒体行业的跨平台多终端静态化播放器,其特征在于,所述EL表达式被替换成实际的加密参数,从而算出各不同cdn认可的防盗链密匙。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811449656.6A CN109599132A (zh) | 2018-11-30 | 2018-11-30 | 一种适应于媒体行业的跨平台多终端静态化播放器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811449656.6A CN109599132A (zh) | 2018-11-30 | 2018-11-30 | 一种适应于媒体行业的跨平台多终端静态化播放器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109599132A true CN109599132A (zh) | 2019-04-09 |
Family
ID=65959318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811449656.6A Pending CN109599132A (zh) | 2018-11-30 | 2018-11-30 | 一种适应于媒体行业的跨平台多终端静态化播放器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109599132A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112019935A (zh) * | 2019-05-29 | 2020-12-01 | 深圳广播电影电视集团 | 跨平台视频点播文件的处理方法、装置和计算设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100722455B1 (ko) * | 1999-11-16 | 2007-05-28 | 소니 가부시끼 가이샤 | 기록매체, 데이터 기록방법과 장치, 데이터 재생방법과장치 및 복사제어방법 |
EP1724783B1 (en) * | 1999-08-27 | 2009-09-23 | Sony Corporation | Editing apparatus and editing methods |
CN104320377A (zh) * | 2014-09-25 | 2015-01-28 | 华为技术有限公司 | 一种流媒体文件的防盗链方法及设备 |
CN104980771A (zh) * | 2014-04-09 | 2015-10-14 | 中国电信股份有限公司 | 使用iptv进行流媒体点播的方法与系统 |
CN106210825A (zh) * | 2016-08-11 | 2016-12-07 | 成都索贝数码科技股份有限公司 | 支持多终端的融媒体发布播放器生成系统及方法 |
CN107222480A (zh) * | 2017-05-27 | 2017-09-29 | 中国联合网络通信集团有限公司 | 一种流媒体播放方法、终端设备及cdn服务器 |
-
2018
- 2018-11-30 CN CN201811449656.6A patent/CN109599132A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1724783B1 (en) * | 1999-08-27 | 2009-09-23 | Sony Corporation | Editing apparatus and editing methods |
KR100722455B1 (ko) * | 1999-11-16 | 2007-05-28 | 소니 가부시끼 가이샤 | 기록매체, 데이터 기록방법과 장치, 데이터 재생방법과장치 및 복사제어방법 |
CN104980771A (zh) * | 2014-04-09 | 2015-10-14 | 中国电信股份有限公司 | 使用iptv进行流媒体点播的方法与系统 |
CN104320377A (zh) * | 2014-09-25 | 2015-01-28 | 华为技术有限公司 | 一种流媒体文件的防盗链方法及设备 |
CN106210825A (zh) * | 2016-08-11 | 2016-12-07 | 成都索贝数码科技股份有限公司 | 支持多终端的融媒体发布播放器生成系统及方法 |
CN107222480A (zh) * | 2017-05-27 | 2017-09-29 | 中国联合网络通信集团有限公司 | 一种流媒体播放方法、终端设备及cdn服务器 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112019935A (zh) * | 2019-05-29 | 2020-12-01 | 深圳广播电影电视集团 | 跨平台视频点播文件的处理方法、装置和计算设备 |
CN112019935B (zh) * | 2019-05-29 | 2022-06-10 | 深圳广播电影电视集团 | 跨平台视频点播文件的处理方法、装置和计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240022430A1 (en) | Authentication and Binding of Multiple Devices | |
US11228427B2 (en) | System and method for securing content keys delivered in manifest files | |
US10334319B2 (en) | System and method of cloud-based manifest processing | |
US8832726B2 (en) | Video streaming entitlement determined based on the location of the viewer | |
US9819987B2 (en) | Content entitlement determinations for playback of video streams on portable devices | |
US9794240B2 (en) | System and method for signaling and verifying URL signatures for both URL authentication and URL-based content access authorization in adaptive streaming | |
US11259082B2 (en) | Systems and methods for data processing, storage, and retrieval from a server | |
US20160197939A1 (en) | Segment Authentication for Dynamic Adaptive Streaming | |
CN108476134B (zh) | 利用经加扰服务的方法和设备 | |
CN103067174A (zh) | 一种在移动操作系统中完成数字签名的方法和系统 | |
US8266420B2 (en) | System and method for providing secure configuration file provisioning | |
US20120266222A1 (en) | Provisioning using a generic configuration | |
CN109599132A (zh) | 一种适应于媒体行业的跨平台多终端静态化播放器 | |
US8775806B2 (en) | System and method for providing unique encryption key | |
US10873773B2 (en) | Countermeasure for cryptographic cribs | |
EP4016969A1 (en) | Methods for data processing, storage, and retrieval from a server | |
KR101383378B1 (ko) | 다운로드 수신제한 시스템을 이용한 모바일 iptv 서비스 시스템 및 그 방법 | |
CN112600833A (zh) | 点播影院dcp播放设备私钥的云端分布存储系统及方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190409 |