本申请实施例涉及视频处理,具体而言,涉及一种视频解码方法、装置、电子设备。
背景技术:
1、随着互联网的高度普及,传统的基于pc端/移动端的业务演变为web云化服务逐渐成为趋势,在非线性编辑业务领域也是如此。
2、视频编码由于其复杂性,编解码的计算资源消耗在非线编中占比最大,作为非线编的核心功能模块,高效的视频解码性能是非线编业务迁往云化中的关键点。
3、现有的视频解码方案的优劣势如下:基于媒体标签页的解码方案操作简单,但是缺少灵活性,无法高效灵活的获取任意视频帧;基于webcodec(网页端编解码器)的js(javascript,java脚本语言)解码方案,解码效率高,但是其js层与现有业务代码交互困难;而基于wasm(webassembly,网页端汇编语言)的软件解码,能够与现有业务代码交互,但是其无法利用浏览器提供硬件加速解码功能,存在解码效率较低的缺点。
技术实现思路
1、针对上述现有技术中存在的问题,本申请实施例提供了一种视频解码方法、装置、电子设备,能够融合不同代码执行环境的视频解码功能,提高视频解码的效率和可扩展性。
2、第一方面,本申请实施例提供了一种视频解码方法,包括:
3、获取待解码的视频数据;
4、构建第一代码执行环境和第二代码执行环境的通信层;和
5、通过所述通信层,融合所述第一代码执行环境和\或所述第二代码执行环境,对所述视频数据进行解码。
6、进一步地,所述第一代码执行环境为javascript代码执行环境,所述第二代码执行环境为wasm代码执行环境。
7、进一步地,所述获取待解码的视频数据,包括:
8、通过所述wasm代码执行环境分离媒体资源获取待解码的所述视频数据;和
9、通过所述javascript代码执行环境读取所述视频数据。
10、进一步地,所述通过所述通信层,融合所述第一代码执行环境和所述第二代码执行环境,对所述视频数据进行解码,包括:
11、所述wasm代码执行环境通过所述通信层调度所述javascript代码执行环境的解码器,对所述视频数据进行解码;和/或
12、通过所述wasm代码执行环境的解码器,对所述视频数据进行解码。
13、进一步地,在所述所述wasm代码执行环境通过所述通信层调度所述javascript代码执行环境的解码器,对所述视频数据进行解码之后,还包括:
14、所述javascript代码执行环境对已完成解码的所述视频数据进行渲染。
15、进一步地,在所述所述javascript代码执行环境对已完成解码的所述视频数据进行渲染之后,还包括:
16、所述javascript代码执行环境通过所述通信层,将已完成渲染的所述视频数据发送至所述wasm代码执行环境,以进行视频帧数据缓冲处理。
17、进一步地,在所述所述javascript代码执行环境通过所述通信层,将已完成渲染的所述视频数据发送至所述wasm代码执行环境,以进行视频帧数据缓冲之后,还包括:
18、所述wasm代码执行环境从缓冲的视频帧数据中调度视频帧,并发送至业务层。
19、第二方面,本申请实施例还提供了一种视频解码装置,包括:
20、数据获取模块,用于获取待解码的视频数据;
21、通信层构建模块,用于构建第一代码执行环境和第二代码执行环境的通信层;和
22、视频解码模块,用于通过所述通信层,融合所述第一代码执行环境和所述第二代码执行环境,对所述视频数据进行解码。
23、第三方面,本申请实施例还提供了一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器用于执行所述程序时实现根据上述的第一方面所述的视频解码方法。
24、第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于实现根据上述的第一方面所述的视频解码方法。
25、本申请实施例带来了以下有益效果:
26、本申请实施例提供的视频解码方法,在获取待解码的视频数据后,并构建第一代码执行环境和第二代码执行环境的通信层,然后通过所述通信层,融合所述第一代码执行环境和\或所述第二代码执行环境,对所述视频数据进行解码,从而能够充分利用不同代码执行环境的视频解码功能的优势,提高视频解码的效率和可扩展性。
1.一种视频解码方法,其特征在于,包括:
2.根据权利要求1所述的视频解码方法,其特征在于,所述第一代码执行环境为javascript代码执行环境,所述第二代码执行环境为wasm代码执行环境。
3.根据权利要求2所述的视频解码方法,其特征在于,所述获取待解码的视频数据,包括:
4.根据权利要求3所述的视频解码方法,其特征在于,所述通过所述通信层,融合所述第一代码执行环境和所述第二代码执行环境,对所述视频数据进行解码,包括:
5.根据权利要求4所述的视频解码方法,其特征在于,在所述所述wasm代码执行环境通过所述通信层调度所述javascript代码执行环境的解码器,对所述视频数据进行解码之后,还包括:
6.根据权利要求5所述的视频解码方法,其特征在于,在所述所述javascript代码执行环境对已完成解码的所述视频数据进行渲染之后,还包括:
7.根据权利要求6所述的视频解码方法,其特征在于,在所述所述javascript代码执行环境通过所述通信层,将已完成渲染的所述视频数据发送至所述wasm代码执行环境,以进行视频帧数据缓冲之后,还包括:
8.一种视频解码装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器用于执行所述程序时实现根据权利要求1-7任一项所述的视频解码方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于实现根据权利要求1-7任一项所述的视频解码方法。