CN104104676B - 一种音视频播放方法和装置 - Google Patents
一种音视频播放方法和装置 Download PDFInfo
- Publication number
- CN104104676B CN104104676B CN201410324389.5A CN201410324389A CN104104676B CN 104104676 B CN104104676 B CN 104104676B CN 201410324389 A CN201410324389 A CN 201410324389A CN 104104676 B CN104104676 B CN 104104676B
- Authority
- CN
- China
- Prior art keywords
- video
- audio frequency
- encryption
- module
- player
- 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
Links
Abstract
本发明提供一种音视频播放方法和装置,其中方法包括如下步骤:读取加密音视频,调用与加密音视频对应的解密库对加密音视频进行解密,将解密后的数据包作为流媒体服务端的资源,调用播放器加载流媒体服务端的资源的URL地址进行播放。本技术方案利用了解密库对加密音视频边解密边传输的做法,避免了将音视频全部解密而占用了大量的空间和处理器资源,同时解密后的数据包通过流媒体服务端的传送到播放器进行播放,由于现有的播放器都支持流媒体,避免了对播放器的修改,可以简单快捷地实现了对加密视频的播放。
Description
技术领域
本发明涉及音视频播放技术领域,尤其涉及一种音视频播放方法和装置。
背景技术
在Android下播放音视频一般是通过SDK提供的MediaPlayer接口来播放,MediaPlayer接口简单易用,调用setDataSource后,调用prepare接口后即可播放,剩下的只是控制播放、暂停、音量等等的参数。这对于播放普通音视频来说是极其方便的接口,但是在某些特殊场景下,需要播放加密后的音视频就产生问题了。播放加密视频需要在音视频数据送入解码器之前就要完成解密的工作。有一种办法是预先将音视频文件解密后存储一份临时的解密后的音视频文件,播放时setDataSource使用该文件,这样才可以正常播放出来。但是如果音视频文件较大,解密所需的时间也变长了,存储解密后的临时文件所需的存储空间也需要更大。另外,Android框架还提供了一个DRM框架来实现对加密音视频的支持。但这需要将现有的解密方式修改支持DRM框架,需要相当大的工作量。
那么在现有技术中,还无法简单方便地在Android上实现对加密音视频的边解密边播放。
发明内容
为此,需要提供一种音视频播放方法和装置,解决在Android实现播放加密视频空间占用多以及边解密边播放加密视频工作量大的问题。
为实现上述目的,发明人提供了一种音视频播放方法,实现方式如下:
包括如下步骤:
读取加密音视频,调用与加密音视频对应的解密库对加密音视频进行解密,将解密后的数据包作为流媒体服务端的资源,调用播放器加载流媒体服务端的资源的URL地址进行播放。
进一步地,所述调用与加密音视频对应解密库进行解密包括如下步骤:通过JNI接口调用加密音视频对应的解密库进行解密。
进一步地,所述读取加密音视频步骤前面还包括对音视频的判断步骤:判断音视频是否为加密音视频,如果音视频为加密音视频则进行读取音视频步骤;否则直接调用播放器进行播放。
进一步地,所述的调用播放器包括调用MediaPlayer播放器。
进一步地,所述的流媒体服务端为HTTP服务端。
以及本发明还提供一种音视频播放装置,包括如下模块:
流媒体服务端模块:用于响应URL请求;
加密音视频读取模块:用于读取加密音视频;
解密模块:用于调用与加密音视频对应的解密库对加密音视频进行解密;
资源设定模块:用于将解密后的数据包作为流媒体服务端模块的资源;
加载播放模块:调用播放器加载流媒体服务端模块的资源的URL地址进行播放;
播放器模块:用于播放音视频。
进一步地,所述解密模块包括JNI调用解密子模块:用于通过JNI接口调用加密音视频对应的解密库进行解密。
进一步地,还包括加密音视频判断模块:用于判断音视频是否为加密音视频,如果音视频为加密音视频则使能加密音视频读取模块;否则直接使能播放器模块。
进一步地,所述的播放器模块为MediaPlayer播放器模块。
进一步地,所述流媒体服务端模块为HTTP服务端模块。
上述中的URL为Uniform Resoure Locator(统一资源定位符)的缩写,是对可以从网络上得到的资源的位置和访问方法的一种简洁的表示,是网上标准资源的地址。
区别于现有技术,上述技术方案具有如下优点:本技术方案利用了解密库对加密音视频边解密边传输的做法,避免了将音视频全部解密而占用了大量的空间和处理器资源,同时解密后的数据包通过流媒体服务端的传送到播放器进行播放,由于现有的播放器都支持流媒体,避免了对播放器的修改,可以简单快捷地实现了对加密视频的播放。
附图说明
图1为本发明方法实施例的流程图;
图2为本发明装置实施例的结构示意图。
附图标记说明:
1、音视频播放装置,
10流媒体服务端模块,
11、加密音视频读取模块,
12、解密模块,
120、JNI调用解密子模块,
13、资源设定模块,
14、加载播放模块,
15、播放器模块,
16、加密音视频判断模块。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1,本实施例提供一种音视频播放方法,可应用于存放有加密音视频的电子设备,电子设备常见的形式可以是移动终端(如平板、手机、MID等)或者计算机,这些电子设备一般预装有操作系统,如安卓系统、苹果系统或者微软系统等,当用户想看存于电子设备上的加密音视频时,首先用户会通过电子设备的输入模块触发播放请求,而后电子设备响应播放请求开始对加密音视频的读取和播放。
首先进行步骤S101读取加密音视频,通过对加密音视频的读取可以得到加密音视频的加密方式以及与之对应的解密库,解密库用于实现对加密视频的边读取边解密,本发明并不限定解密库的类型,可以是通用的解密库或是自定义的解密库。而后在步骤S102调用与加密音视频对应的解密库对加密音视频进行解密,即边读取边解密,解密后会产生一系列与加密音视频的播放时间轴相对应的数据包。由于此时的解密并不是将加密音视频解密为一个完整的文件,而是边读取边解密为小的数据包,并不会占用大的空间和资源,也不用等待长的解密时间。如果将解密后的数据包直接送到播放器进行播放,则现有的播放器无法直接进行播放,要对现有播放器进行大的修改,这个工作量很大,不利于产品的快速上市。为了解决上述问题,本实施例还包括步骤S103将解密后的数据包作为流媒体服务端的资源,最后在步骤S104调用播放器加载流媒体服务端的资源的URL地址进行播放。
上述实施例中并不对播放器进行修改,直接调用播放器即可,减少了修改播放器的工作量。现有的播放器都支持流媒体的播放,如常见的安卓系统的MediaPlayer播放器、苹果系统的QuickTime播放器和微软系统的Window Media Player,这些播放器都是操作系统自带的,可以进行直接的调用。采用的流媒体的协议形式可以是MMS(Microsoft MediaServerprotocol,微软媒体服务器协议)、RTSP(Real Time Streaming Protocol,实时流传输协议)或者HTTP(Hypertext transfer protocol,超文本传输协议),优选为HTTP协议,实现HTTP协议所需要的工作量相对较小,则流媒体服务端为HTTP服务端,即HTTPD。播放器加载流媒体服务端的资源的URL地址时,流媒体服务端会响应URL地址,将URL所对应的流媒体服务端的资源(即解密后的数据包)以流媒体的方式发送到播放器,播放器接收处理流媒体后进行播放。
相对于HTTP协议,URL的形式可以是http://IP[:port]/path,其中IP可以是本机网络IP或者直接采用回送地址127.0.0.1,其中port为端口,可以使用自定义或者常用的如80端口,path是指代路径的字符串,对应于解密后的数据包路径,HTTP服务端据此可以进行解析。
在某些实施例中,本方法的具体实施可以采用一个软件的形式,这个软件可以完成上述方法的步骤,此软件可以不带有播放器功能,可以避免了改变用户的播放器习惯和开发播放器需要大量工作量而影响产品上市时间的问题。在应用时,可以将软件和加密后的音视频同时发送给用户。用户使用软件打开音视频后即可实现对音视频的解密、传输和调用播放器进行播放。为了实现对特定设备的播放,软件(即本方法)在解密步骤前可以判断机器码是否与预设的一致,如果一致则进行解密步骤,否则不进行解密步骤。则当软件和加密音视频放到其他设备上时,则无法进行播放。机器码可以是设备上某一模块的ID,如MAC地址或者存储器序列号。
上述实施例并不限定对解密库具体调用的方式,只要能实现对加密音视频的边读取边解密即可。在某些优选实施例中,这些实施例需支持JNI接口调用技术。JNI是JavaNative Interface的缩写,即JAVA本地调用,则步骤S102具体包括如下步骤:通过JNI接口调用加密音视频对应的解密库进行解密。使用JNI接口调用解密库进行解密,使得这些优选实施例的方法在现有的解密方式进行非常小的改动即可以完成解密工作,并从解密库返回解密后的数据,再次减少了开发的工作量。同时由于JNI接口的通用性,可以兼容更多的平台。
进一步地,为了避免对非加密音视频的处理以及实现对非加密音视频的播放,在某些实施例中,步骤S101读取加密音视频步骤前面还包括对音视频的判断步骤:判断音视频是否为加密音视频,如果音视频为加密音视频则进行读取音视频步骤;否则直接调用播放器进行播放。
综上,本方法可以在现有的播放器基础上简单快速实现地对加密音视频的解密和播放,同时解密时并不占用过多的存储空间,同时由于是边解密边播放,并不需要将整个音视频解密出来,避免了解密整个音视频所需的等待时间,提高了用户的体验度。
以及在上述方法的基础上,为了解决电子设备上播放音视频的问题,本发明还提供一种音视频播放设备1,包括如下模块:流媒体服务端模块10、加密音视频读取模块11、解密模块12、资源设定模块13、加载播放模块14和播放器模块15。
其中,流媒体服务端模块10用于响应URL请求。加密音视频读取模块11用于读取加密音视频。解密模块12用于调用与加密音视频对应的解密库对加密音视频进行解密。资源设定模块13用于将解密后的数据包作为流媒体服务端模块的资源。加载播放模块14调用播放器加载流媒体服务端模块的资源的URL地址进行播放。播放器模块15用于播放音视频。
上述实施例的一种音视频播放设备1形式可以是移动设备或是计算机设备。播放器模块15为常用的播放器模块,如微软系统的Window Media Player播放器模块、安卓系统的MediaPlayer播放器模块。流媒体服务端模块10常见的可以是MMS流媒体服务端模块、RTSP流媒体服务端模块或者HTTP流媒体服务端模块,优选为HTTP流媒体服务端模块,HTTP流媒体服务端模块相对通用,实现起来的步骤和难度将对较小,可加快产品上市的时间。
本装置在使用时,播放器模块15所播放的数据流是流媒体服务端模块10传输的解密模块12传输的解密后的数据包,由于播放器模块15采用的是已有的即可,大大减少了开发的工作量。而且解密模块12解密为流媒体服务端模块10所用数据包为小数据包,并不需要将整个加密音视频进行解密,避免了解密整个加密音视频需要长时间等待的问题。
本装置并不限定解密模块12具体调用解密库的方式,可以采用将解密库整合在解密模块12内部进行实现,优选地,可以采用实现起来更为便捷的方式:即采用JNI调用解密子模块120:用于通过JNI接口调用加密音视频对应的解密库进行解密。JNI接口调用技术可以直接调用现有的解密库,对现有的解密库的修改非常小,大大减少了开发工作,加快了产品进度,减少了产品上市的时间。当然,JNI接口的调用要建立在音视频播放设备1支持JNI接口技术的基础上。
以及为了使得设备1可以播放常规的音视频,进一步,在某些实施例中,设备1还包括加密音视频判断模块16,加密音视频判断模块16用于判断音视频是否为加密音视频,如果音视频为加密音视频则使能加密音视频读取模块11;否则直接使能播放器模块15。则当音视频不是加密的时候,播放器模块15可以对音视频进行直接的播放而不用经过其他模块的处理,达到了播放普通音视频的目的。
上述实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,例如:个人计算机、服务器、网络设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,例如:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
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服务端模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410324389.5A CN104104676B (zh) | 2014-07-09 | 2014-07-09 | 一种音视频播放方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410324389.5A CN104104676B (zh) | 2014-07-09 | 2014-07-09 | 一种音视频播放方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104104676A CN104104676A (zh) | 2014-10-15 |
CN104104676B true CN104104676B (zh) | 2017-11-21 |
Family
ID=51672477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410324389.5A Active CN104104676B (zh) | 2014-07-09 | 2014-07-09 | 一种音视频播放方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104104676B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105847869B (zh) * | 2016-05-24 | 2019-06-18 | 武汉斗鱼网络科技有限公司 | 一种加密播放方法与装置 |
CN108337561B (zh) * | 2017-01-20 | 2021-07-30 | 创盛视联数码科技(北京)有限公司 | 一种基于iOS客户端内部HTTPServer的本地DRM视频流解密方法 |
CN108989886A (zh) * | 2018-08-07 | 2018-12-11 | 福建天泉教育科技有限公司 | 一种播放加密视频的方法及系统 |
CN113163261B (zh) * | 2021-03-17 | 2022-02-01 | 深圳乐播科技有限公司 | 加密视频的解密推送方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101699819A (zh) * | 2009-11-13 | 2010-04-28 | 中国电信股份有限公司 | 数字版权管理方法和系统 |
GB2481341A (en) * | 2007-05-02 | 2011-12-21 | Saffron Digital Ltd | Downloading video data to a mobile device |
CN102685592A (zh) * | 2012-02-17 | 2012-09-19 | 南京邮电大学 | 一种支持数字版权保护的流媒体播放器方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090013174A1 (en) * | 2007-07-04 | 2009-01-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and systems for handling digital rights management |
CN101466020A (zh) * | 2007-12-17 | 2009-06-24 | 上海爱信诺航芯电子科技有限公司 | 一种数字内容格式的解密处理方法 |
CN102012983A (zh) * | 2010-11-19 | 2011-04-13 | 中兴通讯股份有限公司 | 数字版权加密保护技术文件的播放方法、装置及移动终端 |
US20120284802A1 (en) * | 2011-05-02 | 2012-11-08 | Authentec, Inc. | Method for playing digital contents protected with a drm (digital right management) scheme and corresponding system |
-
2014
- 2014-07-09 CN CN201410324389.5A patent/CN104104676B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2481341A (en) * | 2007-05-02 | 2011-12-21 | Saffron Digital Ltd | Downloading video data to a mobile device |
CN101699819A (zh) * | 2009-11-13 | 2010-04-28 | 中国电信股份有限公司 | 数字版权管理方法和系统 |
CN102685592A (zh) * | 2012-02-17 | 2012-09-19 | 南京邮电大学 | 一种支持数字版权保护的流媒体播放器方法 |
Non-Patent Citations (4)
Title |
---|
一种面向Android平台的多媒体数字版权管理系统;王真;《计算机科学(2014)》;20140531(第5期);全文 * |
分布式数字版权管理技术研究与实现;宋健;《中国优秀硕士学位论文全文数据库信息科技辑(2012)》;20120715(第7期);第1.2.1、1.3、2.3、3.1.3、3.1.4、3.2.3、4节,图4.1 * |
基于Android的流媒体播放器研究与设计;许金;《中国优秀硕士学位论文全文数据库信息科技辑(2012)》;20120915(第9期);全文 * |
基于Android的移动流媒体实时传输系统设计与实现;杨光平;《中国优秀硕士学位论文全文数据库信息科技辑(2013)》;20130415(第4期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104104676A (zh) | 2014-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101018526B1 (ko) | 휴대 통신 기기 및 그 제어 방법 | |
US8813246B2 (en) | Method for playing digital contents protected with a DRM (digital right management) scheme and corresponding system | |
US20090063694A1 (en) | Multimedia Access Device, Multimedia Playing System Comprising the Multimedia Access Device, and Multimedia Data Playing Method | |
US20200099992A1 (en) | Method and terminal for playing a video file | |
CN104104676B (zh) | 一种音视频播放方法和装置 | |
WO2016197862A1 (zh) | 一种数据传输方法、装置和智能电视系统 | |
CN102196313A (zh) | 一种跨平台断点续播的方法和装置、断点续播方法和装置 | |
CN103414733B (zh) | Hls流媒体的播放方法及系统 | |
US8719437B1 (en) | Enabling streaming to a media player without native streaming support | |
CN105141567A (zh) | 终端应用和服务端的交互数据处理方法及系统、交互方法 | |
CN105611422A (zh) | 基于多媒体榜单的在线直播方法及装置 | |
US9521467B2 (en) | Method and apparatus for program information exchange and communications system using a program comment instruction | |
CN106936815A (zh) | 一种基于加密音频流的文件传输系统及其方法 | |
CN105100913A (zh) | 视频访问方法和系统、机顶盒、代理服务器、媒体服务器 | |
CN105282624A (zh) | 桌面云视频的播放处理方法及装置 | |
CN110611830A (zh) | 一种视频处理方法、装置、设备及介质 | |
CN105072488A (zh) | 流媒体解密方法及装置 | |
CN103024491A (zh) | 移动终端的视频播放方法和系统 | |
EP2453630A1 (en) | Data card, data card system and multi-media service implementation method | |
CN112565656B (zh) | 视频通话方法、装置、系统、电子设备及存储介质 | |
CN108024140A (zh) | 一种直播方法及系统 | |
CN108279855B (zh) | 一种读写存储设备的方法 | |
CN110290097B (zh) | 数据的处理方法、装置、存储介质和电子装置 | |
US10104422B2 (en) | Multimedia playing control method, apparatus for the same and system | |
CN103281354A (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 |