一种音视频播放方法和装置制造方法

文档序号:7808491阅读:245来源:国知局
一种音视频播放方法和装置制造方法
【专利摘要】本发明提供一种音视频播放方法和装置,其中方法包括如下步骤:读取加密音视频,调用与加密音视频对应的解密库对加密音视频进行解密,将解密后的数据包作为流媒体服务端的资源,调用播放器加载流媒体服务端的资源的URL地址进行播放。本技术方案利用了解密库对加密音视频边解密边传输的做法,避免了将音视频全部解密而占用了大量的空间和处理器资源,同时解密后的数据包通过流媒体服务端的传送到播放器进行播放,由于现有的播放器都支持流媒体,避免了对播放器的修改,可以简单快捷地实现了对加密视频的播放。
【专利说明】一种音视频播放方法和装置

【技术领域】
[0001] 本发明涉及音视频播放【技术领域】,尤其涉及一种音视频播放方法和装置。

【背景技术】
[0002] 在Android下播放音视频一般是通过SDK提供的MediaPlayer接口来播放, MediaPlayer接口简单易用,调用setDataSource后,调用prepare接口后即可播放,剩下的 只是控制播放、暂停、音量等等的参数。这对于播放普通音视频来说是极其方便的接口,但 是在某些特殊场景下,需要播放加密后的音视频就产生问题了。播放加密视频需要在音视 频数据送入解码器之前就要完成解密的工作。有一种办法是预先将音视频文件解密后存储 一份临时的解密后的音视频文件,播放时setDataSource使用该文件,这样才可以正常播 放出来。但是如果音视频文件较大,解密所需的时间也变长了,存储解密后的临时文件所需 的存储空间也需要更大。另外,Android框架还提供了一个DRM框架来实现对加密音视频 的支持。但这需要将现有的解密方式修改支持DRM框架,需要相当大的工作量。
[0003] 那么在现有技术中,还无法简单方便地在Android上实现对加密音视频的边解密 边播放。


【发明内容】

[0004] 为此,需要提供一种音视频播放方法和装置,解决在Android实现播放加密视频 空间占用多以及边解密边播放加密视频工作量大的问题。
[0005] 为实现上述目的,发明人提供了一种音视频播放方法,实现方式如下:
[0006] 包括如下步骤:
[0007] 读取加密音视频,调用与加密音视频对应的解密库对加密音视频进行解密,将解 密后的数据包作为流媒体服务端的资源,调用播放器加载流媒体服务端的资源的URL地址 进行播放。
[0008] 进一步地,所述调用与加密音视频对应解密库进行解密包括如下步骤:通过JNI 接口调用加密音视频对应的解密库进行解密。
[0009] 进一步地,所述读取加密音视频步骤前面还包括对音视频的判断步骤:判断音视 频是否为加密音视频,如果音视频为加密音视频则进行读取音视频步骤;否则直接调用播 放器进行播放。
[0010] 进一步地,所述的调用播放器包括调用MediaPlayer播放器。
[0011] 进一步地,所述的流媒体服务端为HTTP服务端。
[0012] 以及本发明还提供一种音视频播放装置,包括如下模块:
[0013] 流媒体服务端模块:用于响应URL请求;
[0014] 加密音视频读取模块:用于读取加密音视频;
[0015] 解密模块:用于调用与加密音视频对应的解密库对加密音视频进行解密;
[0016] 资源设定模块:用于将解密后的数据包作为流媒体服务端模块的资源;
[0017] 加载播放模块:调用播放器加载流媒体服务端模块的资源的URL地址进行播放;
[0018] 播放器模块:用于播放音视频。
[0019] 进一步地,所述解密模块包括JNI调用解密子模块:用于通过JNI接口调用加密音 视频对应的解密库进行解密。
[0020] 进一步地,还包括加密音视频判断模块:用于判断音视频是否为加密音视频,如果 音视频为加密音视频则使能加密音视频读取模块;否则直接使能播放器模块。
[0021] 进一步地,所述的播放器模块为MediaPlayer播放器模块。
[0022] 进一步地,所述流媒体服务端模块为HTTP服务端模块。
[0023] 上述中的URL为Uniform Resoure Locator (统一资源定位符)的缩写,是对可以 从网络上得到的资源的位置和访问方法的一种简洁的表示,是网上标准资源的地址。
[0024] 区别于现有技术,上述技术方案具有如下优点:本技术方案利用了解密库对加密 音视频边解密边传输的做法,避免了将音视频全部解密而占用了大量的空间和处理器资 源,同时解密后的数据包通过流媒体服务端的传送到播放器进行播放,由于现有的播放器 都支持流媒体,避免了对播放器的修改,可以简单快捷地实现了对加密视频的播放。

【专利附图】

【附图说明】
[0025] 图1为本发明方法实施例的流程图;
[0026] 图2为本发明装置实施例的结构示意图。
[0027] 附图标记说明:
[0028] 1、音视频播放装置,
[0029] 10流媒体服务端模块,
[0030] 11、加密音视频读取模块,
[0031] 12、解密模块,
[0032] 120、JNI调用解密子模块,
[0033] 13、资源设定模块,
[0034] 14、加载播放模块,
[0035] 15、播放器模块,
[0036] 16、加密音视频判断模块。

【具体实施方式】
[0037] 为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实 施例并配合附图详予说明。
[0038] 请参阅图1,本实施例提供一种音视频播放方法,可应用于存放有加密音视频的电 子设备,电子设备常见的形式可以是移动终端(如平板、手机、MID等)或者计算机,这些电 子设备一般预装有操作系统,如安卓系统、苹果系统或者微软系统等,当用户想看存于电子 设备上的加密音视频时,首先用户会通过电子设备的输入模块触发播放请求,而后电子设 备响应播放请求开始对加密音视频的读取和播放。
[0039] 首先进行步骤S101读取加密音视频,通过对加密音视频的读取可以得到加密音 视频的加密方式以及与之对应的解密库,解密库用于实现对加密视频的边读取边解密,本 发明并不限定解密库的类型,可以是通用的解密库或是自定义的解密库。而后在步骤S102 调用与加密音视频对应的解密库对加密音视频进行解密,即边读取边解密,解密后会产生 一系列与加密音视频的播放时间轴相对应的数据包。由于此时的解密并不是将加密音视频 解密为一个完整的文件,而是边读取边解密为小的数据包,并不会占用大的空间和资源,也 不用等待长的解密时间。如果将解密后的数据包直接送到播放器进行播放,则现有的播放 器无法直接进行播放,要对现有播放器进行大的修改,这个工作量很大,不利于产品的快速 上市。为了解决上述问题,本实施例还包括步骤S103将解密后的数据包作为流媒体服务端 的资源,最后在步骤S104调用播放器加载流媒体服务端的资源的URL地址进行播放。
[0040] 上述实施例中并不对播放器进行修改,直接调用播放器即可,减少了修改播放器 的工作量。现有的播放器都支持流媒体的播放,如常见的安卓系统的MediaPlayer播放器、 苹果系统的QuickTime播放器和微软系统的Window Media Player,这些播放器都是操作系 统自带的,可以进行直接的调用。采用的流媒体的协议形式可以是丽S(Microsoft Media Serverprotocol,微软媒体服务器协议)、RTSP (Real Time Streaming Protocol,实时流传 输协议)或者HTTP (Hypertext transfer protocol,超文本传输协议),优选为HTTP协议, 实现HTTP协议所需要的工作量相对较小,则流媒体服务端为HTTP服务端,即HTTPD。播放 器加载流媒体服务端的资源的URL地址时,流媒体服务端会响应URL地址,将URL所对应的 流媒体服务端的资源(即解密后的数据包)以流媒体的方式发送到播放器,播放器接收处 理流媒体后进行播放。
[0041] 相对于HTTP协议,URL的形式可以是http://IP[:port]/path,其中IP可以是本 机网络IP或者直接采用回送地址127. 0. 0. 1,其中port为端口,可以使用自定义或者常用 的如80端口,path是指代路径的字符串,对应于解密后的数据包路径,HTTP服务端据此可 以进行解析。
[0042] 在某些实施例中,本方法的具体实施可以采用一个软件的形式,这个软件可以完 成上述方法的步骤,此软件可以不带有播放器功能,可以避免了改变用户的播放器习惯和 开发播放器需要大量工作量而影响产品上市时间的问题。在应用时,可以将软件和加密后 的音视频同时发送给用户。用户使用软件打开音视频后即可实现对音视频的解密、传输和 调用播放器进行播放。为了实现对特定设备的播放,软件(即本方法)在解密步骤前可以 判断机器码是否与预设的一致,如果一致则进行解密步骤,否则不进行解密步骤。则当软件 和加密音视频放到其他设备上时,则无法进行播放。机器码可以是设备上某一模块的ID,如 MAC地址或者存储器序列号。
[0043] 上述实施例并不限定对解密库具体调用的方式,只要能实现对加密音视频的边读 取边解密即可。在某些优选实施例中,这些实施例需支持JNI接口调用技术。JNI是Java Native Interface的缩写,即JAVA本地调用,则步骤S102具体包括如下步骤:通过JNI接 口调用加密音视频对应的解密库进行解密。使用JNI接口调用解密库进行解密,使得这些 优选实施例的方法在现有的解密方式进行非常小的改动即可以完成解密工作,并从解密库 返回解密后的数据,再次减少了开发的工作量。同时由于JNI接口的通用性,可以兼容更多 的平台。
[0044] 进一步地,为了避免对非加密音视频的处理以及实现对非加密音视频的播放,在 某些实施例中,步骤S101读取加密音视频步骤前面还包括对音视频的判断步骤:判断音视 频是否为加密音视频,如果音视频为加密音视频则进行读取音视频步骤;否则直接调用播 放器进行播放。
[0045] 综上,本方法可以在现有的播放器基础上简单快速实现地对加密音视频的解密和 播放,同时解密时并不占用过多的存储空间,同时由于是边解密边播放,并不需要将整个音 视频解密出来,避免了解密整个音视频所需的等待时间,提高了用户的体验度。
[0046] 以及在上述方法的基础上,为了解决电子设备上播放音视频的问题,本发明还提 供一种音视频播放设备1,包括如下模块:流媒体服务端模块10、加密音视频读取模块11、 解密模块12、资源设定模块13、加载播放模块14和播放器模块15。
[0047] 其中,流媒体服务端模块10用于响应URL请求。加密音视频读取模块11用于读 取加密音视频。解密模块12用于调用与加密音视频对应的解密库对加密音视频进行解密。 资源设定模块13用于将解密后的数据包作为流媒体服务端模块的资源。加载播放模块14 调用播放器加载流媒体服务端模块的资源的URL地址进行播放。播放器模块15用于播放 音视频。
[0048] 上述实施例的一种音视频播放设备1形式可以是移动设备或是计算机设备。播放 器模块15为常用的播放器模块,如微软系统的Window Media Player播放器模块、安卓系 统的MediaPlayer播放器模块。流媒体服务端模块10常见的可以是MMS流媒体服务端模 块、RTSP流媒体服务端模块或者HTTP流媒体服务端模块,优选为HTTP流媒体服务端模块, HTTP流媒体服务端模块相对通用,实现起来的步骤和难度将对较小,可加快产品上市的时 间。
[0049] 本装置在使用时,播放器模块15所播放的数据流是流媒体服务端模块10传输的 解密模块12传输的解密后的数据包,由于播放器模块15采用的是已有的即可,大大减少了 开发的工作量。而且解密模块12解密为流媒体服务端模块10所用数据包为小数据包,并 不需要将整个加密音视频进行解密,避免了解密整个加密音视频需要长时间等待的问题。
[0050] 本装置并不限定解密模块12具体调用解密库的方式,可以采用将解密库整合在 解密模块12内部进行实现,优选地,可以采用实现起来更为便捷的方式:即采用JNI调用解 密子模块120 :用于通过JNI接口调用加密音视频对应的解密库进行解密。JNI接口调用技 术可以直接调用现有的解密库,对现有的解密库的修改非常小,大大减少了开发工作,加快 了产品进度,减少了产品上市的时间。当然,JNI接口的调用要建立在音视频播放设备1支 持JNI接口技术的基础上。
[0051] 以及为了使得设备1可以播放常规的音视频,进一步,在某些实施例中,设备1还 包括加密音视频判断模块16,加密音视频判断模块16用于判断音视频是否为加密音视频, 如果音视频为加密音视频则使能加密音视频读取模块11 ;否则直接使能播放器模块15。则 当音视频不是加密的时候,播放器模块15可以对音视频进行直接的播放而不用经过其他 模块的处理,达到了播放普通音视频的目的。
[0052] 上述实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来 完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方 法所述的全部或部分步骤。所述计算机设备,例如:个人计算机、服务器、网络设备、智能 移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,例如:RAM、 ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储 等。
[0053] 以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用 本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关 的【技术领域】,均同理包括在本发明的专利保护范围内。
【权利要求】
1. 一种音视频播放方法,其特征在于:包括如下步骤: 读取加密音视频,调用与加密音视频对应的解密库对加密音视频进行解密,将解密后 的数据包作为流媒体服务端的资源,调用播放器加载流媒体服务端的资源的URL地址进行 播放。
2. 根据权利要求1所述的音视频播放方法,其特征在于:所述调用与加密音视频对应 解密库进行解密包括如下步骤:通过JNI接口调用加密音视频对应的解密库进行解密。
3. 根据权利要求1所述的音视频播放方法,其特征在于:所述读取加密音视频步骤前 面还包括对音视频的判断步骤:判断音视频是否为加密音视频,如果音视频为加密音视频 则进行读取音视频步骤;否则直接调用播放器进行播放。
4. 根据权利要求1到3任一项所述的音视频播放方法,其特征在于:所述的调用播放 器包括调用MediaPlayer播放器。
5. 根据权利要求1到3任一项所述的音视频播放方法,其特征在于:所述的流媒体服 务端为HTTP服务端。
6. -种音视频播放装置,其特征在于:包括如下模块: 流媒体服务端模块:用于响应URL请求; 加密音视频读取模块:用于读取加密音视频; 解密模块:用于调用与加密音视频对应的解密库对加密音视频进行解密; 资源设定模块:用于将解密后的数据包作为流媒体服务端模块的资源; 加载播放模块:调用播放器加载流媒体服务端模块的资源的URL地址进行播放; 播放器模块:用于播放音视频。
7. 根据权利要求6所述的音视频播放装置,其特征在于:所述解密模块包括JNI调用 解密子模块:用于通过JNI接口调用加密音视频对应的解密库进行解密。
8. 根据权利要求6所述的音视频播放装置,其特征在于:还包括加密音视频判断模块: 用于判断音视频是否为加密音视频,如果音视频为加密音视频则使能加密音视频读取模 块;否则直接使能播放器模块。
9. 根据权利要求6到8任一项所述的音视频播放装置,其特征在于:所述的播放器模 块为MediaPlayer播放器模块。
10. 根据权利要求6到8任一项所述的音视频播放装置,其特征在于:所述流媒体服务 端模块为HTTP服务端模块。
【文档编号】H04N21/44GK104104676SQ201410324389
【公开日】2014年10月15日 申请日期:2014年7月9日 优先权日:2014年7月9日
【发明者】郑远, 林剑宇 申请人:福建星网视易信息系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1