System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种Web端音视频处理方法、装置及存储介质制造方法及图纸_技高网

一种Web端音视频处理方法、装置及存储介质制造方法及图纸

技术编号:40300011 阅读:7 留言:0更新日期:2024-02-07 20:47
本发明专利技术公开了一种Web端音视频处理方法、装置及存储介质,包括以下步骤:在Web端编译音视频处理库,以得到能够处理音视频数据的wasm程序;在worker线程运行所述wasm程序;将音视频数据传递至所述worker线程,通过所述wasm程序对所述音视频数据进行处理,以得到处理后的音视频数据;将所述处理后的音视频数据返回至主线程,并由主线程进行播放,其中所述主线程和所述worker线程并行运行。本发明专利技术可以提高Web端音视频处理能力,并且通过worker线程进行音视频处理可以避免主线程阻塞,提高Web界面流畅性,并且本发明专利技术无需网络和后台服务器参与,便于程序开发和测试。

【技术实现步骤摘要】

本申请涉及计算机,具体涉及一种web端音视频处理方法、装置及存储介质。


技术介绍

1、在现有技术中,web端对音视频数据只能通过web载体处理,因此web端只能简单的播放音频和视频。比如在pc上,通过发送音频或视频的buffer给electron进程进行音视频处理;如果在浏览器中,则需要把音视频buffer发送到后台服务器进行处理。但上述方案中,pc上需要依赖electron的background进程进行音视频处理,浏览器上则依赖后台服务;还需要通过网络进行数据传输。因此在现有技术中在web端上音视频处理程序需要涉及多端程序开发,从而导致开发效率低,并且在测试时也需要多端协同测试,因此测试效率低,且不易测试出程序bug。


技术实现思路

1、鉴于上述问题,本申请提供了一种web端音视频处理方法,用于解决web端对音视频处理能力差、功能单一的技术问题。

2、为实现上述目的,专利技术人提供了一种web端音视频处理方法,包括以下步骤:

3、在web端编译音视频处理库,以得到能够处理音视频数据的wasm程序;

4、在worker线程运行所述wasm程序;

5、将音视频数据传递至所述worker线程,通过所述wasm程序对所述音视频数据进行处理,以得到处理后的音视频数据;

6、将所述处理后的音视频数据返回至主线程,并由主线程进行播放,其中所述主线程和所述worker线程并行运行。

7、进一步的,所述将音视频数据传递至所述worker线程包括步骤:

8、通过输入标签从本地加载音视频数据,或通过文件地址从网络加载音视频数据;

9、将所述音视频文件转为二进制数据对象;

10、传递二进制数据对象到worker进程。

11、进一步的,所述主线程通过video、audio标签或audiocontext对处理后的音视频进行播放。

12、进一步的,所述通过所述wasm程序对所述音视频数据进行处理包括:音视频编解码、转码、截图、混音、音量调节、变速变调中的任意一种或多种。

13、进一步的,所述worker线程为单线程的worker线程。

14、进一步的,所述音视频处理库为ffmpeg,所述在web端编译音视频处理库包括步骤:

15、使用emmake命令编译三方编解码库,得到.第一文件;

16、裁剪掉ffmpeg中部分功能模块,然后使用emmake命令编译ffmpeg源码库,得到.第二文件;

17、使用emcc命令编译所述.第一文件和所述.第二文件,得到ffmpeg的.js和.wasm文件。

18、进一步的,所述裁剪掉ffmpeg中部分功能模块包括:

19、裁剪掉ffmpeg中libavdevice模块和libpostprocm模块;保留所述web常用的编解码模块,其音频模块包括下列中的一种以上:wav、mp3、aac、pcm或vorbis,视频模块包括下列中的一种以上:h264、opus、vp9或vp8。

20、为解决上述技术问题,本专利技术还提供了另一技术方案:

21、一种web端音视频处理装置,包括:

22、编译模块,用于在web端编译音视频处理库,以得到能够处理音视频数据的wasm程序;

23、处理模块,用于在worker线程运行所述wasm程序,以及将音视频数据传递至所述worker线程,通过所述wasm程序对所述音视频数据进行处理,以得到处理后的音视频数据;

24、播放模块,用于将所述处理后的音视频数据返回至主线程,并由主线程进行播放,其中所述主线程和所述worker线程并行运行。

25、进一步的,所述处理模块还包括传递子模块;所述传递子模块用于通过输入标签从本地加载音视频数据,或通过文件地址从网络加载音视频数据;将所述音视频文件转为二进制数据对象;传递二进制数据对象到worker进程。

26、为解决上述技术问题,本申请还提供了另一技术方案:

27、一种计算机可读存储介质,其内包含有计算机程序,所述计算机程序被运行时,执行以上任意一项技术方案所述的web端音视频处理方法。

28、区别于现有技术,上述技术方案web端音视频处理方法对音视频处理库进行编译得到能够处理音视频数据的wasm程序,并且在worker线程运行wasm程序对音视频数据进行处理,然后再将处理后的音视频数据返回至主线程进行播放。在本技术方案中通过wasm程序可以使web端实现强大的音视频编辑和处理能力,因此可以在web端进行音视频数据处理和播放;并且在本技术方案中,wasm程序运行在worker线程中,worker线程与主线程并行运行,因此不会阻塞主线程,可保证web界面运行流畅不卡顿。并且在本技术方案中,把后台服务器的音视频处理功能直接在web端的浏览器上实现,因此不需要后台服务器参与,也无需通过网络传输数据,不仅音视频处理的效率高,同时也便于程序开发和测试。

29、上述
技术实现思路
相关记载仅是本申请技术方案的概述,为了让本领域普通技术人员能够更清楚地了解本申请的技术方案,进而可以依据说明书的文字及附图记载的内容予以实施,并且为了让本申请的上述目的及其它目的、特征和优点能够更易于理解,以下结合本申请的具体实施方式及附图进行说明。

本文档来自技高网...

【技术保护点】

1.一种Web端音视频处理方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的Web端音视频处理方法,其特征在于,所述将音视频数据传递至所述worker线程包括步骤:

3.根据权利要求1所述的Web端音视频处理方法,其特征在于,所述主线程通过video、audio标签或AudioContext对处理后的音视频进行播放。

4.根据权利要求1所述的Web端音视频处理方法,其特征在于,所述通过所述wasm程序对所述音视频数据进行处理包括:音视频编解码、转码、截图、混音、音量调节、变速变调中的任意一种或多种。

5.根据权利要求1所述的Web端音视频处理方法,其特征在于,所述worker线程为单线程的worker线程。

6.根据权利要求1所述的Web端音视频处理方法,其特征在于,所述音视频处理库为ffmpeg,所述在Web端编译音视频处理库包括步骤:

7.根据权利要求6所述的Web端音视频处理方法,其特征在于,所述裁剪掉ffmpeg中部分功能模块包括:

8.一种Web端音视频处理装置,其特征在于,包括

9.根据权利要求8所述的Web端音视频处理装置,其特征在于,所述处理模块还包括传递子模块;所述传递子模块用于通过输入标签从本地加载音视频数据,或通过文件地址从网络加载音视频数据;将所述音视频文件转为二进制数据对象;传递二进制数据对象到worker进程。

10.一种计算机可读存储介质,其内包含有计算机程序,其特征在于,所述计算机程序被运行时,执行权利要求1至7任一所述的Web端音视频处理方法。

...

【技术特征摘要】

1.一种web端音视频处理方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的web端音视频处理方法,其特征在于,所述将音视频数据传递至所述worker线程包括步骤:

3.根据权利要求1所述的web端音视频处理方法,其特征在于,所述主线程通过video、audio标签或audiocontext对处理后的音视频进行播放。

4.根据权利要求1所述的web端音视频处理方法,其特征在于,所述通过所述wasm程序对所述音视频数据进行处理包括:音视频编解码、转码、截图、混音、音量调节、变速变调中的任意一种或多种。

5.根据权利要求1所述的web端音视频处理方法,其特征在于,所述worker线程为单线程的worker线程。

6.根据权利要求1所述的...

【专利技术属性】
技术研发人员:陈森郭阳刚刘灵辉
申请(专利权)人:福建星网视易信息系统有限公司
类型:发明
国别省市:

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

1