本发明提出了一种基于用户容忍延迟来加强视频质量的方法和系统,属于视频处理。
背景技术:
1、弱网环境下,实时音视频通常采用arq-nack技术先行,fec技术兜底的配合策略来保证实时性。引入额外的丢包恢复抖动,拉大延时。高延迟场景下,网络rtt越大,重传恢复效果越差。
技术实现思路
1、本发明提供了一种基于用户容忍延迟来加强视频质量的方法和系统,用以解决现有技术中视频传输延时大,网络rtt越大,重传恢复效果越差的问题,所采取的技术方案如下:
2、一种基于用户容忍延迟来加强视频质量的方法,所述基于用户容忍延迟来加强视频质量的方法包括:
3、实时接收用户发送的应用或系统中的自定义容忍最大延迟时长;
4、根据所述用户发送的应用或系统中的自定义容忍最大延迟时长确定目标延迟时长;
5、实时监测视频传输过程中的网络延迟时长,根据所述网络延迟时长动态调整动态抖动缓冲区域;
6、根据用户的自定义容忍最大延迟时长获取的目标延迟时长动态调整视频的视频帧率和分辨率。
7、进一步地,根据所述用户发送的应用或系统中的自定义容忍最大延迟时长确定目标延迟时长,包括:
8、提取用户发送的应用或系统中的自定义容忍最大延迟时长;
9、将所述用户发送的应用或系统中的自定义容忍最大延迟时长与网络最大延迟时间长度进行比较;
10、当所述用户发送的应用或系统中的自定义容忍最大延迟时长未超过网络最大延迟时间长度时,则将所述用户发送的应用或系统中的自定义容忍最大延迟时长作为目标延迟时长;
11、当所述用户发送的应用或系统中的自定义容忍最大延迟时长超过网络最大延迟时间长度时,则根据所述网络最大延迟时间长度设置目标延迟时长;
12、其中,当根据所述网络最大延迟时间长度设置目标延迟时长时,所述目标延迟时长为0.87t,其中,t表示网络最大延迟时间长度。
13、进一步地,实时监测视频传输过程中的网络延迟时长,根据所述网络延迟时长动态调整动态抖动缓冲区域,包括:
14、通过网络探测工具实时监测用户的视频传输过程中的网络延迟时长;
15、提取根据用户发送的自定义容忍最大延迟时长确定的目标延迟时长;
16、将用户的视频传输过程中的网络延迟时长低于所述根据用户发送的自定义容忍最大延迟时长确定的目标延迟时长时,则减小动态抖动缓冲区域,获得减小调整后的动态抖动缓冲区域;
17、将用户的视频传输过程中的网络延迟时长增加,并且,所述用户的视频传输过程中的网络延迟时长达到或超过根据用户发送的自定义容忍最大延迟时长确定的目标延迟时长时,则增加动态抖动缓冲区域,获得增加调整后的动态抖动缓冲区域。
18、进一步地,减小动态抖动缓冲区域对应的减小幅度范围为:0.78s-0.86s,其中,s表示动态抖动缓冲区域的原有区域容量;
19、增加调整后的动态抖动缓冲区域对应的增加幅度范围为:1.21s-0.38s,其中,s表示动态抖动缓冲区域的原有区域容量。
20、进一步地,根据用户的自定义容忍最大延迟时长获取的目标延迟时长动态调整视频的视频帧率和分辨率,包括:
21、通过网络探测工具实时监测用户的视频传输过程中的网络延迟时长;
22、提取根据用户发送的自定义容忍最大延迟时长确定的目标延迟时长;
23、将用户的视频传输过程中的网络延迟时长低于所述根据用户发送的自定义容忍最大延迟时长确定的目标延迟时长时,则减小视频帧率和分辨率,获得减小调整后的视频帧率和分辨率;
24、按照减小调整后的视频帧率和分辨率向用户进行视频数据传输;
25、将用户的视频传输过程中的网络延迟时长增加,并且,所述用户的视频传输过程中的网络延迟时长达到或超过根据用户发送的自定义容忍最大延迟时长确定的目标延迟时长时,则增加视频帧率和分辨率,获得增加调整后的视频帧率和分辨率;
26、按照增加调整后的视频帧率和分辨率向用户进行视频数据传输。
27、一种基于用户容忍延迟来加强视频质量的系统,所述基于用户容忍延迟来加强视频质量的系统包括:
28、自定义延迟时长实时接收模块,用于实时接收用户发送的应用或系统中的自定义容忍最大延迟时长;
29、目标延迟时长确定模块,用于根据所述用户发送的应用或系统中的自定义容忍最大延迟时长确定目标延迟时长;
30、抖动缓冲区域动态调整模块,用于实时监测视频传输过程中的网络延迟时长,根据所述网络延迟时长动态调整动态抖动缓冲区域;
31、视频帧率和分辨率动态调整模块,用于根据用户的自定义容忍最大延迟时长获取的目标延迟时长动态调整视频的视频帧率和分辨率。
32、进一步地,所述自定义延迟时长实时接收模块包括:
33、自定义最大延迟时长提取模块,用于提取用户发送的应用或系统中的自定义容忍最大延迟时长;
34、延迟时长比较模块,用于将所述用户发送的应用或系统中的自定义容忍最大延迟时长与网络最大延迟时间长度进行比较;
35、第一目标延迟时确定模块,用于当所述用户发送的应用或系统中的自定义容忍最大延迟时长未超过网络最大延迟时间长度时,则将所述用户发送的应用或系统中的自定义容忍最大延迟时长作为目标延迟时长;
36、第二目标延迟时确定模块,用于当所述用户发送的应用或系统中的自定义容忍最大延迟时长超过网络最大延迟时间长度时,则根据所述网络最大延迟时间长度设置目标延迟时长;
37、其中,当根据所述网络最大延迟时间长度设置目标延迟时长时,所述目标延迟时长为0.87t,其中,t表示网络最大延迟时间长度。
38、进一步地,所述抖动缓冲区域动态调整模块包括:
39、第一网路延迟时长监控模块,用于通过网络探测工具实时监测用户的视频传输过程中的网络延迟时长;
40、第一目标延迟时长提取模块,用于提取根据用户发送的自定义容忍最大延迟时长确定的目标延迟时长;
41、动态抖动缓冲区域减小模块,用于将用户的视频传输过程中的网络延迟时长低于所述根据用户发送的自定义容忍最大延迟时长确定的目标延迟时长时,则减小动态抖动缓冲区域,获得减小调整后的动态抖动缓冲区域;
42、动态抖动缓冲区域增加模块,用于将用户的视频传输过程中的网络延迟时长增加,并且,所述用户的视频传输过程中的网络延迟时长达到或超过根据用户发送的自定义容忍最大延迟时长确定的目标延迟时长时,则增加动态抖动缓冲区域,获得增加调整后的动态抖动缓冲区域。
43、进一步地,减小动态抖动缓冲区域对应的减小幅度范围为:0.78s-0.86s,其中,s表示动态抖动缓冲区域的原有区域容量;
44、增加调整后的动态抖动缓冲区域对应的增加幅度范围为:1.21s-0.38s,其中,s表示动态抖动缓冲区域的原有区域容量。
45、进一步地,所述视频帧率和分辨率动态调整模块包括:
46、第二网路延迟时长监控模块,用于通过网络探测工具实时监测用户的视频传输过程中的网络延迟时长;
47、第二目标延迟时长提取模块,用于提取根据用户发送的自定义容忍最大延迟时长确定的目标延迟时长;
48、视频帧率和分辨率减小模块,用于将用户的视频传输过程中的网络延迟时长低于所述根据用户发送的自定义容忍最大延迟时长确定的目标延迟时长时,则减小视频帧率和分辨率,获得减小调整后的视频帧率和分辨率;
49、第一视频数据传输模块,用于按照减小调整后的视频帧率和分辨率向用户进行视频数据传输;
50、视频帧率和分辨率增加模块,用于将用户的视频传输过程中的网络延迟时长增加,并且,所述用户的视频传输过程中的网络延迟时长达到或超过根据用户发送的自定义容忍最大延迟时长确定的目标延迟时长时,则增加视频帧率和分辨率,获得增加调整后的视频帧率和分辨率;
51、第二视频数据传输模块,用于按照增加调整后的视频帧率和分辨率向用户进行视频数据传输。
52、本发明有益效果:
53、本发明提出的一种基于用户容忍延迟来加强视频质量的方法和系统根据用户能够接受的延时,来增加抖动缓冲区,解决包括网络带来的抖动问题和抗丢包等算法引入的额外延迟问题。在用户能够接受的延时下,尽可能地保证视频质量,能够更好地对抗弱网环境。