一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于WebRTC实时音视频黑屏检测方法与流程

2022-02-22 07:18:08 来源:中国专利 TAG:
一种基于WebRTC实时音视频黑屏检测方法与流程

本发明涉及实时音视频技术领域,尤其涉及一种基于WebRTC实时音视频黑屏检测方法。

背景技术

实时音视频(WebRTC)是指通过点对点的方式,在不借助中间媒介的情况下,实现浏览器之间的实时音视频通信(视频通话、实时交互),同时也不仅限于浏览器间点对点通信,任一浏览器可以跟任一视频源实时通信(双方支持WebRTC)。在目前的音视频通话中,由于网络抖动以及推送方性能制约,接收方不能够在第一时间接收到有效信息,往往看到都是黑屏画面,用户体验感非常差。对于不确定的推送源,推送方难以保证有效的快速地检测到无效画面,为了能够报证接收方的正常工作以及保持良好体验,亟需在接收方做黑屏检测处理。

因此,现有技术存在缺陷,需要改进。



技术实现要素:

本发明要解决的技术问题是:提供一种基于WebRTC实时音视频黑屏检测方法,实时检测出黑屏,避免接收方出现黑屏的情况,提升接收方的体验感。

本发明的技术方案有两种,第一种技术方案为:提供一种基于WebRTC实时音视频黑屏检测方法,应用于接收终端的第一浏览器与发送终端的第二浏览器之间,所述第一浏览器支持canvas,包括以下步骤。

S1:启动第一浏览器、第二浏览器,开启第一浏览器、第二浏览器WebRTC服务后,使第一浏览器与第二浏览器建立连接。

S2:第二浏览器给第一浏览器推送视频流,第一浏览器对视频流的画面帧进行采样,获得测试画面帧。

S3:使用第一浏览器的Web Worker开启三个工作线程,对测试画面帧分别进行最近邻插值算法、双线性插值算法、双三次插值算法的计算,将得出不同算法的矩阵的灰度值数据,分别为U1、U2、U3。

S4:根据最近邻插值算法、双线性插值算法、双三次插值算法的计算准确度,对矩阵的灰度值数据的计算结果进行加权计算;最近邻插值算法、双线性插值算法、双三次插值算法的权重值分别为M1、M2、M3,最近邻插值算法、双线性插值算法、双三次插值算法得到的矩阵的灰度值数据中矩阵的灰度值不等于0x0或0xff的像素数量分别为N1、N2、N3;加权计算的结果分别为:P1=U1*M1*N1、P2=U2*M2*N2、P3=U3*M3*N3。优选的,最近邻插值算法、双线性插值算法、双三次插值算法的精度依次增大,设置双三次插值算法的初始权重值>双线性插值算法的初始权重值>最近邻插值算法的初始权重值。

S5:若(P1 P2 P3)/3小于P1、P2、P3中的中位数,第一浏览器判定测试画面帧处于黑屏状态,进入步骤S6;若(P1 P2 P3)/3不小于P1、P2、P3中的中位数,第一浏览器判定测试画面帧为非黑屏状态,第一浏览器向用户展示有效的非黑屏的音视频画面。其中,P1、P2、P3中的中位数为P1、P2、P3按照数值大小顺序排列时居于中间位置的数。

S6:第一浏览器再次对视频流的当前画面帧进行采样,获得测试画面帧;按照步骤S3的方法重新计算出U1、U2、U3。

S7:扩大最近邻插值算法的权重值,缩小双三次插值算法的权重值,双线性插值算法的权重值不变,重新对矩阵的灰度值数据的计算结果进行加权计算,重新得到P1、P2、P3,进入步骤S5。

第一浏览器通过不同插值算法的压缩计算,可以得出兼容速度以及精度的检测结果,在支持canvas特性的第一浏览器中,通过该策略,可以降低第二浏览器的不稳定性,保证第一浏览器的画面帧是有效的,提高音视频的交付可靠性以及交互性;第一浏览器实时检测出黑屏,避免黑屏在第一浏览器中出现,提升用户的体验感。

在步骤S7中,最近邻插值算法的权重值的每次增加量为初始权重值的0-10%,不包含0;双三次插值算法的权重值的每次缩小量为初始权重值的0-10%,不包含0。

在步骤S7中,最近邻插值算法的权重值的最大总增加量为初始权重值的50%,所述双三次插值算法的权重值的最大总缩小量为初始权重值的50%。

随着音视频资源的加载以及画面帧采集,黑屏状态的概率也在相对下降,可以适当减少计算量以缩短时间,精度低的算法也可以检测出较准确结果,达到优化的目的。

在步骤S5中,第一浏览器判定测试画面帧为非黑屏状态,第一浏览器关闭所有Web Worker线程计算,回收计算资源。

本发明的另一种技术方案为:提供一种基于WebRTC实时音视频黑屏检测方法,应用于接收终端的第一浏览器与发送终端的第二浏览器之间,所述第一浏览器支持canvas,包括以下步骤。

SS1:启动第一浏览器、第二浏览器,开启第一浏览器、第二浏览器WebRTC服务后,使第一浏览器与第二浏览器建立连接。

SS2:第二浏览器给第一浏览器推送视频流,第一浏览器对视频流的画面帧进行采样,获得若干测试画面帧,测试画面帧按采样时间点进行排序。

SS3:使用第一浏览器的Web Worker开启三个工作线程,对一张测试画面帧分别进行最近邻插值算法、双线性插值算法、双三次插值算法的计算,将得出不同算法的矩阵的灰度值数据,分别为U1、U2、U3。

SS4:根据最近邻插值算法、双线性插值算法、双三次插值算法的计算准确度,对矩阵的灰度值数据的计算结果进行加权计算;最近邻插值算法、双线性插值算法、双三次插值算法的权重值分别为M1、M2、M3,最近邻插值算法、双线性插值算法、双三次插值算法得到的矩阵的灰度值数据中矩阵的灰度值不等于0x0或0xff的像素数量分别为N1、N2、N3;加权计算的结果分别为:P1=U1*M1*N1、P2=U2*M2*N2、P3=U3*M3*N3。优选的,最近邻插值算法、双线性插值算法、双三次插值算法的精度依次增大,设置双三次插值算法的初始权重值>双线性插值算法的初始权重值>最近邻插值算法的初始权重值。

SS5:若(P1 P2 P3)/3小于P1、P2、P3中的中位数,第一浏览器判定测试画面帧处于黑屏状态,进入步骤SS6;若(P1 P2 P3)/3不小于P1、P2、P3中的中位数,第一浏览器判定测试画面帧为非黑屏状态,第一浏览器向用户展示有效的非黑屏的音视频画面。其中,P1、P2、P3中的中位数为P1、P2、P3按照数值大小顺序排列时居于中间位置的数。

SS6:第一浏览器对后一张测试画面帧按照步骤SS3的方法计算出U1、U2、U3。

SS7:扩大最近邻插值算法的权重值,缩小双三次插值算法的权重值,双线性插值算法的权重值不变,重新对矩阵的灰度值数据的计算结果进行加权计算,重新得到P1、P2、P3,进入步骤SS5。

第一浏览器通过不同插值算法的压缩计算,可以得出兼容速度以及精度的检测结果,在支持canvas特性的第一浏览器中,通过该策略,可以降低第二浏览器的不稳定性,保证第一浏览器的画面帧是有效的,提高音视频的交付可靠性以及交互性;第一浏览器实时检测出黑屏,避免黑屏在第一浏览器中出现,提升用户的体验感。

在步骤SS7中,最近邻插值算法的权重值的每次增加量为初始权重值的0-10%,不包含0;双三次插值算法的权重值的每次缩小量为初始权重值的0-10%,不包含0。

在步骤SS7中,最近邻插值算法的权重值的最大总增加量为初始权重值的50%,所述双三次插值算法的权重值的最大总缩小量为初始权重值的50%。

随着音视频资源的加载以及画面帧采集,黑屏状态的概率也在相对下降,可以适当减少计算量以缩短时间,精度低的算法也可以检测出较准确结果,达到优化的目的。

在步骤SS5中,第一浏览器判定测试画面帧为非黑屏状态,第一浏览器关闭所有Web Worker线程计算,回收计算资源。

在步骤SS2中,判断第一浏览器是否支持硬件加速,如果支持,第一浏览器对视频流的画面帧进行采样的频率在原基础上增加1倍。

在步骤SS2中,通过WebRTC获取视频流的实时网络丢包率;丢包率小于等于1%,采样频率为每秒两次,丢包率大于1%小于5%,采样频率为每秒1次,丢包率大于等于5%,采样频率为每两秒1次。

采用上述方案,本发明提供一种基于WebRTC实时音视频黑屏检测方法,第一浏览器通过不同插值算法的压缩计算,可以得出兼容速度以及精度的检测结果,在支持canvas特性的第一浏览器中,通过该策略,可以降低第二浏览器的不稳定性,保证第一浏览器的画面帧是有效的,提高音视频的交付可靠性以及交互性;第一浏览器实时检测出黑屏,避免黑屏在第一浏览器中出现,提升用户的体验感。

附图说明

图1为本发明的一实施例的流程图;

图2为本发明的另一实施例的流程图。

具体实施方式

以下结合附图和具体实施例,对本发明进行详细说明。

实施例1

本实施例提供一种基于WebRTC实时音视频黑屏检测方法,应用于接收终端的第一浏览器与发送终端的第二浏览器之间,所述第一浏览器支持canvas,包括以下步骤。

S1:启动第一浏览器、第二浏览器,开启第一浏览器、第二浏览器WebRTC服务后,使第一浏览器与第二浏览器建立连接。

S2:第二浏览器给第一浏览器推送视频流,第一浏览器对视频流的画面帧进行采样,获得测试画面帧。

S3:使用第一浏览器的Web Worker开启三个工作线程,对测试画面帧分别进行最近邻插值算法、双线性插值算法、双三次插值算法的计算,将得出不同算法的矩阵的灰度值数据,分别为U1、U2、U3。

S4:根据最近邻插值算法、双线性插值算法、双三次插值算法的计算准确度,对矩阵的灰度值数据的计算结果进行加权计算;最近邻插值算法、双线性插值算法、双三次插值算法的权重值分别为M1、M2、M3,在本实施例中,M1的初始值=1、M2的初始值=1.5、M3的初始值=2,最近邻插值算法、双线性插值算法、双三次插值算法得到的矩阵的灰度值数据中矩阵的灰度值不等于0x0或0xff的像素数量分别为N1、N2、N3;加权计算的结果分别为:P1=U1*M1*N1、P2=U2*M2*N2、P3=U3*M3*N3。

S5:若(P1 P2 P3)/3小于P1、P2、P3中的中位数,第一浏览器判定测试画面帧处于黑屏状态,进入步骤S6;若(P1 P2 P3)/3不小于P1、P2、P3中的中位数,第一浏览器判定测试画面帧为非黑屏状态,第一浏览器向用户展示有效的非黑屏的音视频画面。

S6:第一浏览器再次对视频流的当前画面帧进行采样,获得测试画面帧;按照步骤S3的方法重新计算出U1、U2、U3。

S7:扩大最近邻插值算法的权重值,缩小双三次插值算法的权重值,双线性插值算法的权重值不变,重新对矩阵的灰度值数据的计算结果进行加权计算,重新得到P1、P2、P3,进入步骤S5。

第一浏览器通过不同插值算法的压缩计算,可以得出兼容速度以及精度的检测结果,在支持canvas特性的第一浏览器中,通过该策略,可以降低第二浏览器的不稳定性,保证第一浏览器的画面帧是有效的,提高音视频的交付可靠性以及交互性;第一浏览器实时检测出黑屏,避免黑屏在第一浏览器中出现,提升用户的体验感。

在步骤S7中,最近邻插值算法的权重值的每次增加量为初始权重值的0-10%,不包含0;双三次插值算法的权重值的每次缩小量为初始权重值的0-10%,不包含0。

在步骤S7中,最近邻插值算法的权重值的最大总增加量为初始权重值的50%,所述双三次插值算法的权重值的最大总缩小量为初始权重值的50%。

随着音视频资源的加载以及画面帧采集,黑屏状态的概率也在相对下降,可以适当减少计算量以缩短时间,精度低的算法也可以检测出较准确结果,达到优化的目的。

在步骤S5中,第一浏览器判定测试画面帧为非黑屏状态,第一浏览器关闭所有Web Worker线程计算,回收计算资源。

实施例2

本实施例提供一种基于WebRTC实时音视频黑屏检测方法,应用于接收终端的第一浏览器与发送终端的第二浏览器之间,所述第一浏览器支持canvas,包括以下步骤。

SS1:启动第一浏览器、第二浏览器,开启第一浏览器、第二浏览器WebRTC服务后,使第一浏览器与第二浏览器建立连接。

SS2:第二浏览器给第一浏览器推送视频流,第一浏览器对视频流的画面帧进行采样,获得若干测试画面帧,测试画面帧按采样时间点进行排序。

SS3:使用第一浏览器的Web Worker开启三个工作线程,对一张测试画面帧分别进行最近邻插值算法、双线性插值算法、双三次插值算法的计算,将得出不同算法的矩阵的灰度值数据,分别为U1、U2、U3。

SS4:根据最近邻插值算法、双线性插值算法、双三次插值算法的计算准确度,对矩阵的灰度值数据的计算结果进行加权计算;最近邻插值算法、双线性插值算法、双三次插值算法的权重值分别为M1、M2、M3,在本实施例中,M1的初始值=1、M2的初始值=1.5、M3的初始值=2,最近邻插值算法、双线性插值算法、双三次插值算法得到的矩阵的灰度值数据中矩阵的灰度值不等于0x0或0xff的像素数量分别为N1、N2、N3;加权计算的结果分别为:P1=U1*M1*N1、P2=U2*M2*N2、P3=U3*M3*N3。

SS5:若(P1 P2 P3)/3小于P1、P2、P3中的中位数,第一浏览器判定测试画面帧处于黑屏状态,进入步骤SS6;若(P1 P2 P3)/3不小于P1、P2、P3中的中位数,第一浏览器判定测试画面帧为非黑屏状态,第一浏览器向用户展示有效的非黑屏的音视频画面。

SS6:第一浏览器对后一张测试画面帧按照步骤SS3的方法计算出U1、U2、U3。

SS7:扩大最近邻插值算法的权重值,缩小双三次插值算法的权重值,双线性插值算法的权重值不变,重新对矩阵的灰度值数据的计算结果进行加权计算,重新得到P1、P2、P3,进入步骤SS5。

第一浏览器通过不同插值算法的压缩计算,可以得出兼容速度以及精度的检测结果,在支持canvas特性的第一浏览器中,通过该策略,可以降低第二浏览器的不稳定性,保证第一浏览器的画面帧是有效的,提高音视频的交付可靠性以及交互性;第一浏览器实时检测出黑屏,避免黑屏在第一浏览器中出现,提升用户的体验感。

在步骤SS7中,最近邻插值算法的权重值的每次增加量为初始权重值的0-10%,不包含0;双三次插值算法的权重值的每次缩小量为初始权重值的0-10%,不包含0。

在步骤SS7中,最近邻插值算法的权重值的最大总增加量为初始权重值的50%,所述双三次插值算法的权重值的最大总缩小量为初始权重值的50%。

随着音视频资源的加载以及画面帧采集,黑屏状态的概率也在相对下降,可以适当减少计算量以缩短时间,精度低的算法也可以检测出较准确结果,达到优化的目的。

在步骤SS5中,第一浏览器判定测试画面帧为非黑屏状态,第一浏览器关闭所有Web Worker线程计算,回收计算资源。

在步骤SS2中,判断第一浏览器是否支持硬件加速,如果支持,第一浏览器对视频流的画面帧进行采样的频率在原基础上增加1倍。

在步骤SS2中,通过WebRTC获取视频流的实时网络丢包率;丢包率小于等于1%,采样频率为每秒两次,丢包率大于1%小于5%,采样频率为每秒1次,丢包率大于等于5%,采样频率为每两秒1次。

综上所述,本发明提供一种基于WebRTC实时音视频黑屏检测方法,第一浏览器通过不同插值算法的压缩计算,可以得出兼容速度以及精度的检测结果,在支持canvas特性的第一浏览器中,通过该策略,可以降低第二浏览器的不稳定性,保证第一浏览器的画面帧是有效的,提高音视频的交付可靠性以及交互性;第一浏览器实时检测出黑屏,避免黑屏在第一浏览器中出现,提升用户的体验感。

以上仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献