CN113301038A - web端视频播放方法及装置 - Google Patents

web端视频播放方法及装置 Download PDF

Info

Publication number
CN113301038A
CN113301038A CN202110551305.1A CN202110551305A CN113301038A CN 113301038 A CN113301038 A CN 113301038A CN 202110551305 A CN202110551305 A CN 202110551305A CN 113301038 A CN113301038 A CN 113301038A
Authority
CN
China
Prior art keywords
video
file
wasm
web
key
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
Application number
CN202110551305.1A
Other languages
English (en)
Other versions
CN113301038B (zh
Inventor
金潇泽
陈堃
罗亚明
江文乐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110551305.1A priority Critical patent/CN113301038B/zh
Publication of CN113301038A publication Critical patent/CN113301038A/zh
Application granted granted Critical
Publication of CN113301038B publication Critical patent/CN113301038B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明可用于信息安全技术领域,本发明提供了一种web端视频播放方法及装置,web端视频播放方法包括:根据C语言代码以及依赖库生成wasm文件;对待播放视频进行切片,得到多个视频分片;对每个视频分片对称加密,得到加密后的视频分片以及对应的密钥;根据wasm文件以及所述密钥、所述加密后的视频分片在web端播放所述待播放视频。本发明所提供的web端视频播放方法及装置使用私有方法加密,可防止用户自行解密播放的视频文件。另一方便,本发明利用WebAssembly技术,可以起到高效解密视频的技术效果。

Description

web端视频播放方法及装置
技术领域
本发明属于信息安全技术领域,具体涉及一种web端视频播放方法及装置。
背景技术
现有影视视频由于其制作成本的加大,推出会员或者付费的观看模式,例如:部分视频具有私密性(如会员专属观看视频),视频网站(如优酷、bilibili、youtube等)需要防止视频被用户私自下载、传播、泄露。即均允许用户观看视频而不允许用户下载、分享视频。
现有技术一般采用基于HLS公有协议,服务端使用AES等方法对视频进行加密,并将加密密钥通发送给web端,web端浏览器使用密钥解密并播放视频。用户下载的视频资源为加密后的文件,无法直接播放。以上所述的现有技术中,视频的下载、解密、播放等所有步骤完全依赖于web浏览器,程序无法对其中任一步骤进行控制、处理。
当前技术加解密方案基于开放的HLS公有协议。使用此种方式,用户下载的资源为加密后的文件,但公有协议意味着加密方式、加密密钥为公开的,实现了该协议的浏览器或程序均可下载、解密视频。此方式增加了下载视频明文的难度,但仍无法杜绝用户自行解密,以保护视频制作方的知识产权。
发明内容
本发明属于信息安全技术领域,其所提供的web端视频播放方法及装置使用私有方法加密,可防止用户自行解密播放的视频文件。另一方便,本发明利用WebAssembly技术,可以起到高效解密视频的技术效果。
为解决上述技术问题,本发明提供以下技术方案:
第一方面,本发明提供一种web端视频播放方法,包括:
根据C语言代码以及依赖库生成wasm文件;
对待播放视频进行切片,得到多个视频分片;
对每个视频分片对称加密,得到加密后的视频分片以及对应的密钥;
根据wasm文件以及所述密钥、所述加密后的视频分片在web端播放所述待播放视频。
一实施例中,所述根据C语言代码以及依赖库生成wasm文件包括:
利用emcc工具编译C入口文件及相关依赖库生成LLVM字节码文件;
利用emscripten工具将所述LLVM字节码文件编译为所述wasm代码文件;
所述相关依赖库包括aes库,FFmpeg库以及emscripten库。
一实施例中,在所述根据wasm文件以及所述密钥、所述加密后的视频分片在web端播放所述待播放视频之前,还包括:
根据浏览器加载并执行所述wasm文件。
一实施例中,所述对待播放视频进行切片,得到多个视频分片包括:
利用FFmpeg对视频进行切片处理,得到所述多个视频分片及切片列表。
一实施例中,所述对每个视频分片对称加密,得到加密后的视频分片以及对应的密钥包括:
利用key对每个切片视频进行加密标准算法加密,得到所述加密后的视频分片以及对应的密钥;
在浏览器中加载并执行所述wasm代码文件;
利用wasm代码加载所述密钥以及所述视频分片;
根据所述wasm代码以及所述密钥对所述视频分片进行解密。
一实施例中,所述根据wasm文件以及所述密钥、所述加密后的视频分片在web端播放所述待播放视频,包括:
创建Worker线程;
利用worker线程调用所述wasm代码以及所述密钥对所述视频分片进行解密,以播放所述视频分片。
第二方面,本发明提供一种web端视频播放装置,包括:
Wasm文件生成模块,用于根据C语言代码以及依赖库生成wasm文件;
视频切分模块,用于对待播放视频进行切片,得到多个视频分片;
视频加密模块,用于对每个视频分片对称加密,得到加密后的视频分片以及对应的密钥;
视频播放模块,用于根据wasm文件以及所述密钥、所述加密后的视频分片在web端播放所述待播放视频。
一实施例中,所述Wasm文件生成模块包括:
字节码生成单元,用于利用emcc工具编译C入口文件及相关依赖库生成LLVM字节码文件;
字节码编译单元,用于利用emscripten工具将所述LLVM字节码文件编译为所述wasm代码文件;
所述相关依赖库包括aes库,FFmpeg库以及emscripten库。
一实施例中,web端视频播放装置还包括:
浏览器加载模块,用于根据浏览器加载并执行所述wasm文件。
一实施例中,所述视频切分模块具体用于利用FFmpeg对视频进行切片处理,得到所述多个视频分片及切片列表。
一实施例中,所述视频加密模块包括:
密钥生成单元,用于利用key对每个切片视频进行加密标准算法加密,得到所述加密后的视频分片以及对应的密钥;
文件执行单元,用于在浏览器中加载并执行所述wasm代码文件;
视频分片加载单元,用于利用wasm代码加载所述密钥以及所述视频分片;
视频分片解密单元,用于根据所述wasm代码以及所述密钥对所述视频分片进行解密。
一实施例中,所述视频播放模块包括:
线程创建单元,用于创建Worker线程;
视频播放单元,用于利用worker线程调用所述wasm代码以及所述密钥对所述视频分片进行解密,以播放所述视频分片。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现web端视频播放方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现web端视频播放方法的步骤。
从上述描述可知,本发明实施例提供的web端视频播放方法及装置,首先根据C语言代码以及依赖库生成wasm文件;对待播放视频进行切片,得到多个视频分片;接着,对每个视频分片对称加密,得到加密后的视频分片以及对应的密钥;最后根据wasm文件以及密钥、加密后的视频分片在web端播放待播放视频。一方面,本发明使用私有方法加密,可防止用户自行解密播放的视频文件,并获得源视频私自传播,另一方面,本发明利用WebAssembly技术,高效解密视频,防止播放卡顿。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实施例中web端视频播放方法流程示意图一;
图2为本发明的实施例中web端视频播放方法中步骤100的流程示意图;
图3为本发明的实施例中web端视频播放方法流程示意图二;
图4为本发明的实施例中web端视频播放方法中步骤200的流程示意图;
图5为本发明的实施例中web端视频播放方法中步骤300的流程示意图;
图6为本发明的实施例中web端视频播放方法中步骤400的流程示意图;
图7为本发明的具体应用实例中web端视频播放系统的网络结构图;
图8为本发明的具体应用实例中对目标视频进行视频分片的流程示意图;
图9为本发明的具体应用实例中播放视频解密的流程示意图;
图10为本发明的具体应用实例中web端视频播放装置的结构示意图一;
图11为本发明的具体应用实例中Wasm文件生成模块10的结构示意图;
图12为本发明的具体应用实例中web端视频播放装置的结构示意图二;
图13为本发明的具体应用实例中视频加密模块30的结构示意图;
图14为本发明的具体应用实例中视频播放模块40的结构示意图;
图15为本发明的实施例中的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
本发明的实施例提供一种web端视频播放方法的具体实施方式,参见图1,该方法具体包括如下内容:
步骤100:根据C语言代码以及依赖库生成wasm文件。
具体地,根据WebAssembly方法,对步骤100中的C语言代码以及依赖库进行编译,以生成wasm文件(WebAssembly模块文件)。
步骤200:对待播放视频进行切片,得到多个视频分片。
视频切片是将视频文件切分成若干个ts文件,当用户看一段加载一段,视频无缝播放用户体验良好,当用户暂停获跳出就不再继续加载,这更大的程度的节省了带宽。
步骤300:对每个视频分片对称加密,得到加密后的视频分片以及对应的密钥;
具体地,对每个视频分片采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密。另外,可以理解的是,这里的“对称”是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。算法是一组规则,规定如何进行加密和解密。
步骤400:根据wasm文件以及所述密钥、所述加密后的视频分片在web端播放所述待播放视频。
具体地,首先使用wasm文件以及密钥解密加密后的视频分片,然后将解密后的视频分片进行重组,最后在web端播放重组后的视频。
从上述描述可知,本发明实施例提供的web端视频播放方法,首先根据C语言代码以及依赖库生成wasm文件;对待播放视频进行切片,得到多个视频分片;接着,对每个视频分片对称加密,得到加密后的视频分片以及对应的密钥;最后根据wasm文件以及密钥、加密后的视频分片在web端播放待播放视频。一方面,本发明使用私有方法加密,可防止用户自行解密播放的视频文件,并获得源视频私自传播,另一方面,本发明利用WebAssembly技术,高效解密视频,防止播放卡顿。
一实施例中,参见图2,步骤100进一步包括:
步骤101:利用emcc工具编译C入口文件及相关依赖库生成LLVM字节码文件;
步骤102:利用emscripten工具将所述LLVM字节码文件编译为所述wasm代码文件;
所述相关依赖库包括aes库,FFmpeg库以及emscripten库。
在步骤101以及步骤102中,首先准备C入口文件、aes加解密依赖库、FFmpeg依赖库和emscipten依赖库;接着,通过emcc编译C入口文件、aes加解密依赖库、FFmpeg依赖库和emscipten依赖库,得到LLVM字节码;最后通过Emscripten编译LLVM字节码,得到webassembly和asm.js模块文件。webassembly和asm.js模块文件可以适用于浏览器中并能够通过密钥解密视频切片。
一实施例中,参见图3,web端视频播放方法在步骤400之前包括:
步骤500:根据浏览器加载并执行所述wasm文件。
可以理解的是,WebAssembly是一种将C语言(或其他语言)代码编译为浏览器上可执行代码的技术。其编译所得到的为wasm文件(WebAssembly模块文件)及js文件。WebAssembly允许预先使用“编译”的方法将C语言(或其他语言)代码编译成wasm代码。浏览器将wasm代码直接转换为机器代码并运行。
实际上,WebAssembly和IR差不多,是用于充当各种机器架构翻译官的角色。WebAssembly并不是直接的物理机器语言,而是抽象出来的一种虚拟的机器语言。从WebAssembly到机器语言虽说也需要一个“翻译”过程,但是在这里的“翻译”就没有太多的套路了,属于机器语言到机器语言的翻译,所以速度上非常接近纯机器语言了。相比解释运行的javascript代码,机器代码的运行效率大幅提升,且所有优化都可以在编译的时候直接确定,不再需要JIT来动态得进行优化了。
一实施例中,参见图4,步骤200进一步包括:
步骤201:利用FFmpeg对视频进行切片处理,得到所述多个视频分片及切片列表。
一实施例中,参见图5,步骤300进一步包括:
步骤301:利用key对每个切片视频进行加密标准算法加密,得到所述加密后的视频分片以及对应的密钥;
步骤302:在浏览器中加载并执行所述wasm代码文件;
步骤303:利用wasm代码加载所述密钥以及所述视频分片;
步骤304:根据所述wasm代码以及所述密钥对所述视频分片进行解密。
具体地,使用key对每个切片视频文件进行aes加密,并存储视频文件切片及对应加密密钥key。高级加密标准(Advanced Encryption Standard,aes),又称Rijndael加密法,具体地,加密过程是在一个4×4的字节矩阵上运作,这个矩阵又称为“体(state)”,其初值就是一个明文区块(矩阵中一个元素大小就是明文区块中的一个Byte)。(Rijndael加密法因支持更大的区块,其矩阵行数可视情况增加)加密时,各轮AES加密循环(除最后一轮外)均包含4个步骤:字节替代、行移位、列混淆和轮密钥加。解密过程分别为对应的逆操作。由于每一步操作都是可逆的,按照相反的顺序进行解密即可恢复明文。加解密中每轮的密钥分别由初始密钥扩展得到。算法中16字节的明文、密文和轮密钥都以一个4x4的矩阵表示。
一实施例中,参见图6,步骤400进一步包括:
步骤401:创建Worker线程;
步骤402:利用worker线程调用所述wasm代码以及所述密钥对所述视频分片进行解密,以播放所述视频分片。
在步骤401以及步骤402中,首先创建Worker线程,接着,主线程发送开始播放消息给Worker线程。Worker线程从服务器请求视频对应的加密密钥Key。Worker线程从服务器请求视频对应的视频切片列表。Worker线程从服务器请求列表中的视频切片。Worker线程调用WebAssembly模块,解密视频切片,并输出视频帧数据。
为进一步地说明本方案,本发明还以WebAssembly编译方法为例,提供web端视频播放方法的具体应用实例。首先介绍几个技术术语:
WebAssembly:一种将C语言(或其他语言)代码编译为浏览器上可执行代码的技术。编译所得到的为wasm文件(WebAssembly模块文件)及js文件。
Emscripten(编译器):将C代码编译为WebAssembly模块的工具。
Web worker:浏览器上JavaScript语言多线程任务执行的技术。
视频切片:将完整视频切片分为多个短视频。有利于浏览器web环境无需整个视频完整下载,而是按用户需求分段分发。
在本发明具体应用实例中,还提供一种web端视频播放系统,参见图7,该系统包括:用户浏览器端,服务端。服务端与浏览器端通过共用网络相连。
S1:对目标视频进行视频分片。
参见图8,首先使用FFmpeg等工具对视频进行切片处理,生成视频切边文件及切片列表。接着,使用key对每个切片视频文件进行aes加密。最后存储视频文件切片及对应加密密钥key。
S2:利用WebAssembly进行编译。
具体地,webassembly视频解析器的编译过程包括以下步骤:
(1)准备C入口文件、aes加解密依赖库、FFmpeg依赖库和emscipten依赖库;
(2)通过emcc编译(1)中的文件,得到LLVM字节码;
(3)通过Emscripten编译LLVM字节码,得到webassembly和asm.js模块文件。
webassembly和asm.js可以适用于浏览器中并能够提供通过密钥解密视频切片的能力。
S3:对视频分片进行解密。
参见图9,首先从服务器下载如上步骤S2所述的WebAssembly模块及对应js文件,并调用浏览器接口加载模块。创建Worker线程。开始播放视频,主线程发送开始播放消息给Worker线程。Worker线程从服务器请求视频对应的加密密钥Key。Worker线程从服务器请求视频对应的视频切片列表。Worker线程从服务器请求列表中的视频切片。Worker线程调用WebAssembly模块,解密视频切片,并输出视频帧数据。Worker线程发送视频帧数据给主线程,主线程将帧数据渲染到浏览器页面上。Worker读取切片列表,如果未完成,则读取列表中下一个视频切片,否则发送播放完成的消息给主线程。最后由主线程销毁Worker线程。
从上述描述可知,本发明实施例提供的web端视频播放方法,首先根据C语言代码以及依赖库生成wasm文件;对待播放视频进行切片,得到多个视频分片;接着,对每个视频分片对称加密,得到加密后的视频分片以及对应的密钥;最后根据wasm文件以及密钥、加密后的视频分片在web端播放待播放视频。一方面,本发明使用私有方法加密,可防止用户自行解密播放的视频文件,并获得源视频私自传播,另一方面,本发明利用WebAssembly技术,高效解密视频,防止播放卡顿。
基于同一发明构思,本申请实施例还提供了一种web端视频播放装置,可以用于实现上述实施例所描述的方法,如下面的实施例。由于web端视频播放装置解决问题的原理与web端视频播放方法相似,因此web端视频播放装置的实施可以参见web端视频播放方法实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本发明的实施例提供一种能够实现web端视频播放方法的web端视频播放装置的具体实施方式,参见图10,web端视频播放装置具体包括如下内容:
Wasm文件生成模块10,用于根据C语言代码以及依赖库生成wasm文件;
视频切分模块20,用于对待播放视频进行切片,得到多个视频分片;
视频加密模块30,用于对每个视频分片对称加密,得到加密后的视频分片以及对应的密钥;
视频播放模块40,用于根据wasm文件以及所述密钥、所述加密后的视频分片在web端播放所述待播放视频。
一实施例中,参见图11,所述Wasm文件生成模块10包括:
字节码生成单元101,用于利用emcc工具编译C入口文件及相关依赖库生成LLVM字节码文件;
字节码编译单元102,用于利用emscripten工具将所述LLVM字节码文件编译为所述wasm代码文件;
所述相关依赖库包括aes库,FFmpeg库以及emscripten库。
一实施例中,参见图12,web端视频播放装置还包括:
浏览器加载模块50,用于根据浏览器加载并执行所述wasm文件。
一实施例中,所述视频切分模块20具体用于利用FFmpeg对视频进行切片处理,得到所述多个视频分片及切片列表。
一实施例中,参见图13,所述视频加密模块30包括:
密钥生成单元301,用于利用key对每个切片视频进行加密标准算法加密,得到所述加密后的视频分片以及对应的密钥;
文件执行单元302,用于在浏览器中加载并执行所述wasm代码文件;
视频分片加载单元303,用于利用wasm代码加载所述密钥以及所述视频分片;
视频分片解密单元304,用于根据所述wasm代码以及所述密钥对所述视频分片进行解密。
一实施例中,参见图14,所述视频播放模块40包括:
线程创建单元401,用于创建Worker线程;
视频播放单元402,用于利用worker线程调用所述wasm代码以及所述密钥对所述视频分片进行解密,以播放所述视频分片。
从上述描述可知,本发明实施例提供的web端视频播放装置,首先根据C语言代码以及依赖库生成wasm文件;对待播放视频进行切片,得到多个视频分片;接着,对每个视频分片对称加密,得到加密后的视频分片以及对应的密钥;最后根据wasm文件以及密钥、加密后的视频分片在web端播放待播放视频。一方面,本发明使用私有方法加密,可防止用户自行解密播放的视频文件,并获得源视频私自传播,另一方面,本发明利用WebAssembly技术,高效解密视频,防止播放卡顿。
下面参考图15,其示出了适于用来实现本申请实施例的电子设备600的结构示意图。
如图15所示,电子设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM))603中的程序而执行各种适当的工作和处理。在RAM603中,还存储有系统600操作所需的各种程序和数据。CPU601、ROM602、以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡,调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装如存储部分608。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述基于数据机房场景下的人员距离确定方法的步骤,该步骤包括:
步骤100:对待播放视频进行切片,得到多个视频分片;
步骤200:对每个视频分片对称加密,得到加密后的视频分片以及对应的密钥;
步骤300:对所述加密后的视频分片以及所述密钥进行编译,得到编译文件;
步骤400:根据所述密钥、所述加密后的视频分片以及所述编译文件在web端播放所述待播放视频。
在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上该仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (14)

1.一种web端视频播放方法,其特征在于,包括:
根据C语言代码以及依赖库生成wasm文件;
对待播放视频进行切片,得到多个视频分片;
对每个视频分片对称加密,得到加密后的视频分片以及对应的密钥;
根据wasm文件以及所述密钥、所述加密后的视频分片在web端播放所述待播放视频。
2.根据权利要求1所述的web端视频播放方法,其特征在于,所述根据C语言代码以及依赖库生成wasm文件包括:
利用emcc工具编译C入口文件及相关依赖库生成LLVM字节码文件;
利用emscripten工具将所述LLVM字节码文件编译为所述wasm代码文件;
所述相关依赖库包括aes库,FFmpeg库以及emscripten库。
3.根据权利要求1所述的web端视频播放方法,其特征在于,在所述根据wasm文件以及所述密钥、所述加密后的视频分片在web端播放所述待播放视频之前,还包括:
根据浏览器加载并执行所述wasm文件。
4.根据权利要求1所述的web端视频播放方法,其特征在于,所述对待播放视频进行切片,得到多个视频分片包括:
利用FFmpeg对视频进行切片处理,得到所述多个视频分片及切片列表。
5.根据权利要求1所述的web端视频播放方法,其特征在于,所述对每个视频分片对称加密,得到加密后的视频分片以及对应的密钥包括:
利用key对每个切片视频进行加密标准算法加密,得到所述加密后的视频分片以及对应的密钥;
在浏览器中加载并执行所述wasm代码文件;
利用wasm代码加载所述密钥以及所述视频分片;
根据所述wasm代码以及所述密钥对所述视频分片进行解密。
6.根据权利要求5所述的web端视频播放方法,其特征在于,所述根据wasm文件以及所述密钥、所述加密后的视频分片在web端播放所述待播放视频,包括:
创建Worker线程;
利用worker线程调用所述wasm代码以及所述密钥对所述视频分片进行解密,以播放所述视频分片。
7.一种web端视频播放装置,其特征在于,包括:
Wasm文件生成模块,用于根据C语言代码以及依赖库生成wasm文件;
视频切分模块,用于对待播放视频进行切片,得到多个视频分片;
视频加密模块,用于对每个视频分片对称加密,得到加密后的视频分片以及对应的密钥;
视频播放模块,用于根据wasm文件以及所述密钥、所述加密后的视频分片在web端播放所述待播放视频。
8.根据权利要求7所述的web端视频播放装置,其特征在于,所述Wasm文件生成模块包括:
字节码生成单元,用于利用emcc工具编译C入口文件及相关依赖库生成LLVM字节码文件;
字节码编译单元,用于利用emscripten工具将所述LLVM字节码文件编译为所述wasm代码文件;
所述相关依赖库包括aes库,FFmpeg库以及emscripten库。
9.根据权利要求7所述的web端视频播放装置,其特征在于,还包括:
浏览器加载模块,用于根据浏览器加载并执行所述wasm文件。
10.根据权利要求7所述的web端视频播放装置,其特征在于,所述视频切分模块具体用于利用FFmpeg对视频进行切片处理,得到所述多个视频分片及切片列表。
11.根据权利要求7所述的web端视频播放装置,其特征在于,所述视频加密模块包括:
密钥生成单元,用于利用key对每个切片视频进行加密标准算法加密,得到所述加密后的视频分片以及对应的密钥;
文件执行单元,用于在浏览器中加载并执行所述wasm代码文件;
视频分片加载单元,用于利用wasm代码加载所述密钥以及所述视频分片;
视频分片解密单元,用于根据所述wasm代码以及所述密钥对所述视频分片进行解密。
12.根据权利要求11所述的web端视频播放装置,其特征在于,所述视频播放模块包括:
线程创建单元,用于创建Worker线程;
视频播放单元,用于利用worker线程调用所述wasm代码以及所述密钥对所述视频分片进行解密,以播放所述视频分片。
13.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述web端视频播放方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6任一项所述web端视频播放方法的步骤。
CN202110551305.1A 2021-05-20 2021-05-20 web端视频播放方法及装置 Active CN113301038B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110551305.1A CN113301038B (zh) 2021-05-20 2021-05-20 web端视频播放方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110551305.1A CN113301038B (zh) 2021-05-20 2021-05-20 web端视频播放方法及装置

Publications (2)

Publication Number Publication Date
CN113301038A true CN113301038A (zh) 2021-08-24
CN113301038B CN113301038B (zh) 2023-04-18

Family

ID=77323101

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110551305.1A Active CN113301038B (zh) 2021-05-20 2021-05-20 web端视频播放方法及装置

Country Status (1)

Country Link
CN (1) CN113301038B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114564156A (zh) * 2022-02-10 2022-05-31 深圳市纵维立方科技有限公司 模型切片的方法和装置、3d打印系统、电子设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110198479A (zh) * 2019-05-24 2019-09-03 浪潮软件集团有限公司 一种基于webassembly的浏览器音视频解码播放方法
US10452868B1 (en) * 2019-02-04 2019-10-22 S2 Systems Corporation Web browser remoting using network vector rendering
CN110489942A (zh) * 2019-08-06 2019-11-22 南开大学 一种WebAssembly文件的处理方法及系统
US20190372945A1 (en) * 2018-02-22 2019-12-05 Secure Cloud Systems, Inc. System and method for securely transferring data
US20200099992A1 (en) * 2018-02-09 2020-03-26 Wangsu Science & Technology Co., Ltd. Method and terminal for playing a video file
CN111611606A (zh) * 2020-05-22 2020-09-01 北京百度网讯科技有限公司 文件加密、解密方法和装置
CN111641838A (zh) * 2020-05-13 2020-09-08 深圳市商汤科技有限公司 一种浏览器视频播放方法、装置以及计算机存储介质
CN112437343A (zh) * 2020-05-15 2021-03-02 上海哔哩哔哩科技有限公司 基于浏览器的封面生成方法和系统
CN112822518A (zh) * 2021-04-19 2021-05-18 浙江华创视讯科技有限公司 视频播放方法、装置、系统、电子设备和存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200099992A1 (en) * 2018-02-09 2020-03-26 Wangsu Science & Technology Co., Ltd. Method and terminal for playing a video file
US20190372945A1 (en) * 2018-02-22 2019-12-05 Secure Cloud Systems, Inc. System and method for securely transferring data
US10452868B1 (en) * 2019-02-04 2019-10-22 S2 Systems Corporation Web browser remoting using network vector rendering
CN110198479A (zh) * 2019-05-24 2019-09-03 浪潮软件集团有限公司 一种基于webassembly的浏览器音视频解码播放方法
CN110489942A (zh) * 2019-08-06 2019-11-22 南开大学 一种WebAssembly文件的处理方法及系统
CN111641838A (zh) * 2020-05-13 2020-09-08 深圳市商汤科技有限公司 一种浏览器视频播放方法、装置以及计算机存储介质
CN112437343A (zh) * 2020-05-15 2021-03-02 上海哔哩哔哩科技有限公司 基于浏览器的封面生成方法和系统
CN111611606A (zh) * 2020-05-22 2020-09-01 北京百度网讯科技有限公司 文件加密、解密方法和装置
CN112822518A (zh) * 2021-04-19 2021-05-18 浙江华创视讯科技有限公司 视频播放方法、装置、系统、电子设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114564156A (zh) * 2022-02-10 2022-05-31 深圳市纵维立方科技有限公司 模型切片的方法和装置、3d打印系统、电子设备
CN114564156B (zh) * 2022-02-10 2024-06-04 深圳市纵维立方科技有限公司 模型切片的方法和装置、3d打印系统、电子设备

Also Published As

Publication number Publication date
CN113301038B (zh) 2023-04-18

Similar Documents

Publication Publication Date Title
JP6257754B2 (ja) データの保護
JP6017501B2 (ja) 暗号システム
CN112822518A (zh) 视频播放方法、装置、系统、电子设备和存储介质
US9374220B2 (en) System and method for providing compressed encryption and decryption in homomorphic encryption based on integers
US20150074393A1 (en) Method, Apparatus, and System for Implementing Media Data Processing
US9515818B2 (en) Multi-block cryptographic operation
US20120170740A1 (en) Content protection apparatus and content encryption and decryption apparatus using white-box encryption table
CN104052742A (zh) 一种可动态加密的物联网通讯协议
CN104471913A (zh) 指示和处理内容传输和传送中的内容加密和权限管理
CN110312054B (zh) 图像的加解密方法、及相关装置、存储介质
CN109547198A (zh) 网络传输视频文件的方法与系统
CN109525893A (zh) 基于切片文件时长阈值的视频切片方法
KR102143525B1 (ko) 교집합 연산을 지원하는 함수 암호를 위한 방법 및 이를 이용한 장치
KR102298266B1 (ko) 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법 및 시스템
CN113301038B (zh) web端视频播放方法及装置
CN108924596A (zh) 媒体数据传输方法、装置及存储介质
KR101790948B1 (ko) Drm 서비스 제공 장치 및 방법, drm 서비스를 이용한 콘텐츠 재생 장치 및 방법
CN107087004A (zh) 源文件处理方法及装置、源文件获取方法及装置
CN107682335A (zh) 数据传输方法、服务端以及计算机可读存储介质
CN116614653A (zh) 多媒体文件播放方法、装置、系统、设备及存储介质
CN114390317B (zh) 面向流式传输视频的加密方法及系统
CN110008654B (zh) 电子文件处理方法和装置
WO2021129676A1 (zh) 一种uri构造方法、装置、介质及设备
Patil Secure media streaming for android
Jiang et al. LightCore: Lightweight collaborative editing cloud services for sensitive data

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
GR01 Patent grant
GR01 Patent grant