多媒体文件的播放方法、装置、电子设备及存储介质制造方法及图纸

技术编号:34287333 阅读:24 留言:0更新日期:2022-07-27 08:38
本发明专利技术提供了一种多媒体文件的播放方法、装置、电子设备及存储介质;其中,该方法包括:通过ffmpeg层调用指定协议,以通过指定协议流式读取目标加密多媒体文件,得到加密数据流;通过应用层对加密数据流进行解密,得到解密数据流;通过播放器引擎层和ffmpeg层对解密数据流进行播放处理。该方法中,通过目标加密多媒体文件对应的加密数据以数据流的形式在应用层、播放器引擎层和ffmpeg层各层间流动,实现了数据读取、数据解密和数据播放的无缝衔接,解决了ffmpeg无法读取加密文件以及由于预解密而造成的播放卡顿和播放延时的问题,实现了加密多媒体文件的实时解密播放。加密多媒体文件的实时解密播放。加密多媒体文件的实时解密播放。

【技术实现步骤摘要】
多媒体文件的播放方法、装置、电子设备及存储介质


[0001]本专利技术涉及音视频领域,尤其是涉及一种多媒体文件的播放方法、装置、电子设备及存储介质。

技术介绍

[0002]为了其安全性以及防止其泄露,会对保存的音视频进行加密,例如,对保存在手机中的视频进行加密。目前对于加密的音视频进行播放的方法为根据关键帧将一段音视频切分成多个子音视频块,通过加密模块对每个子音视频块进行加密,将加密后的音视频文件和含有私钥的文本文档上传到储存服务器,播放时对加密后的每个子音视频块进行解密播放。
[0003]上述方法虽然能够在一定程度上避免加解密整个音视频带来的巨大延时和开销,但因子音视频块解密开销依然会带来一定的卡顿和延时,从而导致了加密多媒体文件无法实时解密播放。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种多媒体文件的播放方法、装置、电子设备及存储介质,通过目标加密多媒体文件对应的加密数据以数据流的形式在应用层、播放器引擎层和ffmpeg层各层间流动,实现了数据读取、数据解密和数据播放的无缝衔接,解决了ffmpeg无法读取加密文件以及由于预解密而造成的播放卡顿和播放延时的问题,实现了加密多媒体文件的实时解密播放。
[0005]第一方面,本专利技术实施例提供了一种多媒体文件的播放方法,所述多媒体文件的播放方法包括:
[0006]通过ffmpeg层调用指定协议,以通过所述指定协议流式读取目标加密多媒体文件,得到加密数据流;
[0007]通过应用层对所述加密数据流进行解密,得到解密数据流;
[0008]通过播放器引擎层和所述ffmpeg层对所述解密数据流进行播放处理。
[0009]上述通过ffmpeg层调用指定协议,以通过所述指定协议流式读取目标加密多媒体文件,得到加密数据流的步骤之前,还包括:
[0010]通过应用层获取目标加密多媒体文件的指定协议名和保存地址,并将所述指定协议名与所述保存地址进行拼接,得到目标加密多媒体文件的地址信息,其中,所述指定协议名用于ffmpeg层调用指定协议,以通过所述指定协议基于所述保存地址流式读取目标加密多媒体文件;
[0011]通过播放器引擎层,调用预置的ffmpeg层接口将所述目标加密多媒体文件的地址信息传入所述ffmpeg层中。
[0012]上述通过ffmpeg层调用指定协议,以通过所述指定协议流式读取目标加密多媒体文件,得到加密数据流的步骤,包括:
[0013]通过ffmpeg层获取目标加密多媒体文件的地址信息,并对所述地址信息进行解析,得到指定协议名和保存地址;
[0014]基于所述指定协议名定位指定协议;
[0015]通过所述指定协议基于所述保存地址从存储的磁盘中,将所述目标加密多媒体文件以流的方式读取到内存中,得到加密数据流。
[0016]上述通过所述指定协议基于所述保存地址从存储的磁盘中,将所述目标加密多媒体文件以流的方式读取到内存中,得到加密数据流的步骤,包括:
[0017]调用所述指定协议根据所述指定协议名获取协议上下文,并基于所述协议上下文设置单次读取存储的磁盘中的文件大小;
[0018]获取seek值,基于所述保存地址将所述目标加密多媒体文件的文件偏移位置设置到所述seek值对应的位置,得到文件读取位置;
[0019]调用预置读取函数,基于所述文件读取位置和所述文件大小,将所述目标加密多媒体文件以流的方式读取到内存中,得到加密数据流。
[0020]上述通过应用层对所述加密数据流进行解密,得到解密数据流的步骤,包括:
[0021]将所述加密数据流传入至预置的播放器引擎层,并通过所述播放器引擎层将所述加密数据流传入至应用层;
[0022]通过所述应用层对所述加密数据流进行原始文件头部数据替换,得到解密数据流。
[0023]上述通过所述应用层对所述加密数据流进行原始文件头部数据替换,得到解密数据流的步骤,包括;
[0024]通过所述应用层,基于预置的回调函数获取所述加密数据流的偏移量和读取数据长度;
[0025]基于所述偏移量和读取数据长度,判断所述加密数据流是否对应原始多媒体文件头文件;
[0026]若所述加密数据流对应原始多媒体文件头文件,则获取所述加密数据流中的目标数据;
[0027]将所述目标数据替换为原始多媒体文件的头部数据,得到解密数据流。
[0028]上述通过ffmpeg层调用指定协议,以通过所述指定协议流式读取目标加密多媒体文件,得到加密数据流的步骤之前,还包括:
[0029]对待加密的多媒体文件进行分类,得到第一数据和第二数据,所述第一数据用于指示所述待加密的多媒体文件预设字节位置前的数据,所述第二数据用于指示所述待加密的多媒体文件中预设字节位置后的数据;
[0030]基于预置的流加密算法对所述第一数据进行加密,并对所述第二数据进行单表置换,得到加密多媒体文件。
[0031]上述通过应用层对所述加密数据流进行解密,得到解密数据流的步骤,包括:
[0032]通过应用层调用预置的密码初始化解密模块,基于所述流加密算法对所述加密数据流中的第一数据进行解密,并获取逆映射表,基于所述逆映射表对所述加密数据流中的第二数据进行解密,得到解密数据流。
[0033]第二方面,本专利技术实施例提供了一种多媒体文件的播放装置,所述多媒体文件的
播放装置包括:
[0034]读取模块,用于通过ffmpeg层调用指定协议,以通过所述指定协议流式读取目标加密多媒体文件,得到加密数据流;
[0035]解密模块,用于通过应用层对所述加密数据流进行解密,得到解密数据流;
[0036]播放模块,用于通过播放器引擎层和所述ffmpeg层对所述解密数据流进行播放处理。
[0037]第三方面,本专利技术实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述多媒体文件的播放方法。
[0038]第四方面,本专利技术实施例提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述多媒体文件的播放方法。
[0039]本专利技术实施例带来了以下有益效果:
[0040]上述多媒体文件的播放方法、装置、电子设备及存储介质,通过ffmpeg层调用指定协议,以通过指定协议流式读取目标加密多媒体文件,得到加密数据流;通过应用层对加密数据流进行解密,得到解密数据流;通过播放器引擎层和ffmpeg层对解密数据流进行播放处理。该方法中,通过目标加密多媒体文件对应的加密数据以数据流的形式在应用层、播放器引擎层和ffmpeg层各层间流动,实现了数据读取、数据解密和数据播放的无缝衔接,解决了ffmpeg无法读取加密文件以及由于预解密而造成的播放卡顿和播放延时的问题,实现了加密多媒体文件的实时解密播放。
[004本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多媒体文件的播放方法,其特征在于,所述方法包括:通过ffmpeg层调用指定协议,以通过所述指定协议流式读取目标加密多媒体文件,得到加密数据流;通过应用层对所述加密数据流进行解密,得到解密数据流;通过播放器引擎层和所述ffmpeg层对所述解密数据流进行播放处理。2.根据权利要求1所述的方法,其特征在于,所述通过ffmpeg层调用指定协议,以通过所述指定协议流式读取目标加密多媒体文件,得到加密数据流的步骤之前,还包括:通过应用层获取目标加密多媒体文件的指定协议名和保存地址,并将所述指定协议名与所述保存地址进行拼接,得到目标加密多媒体文件的地址信息,其中,所述指定协议名用于ffmpeg层调用指定协议,以通过所述指定协议基于所述保存地址流式读取目标加密多媒体文件;通过播放器引擎层,调用预置的ffmpeg层接口将所述目标加密多媒体文件的地址信息传入所述ffmpeg层中。3.根据权利要求2所述的方法,其特征在于,所述通过ffmpeg层调用指定协议,以通过所述指定协议流式读取目标加密多媒体文件,得到加密数据流的步骤,包括:通过ffmpeg层获取目标加密多媒体文件的地址信息,并对所述地址信息进行解析,得到指定协议名和保存地址;基于所述指定协议名定位指定协议;通过所述指定协议基于所述保存地址从存储的磁盘中,将所述目标加密多媒体文件以流的方式读取到内存中,得到加密数据流。4.根据权利要求3所述的方法,其特征在于,所述通过所述指定协议基于所述保存地址从存储的磁盘中,将所述目标加密多媒体文件以流的方式读取到内存中,得到加密数据流的步骤,包括:调用所述指定协议根据所述指定协议名获取协议上下文,并基于所述协议上下文设置单次读取存储的磁盘中的文件大小;获取seek值,基于所述保存地址将所述目标加密多媒体文件的文件偏移位置设置到所述seek值对应的位置,得到文件读取位置;调用预置读取函数,基于所述文件读取位置和所述文件大小,将所述目标加密多媒体文件以流的方式读取到内存中,得到加密数据流。5.根据权利要求1所述的方法,其特征在于,所述通过应用层对所述加密数据流进行解密,得到解密数据流的步骤,包括:将所述加密数据流传入至预置的播放器引擎层,并通过所述播放器引擎层将所述加密数据流传入至应用层;通过所述应用层对所述加密数据流进行原始文件头部数据替换,得到解密数据流。6.根据权利要求...

【专利技术属性】
技术研发人员:何钰堂
申请(专利权)人:广州博冠信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1