本发明涉及音视频播放,尤其涉及一种用于web客户端播放音视频的方法及装置。
背景技术:
1、当经社会飞速发展,社会已进入数字化、信息化时代。当视频流媒体席卷通信世界,为了保持和提升用户增长,内容创造者和流媒体服务提供者需要提供高质量的用户体验。而想要实现这一点,他们都需要在自己的网站上内嵌web音视频播放器。
2、web音视频播放器常用于chrome、edge、firfox等浏览器和其他支持web视频播放的平台。然而在一些涉及视频多分屏监控的项目中,纯web音视频播放器就无法满足多分屏流畅播放的需求,并且随着现在h265编码摄像头的普及,绝大多数的web浏览器无法支持h265码流的解码播放,少数浏览器(firfox、edge)的某些版本支持,但是播放性能也无法满足实际项目的需求。
3、当前,现有技术中都可以实现在一定程度上解决了客户端播放h265格式视频的问题,但是都存在资源消耗较大;无法满足多分屏(9分屏16分屏)播放模式;未对收到的视频流做丢包检测,丢包的情况下会播放花屏,这些问题都导致web客户端在使用场景上存在局限性,并且影响用户体验。因此,提升web客户端播放性能以及在丢包情况下避免web客户端播放花屏,提升用户体验是本领域技术人员亟待解决的问题。
技术实现思路
1、本发明提供一种用于web客户端播放音视频的方法及装置,用以解决现有技术缺陷,实现提升web客户端播放性能以及在丢包情况下避免web客户端播放花屏,提升用户体验。
2、第一方面,本发明提供用于web客户端的播放音视频方法,包括:
3、获取目标视频点位的播放控制参数;
4、基于所述播放控制参数,获取音视频输出信号;
5、判断web客户端所在机器硬件配置是否支持视频解码硬件加速,若是则对所述音视频输出信号进行硬件加速视频解码,否则对所述音视频输出信号进行cpu软解码,获得解码后的音视频输出信号;
6、判断web客户端的cpu负载是否大于预设阈值,若是则对所述解码后的音视频输出信号进行渲染抽帧,获得目标音视频输出信号,否则不执行渲染抽帧;
7、基于所述播放控制参数创建播放窗口,并基于所述目标音视频输出信号实现音视频播放。
8、根据所述的用于web客户端的播放音视频方法,所述播放控制参数包括:播放点位参数、流地址参数和播放窗口信息参数。
9、根据所述的用于web客户端的播放音视频方法,所述基于所述播放控制参数,获取音视频输出信号的步骤包括:
10、根据所述流地址参数拉取目标视频点位的媒体流;
11、根据所述播放点位参数对所述媒体流执行序列号排序、时戳组帧和解码操作,以获得音视频输出信号。
12、根据所述的用于web客户端的播放音视频方法,所述获得音视频输出信号之后,还包括:
13、基于所述播放点位参数判断所述媒体流的包序号是否连续,若不连续则判定为丢包并进行丢弃,若连续则不执行丢弃。
14、根据所述的用于web客户端的播放音视频方法,所述根据所述流地址参数拉取目标视频点位的媒体流之前还包括:
15、基于所述web客户端的网络状况配置流传输模式,包括:判断所述web客户端的网络状况是否良好,若良好则将所述流传输模式配置为udp模式,否则配置为tcp模式。
16、根据所述的用于web客户端的播放音视频方法,所述获得目标音视频输出信号之后,还包括:
17、判断所述目标音视频输出信号的灰度率是否大于预设阈值,若是则丢弃,否则对所述解码后的音视频输出信号进行抽帧渲染获得。
18、根据所述的用于web客户端的播放音视频方法,所述判断web客户端所在机器硬件配置是否支持视频解码硬件加速的步骤包括:
19、调用web客户端的系统api判断所在机器是否安装显卡,若安装显卡则可以开启硬件加速解码。
20、第二方面,本发明还提供一种用于web客户端的播放音视频装置,包括:
21、信令协议模块,用于获取目标视频点位的播放控制参数;
22、第一处理模块,用于基于所述播放控制参数,获取音视频输出信号;
23、第二处理模块,判断web客户端所在机器硬件配置是否支持视频解码硬件加速,若是则对所述音视频输出信号进行硬件加速视频解码,否则对所述音视频输出信号进行cpu软解码,获得解码后的音视频输出信号;
24、渲染模块,用于判断web客户端的cpu负载是否大于预设阈值,若是则对所述解码后的音视频输出信号进行渲染抽帧,获得目标音视频输出信号,否则不执行渲染抽帧;
25、显示模块,用于基于所述播放控制参数创建播放窗口,并基于所述目标音视频输出信号实现音视频播放。
26、第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述用于web客户端的播放音视频方法的步骤。
27、第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述用于web客户端的播放音视频方法的步骤。
28、本发明提供的用于web客户端的播放音视频方法及装置相比于现有技术具有以下更好的技术效果。
29、本发明通过获取目标视频点位的播放控制参数,进而获取音视频输出信号,在进行判断web客户端所在机器硬件配置是否支持视频解码硬件加速,若是则对音视频输出信号进行硬件加速视频解码,否则对所述音视频输出信号进行cpu软解码,获得解码后的音视频输出信号;在进行判断web客户端的cpu负载是否大于预设阈值,若是则对解码后的音视频输出信号进行渲染抽帧,获得目标音视频输出信号后,基于播放控制参数创建播放窗口,并基于目标音视频输出信号实现音视频播放。在整体架构设计上省去了转码环节,极大地节省了由于转码带来的资源消耗以及播放的延迟。减少了额外的服务器资源。通过自动检测机器硬件配置的设计,最大化利用机器本身的资源,提高解码性能。在组帧阶段以及渲染阶段的丢包检测,最大程度的避免了播放花屏现象的出现,提高音视频播放质量以及音视频播放插件的适应性,进而实现大幅度提升web播放器性能。
1.一种用于web客户端的播放音视频方法,其特征在于,包括:
2.根据权利要求1所述的用于web客户端的播放音视频方法,其特征在于,所述播放控制参数包括:播放点位参数、流地址参数和播放窗口信息参数。
3.根据权利要求2所述的用于web客户端的播放音视频方法,其特征在于,所述基于所述播放控制参数,获取音视频输出信号的步骤包括:
4.根据权利要求3所述的用于web客户端的播放音视频方法,其特征在于,所述获得音视频输出信号之后,还包括:
5.根据权利要求3所述的用于web客户端的播放音视频方法,其特征在于,所述根据所述流地址参数拉取目标视频点位的媒体流之前还包括:
6.根据权利要求1所述的用于web客户端的播放音视频方法,其特征在于,所述获得目标音视频输出信号之后,还包括:
7.根据权利要求1所述的用于web客户端的播放音视频方法,其特征在于,所述判断web客户端所在机器硬件配置是否支持视频解码硬件加速的步骤包括:
8.一种用于web客户端的播放音视频装置,其特征在于,包括:
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述用于web客户端的播放音视频方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述用于web客户端的播放音视频方法的步骤。
