前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >RTC @scale 2024 | 提升实时通信的视频质量

RTC @scale 2024 | 提升实时通信的视频质量

作者头像
用户1324186
发布于 2024-04-12 05:43:37
发布于 2024-04-12 05:43:37
3040
举报
文章被收录于专栏:媒矿工厂媒矿工厂

来源:https://atscaleconference.com/videos/improving-video-quality-for-rtc/ 题目:IMPROVING VIDEO QUALITY FOR RTC 演讲者:SHYAM SADHWANI 内容整理:王寒

简介

我(SHYAM SADHWANI)是meta的一名软件工程师,我和亿万用户一样使用视频通话app与家人朋友保持联系,音视频质量在这一场景中非常重要。我有一段时间非常好奇,这种视频质量为什么不如Netflix流,在我使用相同的设备和网络的情况下,我在Netflix中获得了非常高质量的流,但是在TRC通话中我认为质量应该更好。非常幸运的是我找到了视频通话app的工作,我们探索了很多该领域的挑战,并且在接下来的演讲中我将分析我们在这一过程中学到的和所做的。

首先我们来看视频质量和网络发展时间线(如图所示)。

图1

我们可以看到在过去的几十年中,视频流的质量快速发展,但是RTC却落后了。比如我的网络可以播放4K视频,但是我在实时通话时画质变差或者不流畅。下面我们分析一下。

图2

可以看到,RTC通常在移动设备上使用,这些设备大多需要电池供电,在这个前提下,实时通话app需要做很多事情:获取视频、编码视频、加密并发送到网络,同时他们还需要做解密、解码和实时渲染音视频。此外,还有其他服务在同一个网络带宽下运行。要获得不错的通话体验,所有这些都必须在低延迟(小于300ms)下完成。在电池供电的低消耗场景下做这些非常有挑战性。这些场景没有豪华的服务器处理和离线处理。除了上图展示的限制之外,我们深入挖掘了一些不易观测到的限制。这些问题的解决方案在高质量网络和低质量网络中都非常不同,在本次分享中,我们将这两种都纳入考虑范围。

图3

低质量网络环境下的高保真视频

我们从低质量网络开始,对高、低质量网络的定义如下。它取决于场景和用户的应用。

图4

接下来我们看一下在低质量网络下我们有什么选择。最直接的方法就是使用更加高效的编码,例如AV1。此外我们也关注了一些小的方面比如视频增强。如下图所示。

图5

我们认为编码时一个我们需要调研的领域。我们快速浏览一下视频编码的发展历史:

图6

下面我来解释一下为什么我们选择使用AV1编码方式作为下一步的编码器。H264甚至H265被大多数应用 使用,并且有硬件支持能使用很低的电量来实现4K,60fps实时编码,并且质量很高。但是当我们在RTC场景下比较这些编码方式,例如7fps或者180p或者200kbps编码,他们并不像软件里的编码器一样表现优秀。主要原因在于他们没有意识到RTC场景中的网络质量问题。我相信这会得到改善,但是需要依赖软件的编码,所以我们选择了AV1。下图展示了在25kbps条件下不同编码器的通话质量。

图7

可以看到AV1给出了更好的质量和更少的块效应,你可以很清晰的看到背景和人像,这在RTC场景下非常重要。此外我们还进行了系统的质量比较,如下图所示,横坐标时视频比特率,纵坐标是PSNR。

图8

数据表明AV1在几乎所有的预设场景下超过了H264。大致提供了2dB的质量提升,如果我们保持质量不变AV1节省了大约百分之三十的比特率。因此我们相信AV1是更适合RTC的选择。在进行公测的时候我们面临着一个问题,二进制大小的增长。AV1增加了600kb,这是一个很大的增长,它影响了下载和安装的体验,尤其是对低质量设备的用户而言。我们发现在量化过程中会产生10%的二进制编码,我们修复了这一问题,并且我们还和Google合作在今后的编码器中优化。我们遇到的另一个问题是电池消耗,基于我们的实验室测试数据,我们发现AV1造成大约4%的电池消耗,这是一个非常严重的问题,考虑到许多RTC通话因为人们的电量耗尽或者低电量提醒而终止。为了解决这一问题,我们将它分解成多个方面,首先是设备过滤,我们过滤了低质量电池、低质量CPU的设备。我们优化了编码器来提高CPU表现。最后一个问题是我们使用web RTC和sdp来进行编码协商,因此我们协调了许多编码器例如AV1和264,能够根据CPU和电池水平切换编码器。这甚至允许非对称的编码,一边可以发送AV1另一边可以发送264。对于缓存超过内存的情况,我们过滤了低内存的设备,当然这也是我们正在致力于解决的问题。

我们需要一个用来衡量视频质量的指标,过去的指标会因为AV1和264有不同的量化系数无法使用。PSNR是工业标准指标但是它需要参考视频,这在RTC中是不具备的。我们在探索无参考的指标但是它是源敏感的目前还不能使用。我们不得不依赖一些新的指标。我们提出了一个策略,这样我们就可以使用psnr来评价。如下图所示。

图9

具体来讲我们将视频经过scaler之后引入rate distortion,将它与编码后的视频进行比较,在我们的实验室测试中,我们发现这样处理后的PSNR已经非常接近真实情况了。在这种简单的迁移后,我们发现AV1替换264会有2dB的提升。我们最终将AV1部署在IOS和Android设备上。我们没有完全替代264,后续还会进行优化覆盖率。

高质量网络环境下的高保真视频

大部分人有很好的网络环境,例如5G和100mpbs。其定义如下图所示。

图10

我们运行了一些测试用例,我们希望在RTC场景下提供像本地录制一样质量的视频。我们发现码率3.5Mbps帧率30fps分辨率720p左右的视频能给出像本地录制一样的质量。60FPS给出了更高的质量,更丝滑,但是也面临一些挑战。1080p的视频看起来更好,尤其是在显示屏很大的时候,但是我们发现大部分情况下用户不会发现在手机上1080p和720p有什么不同。现在会有人提出疑问为什么不调整本地配置来改变编码码率、拍摄分辨率。这件事不是非常容易的,尤其是你运行百万级别数量设备的公测,并且要收集很多指标。

图11

所以在第一次迭代的过程中,我们运行测试发现了巨大的倒退,例如丢包率等(如上图所示)。并且我们发现机械化的音频和一星用户调研结果的上升。我们探索原因,我们发现视频质量的震荡是非常坏的,对大部分用户来说看到时好时坏的视频比平稳的低质量视频更糟糕。为了解决这个问题,我们必须改变带宽估计算法来建立启发式算法并且改变算法来避免震荡。

另一个问题是,在上图可以看到网络管道中更高的带宽会将网络调整、带宽估计暴露在一个更大的问题域中。如果你使用很低的带宽就不会遇到任何拥塞,如果你用高带宽会面临很多拥塞并且你的算法需要被更多的测试。我们必须实现的是ISP网络检测,虽然这并不是标准的基于延迟的评估。带宽评估是每一个app都想要明确的,他们有各自的针对不同网络和设备的个性化的实现。

另一个问题是音频质量比视频更加重要。用FEC我们能支持2倍、3倍音频复制来规避任何音频降质。我们发现在蜂窝网络,我们遇到了更多拥塞和音频降质。所以我们在蜂窝网络场景下关闭了高质量模式,而依靠基于机器学习的设备定位和HD定位,观测过去的通话记录并且能建立启发是否在通话开始的时候选择高质量模式。

图12

接下来我们进行了进一步的迭代来测试上述改进。现在我们有很多评价指标,我们收集表现指标例如CPU、电池、网络指标像是trr丢包、视频卡顿、机器人音频和视频质量分数。我们发现电池的消耗来源于拍摄帧率,大部分消耗不是由于比特率和分辨率而增长的而是来自相机拍摄帧率。因此我们不选择60fps而是继续根据电池情况选择30fps甚至更低的24fps。另一个问题在于我们发现许多设备并不能满足高质量模式的高内存需求,所以我们将这些设备过滤。

我们实现了高质量传输,但我们仍然认为有许多问题可以改进。

总结

低质量网络

图13

高质量网络

图14
图14
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-04-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 媒矿工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
WebRTC 视频质量调校
WebRTC 视频质量需要一些调校来正确完成。让我们看看我们在比特率、分辨率和帧率方面有哪些可用的级别。
用户1324186
2021/08/25
2.5K0
RTC @scale 2024 | 通过LTR和RS码增强实时通信 (RTC) 网络弹性
近年来,随着 RTC 使用量的显着增长,在网络状况不佳的情况下时常发生数据丢包。数据包丢失在计算机网络中是常见现象,也是网络弹性面临的主要挑战之一。在 RTC 环境中,数据恢复不仅应该实时进行,还要利用尽可能减少带宽的占用。在视频中,作者深入探讨了如何增强视频网络在丢包场景下的弹性。
用户1324186
2024/05/20
5240
RTC @scale 2024 | 通过LTR和RS码增强实时通信 (RTC) 网络弹性
周末活动回顾:视频质量主观评价、实时RTC和AV1
周末去网易参加了一个小型的音视频活动,活动上来自Bilibili、网易云信、微帧科技的大佬分别就视频质量主观评价、5G低延时通信、AV1等话题进行了分享。本篇文章记录下我的收获和一些关键点,做个搬运匠,放一些当时的PPT和我的一些理解,希望对你有所帮助。
潇湘落木
2020/11/12
9800
周末活动回顾:视频质量主观评价、实时RTC和AV1
视频质量评估的新方式:VMAF百分位数
原文链接 / https://blog.twitter.com/engineering/en_us/topics/infrastructure/2020/introducing-vmaf-percentiles-for-video-quality-measurements.html
LiveVideoStack
2020/12/16
3.2K0
视频质量评估的新方式:VMAF百分位数
这项音视频国际赛事,腾讯云拿到21项第一
在连续多年获得H.265编码最佳之后,腾讯云媒体处理产品MPS今年在MSU比赛的H264、HEVC/AV1赛道,又斩获21项评测第一! 其中,TXAV1/V265编码器在所有分辨率测试中,包揽PSNR、SSIM和VMAF所有客观指标以及主观指标第一。同时,腾讯O264编码器也获得该赛道6项指标第一。 (图以1080P成绩为例) 此外,在云服务转码质量/转码成本这项重要业务评测中,腾讯云媒体处理产品MPS(Media Processing Service)也明显领先于其他参赛厂商。在同等转码成本下,使
腾讯云音视频
2023/04/23
6230
这项音视频国际赛事,腾讯云拿到21项第一
NVIDIA NVENC编码器 OBS 指南
由 Gerardo Delgado Cabrera 发表于 2019年2月26日 | 直播指南串流
西里国际站
2023/08/23
6K0
NVIDIA NVENC编码器 OBS 指南
Twitch未来五年的视频编码战略:从H.264到 AV1
今年的NAB2019上,资深编解码技术专家Jan Ozer采访了Twitch的首席研发工程师沈悦时博士,沈博士从编解码器的角度讨论了Twitch对于视频新技术的实践与探索,同时介绍了Twitch未来五年在流媒体技术战略方面的布局。他认为,五年后Twitch的头部以及尾部内容将100%使用AV1编码。 文 / Jan Ozer 译 / 郭俊翔 原文 https://www.streamingmedia.com/Articles/Editorial/Featured-Articles/NAB-2019-Twit
LiveVideoStack
2019/07/01
1.5K0
480p 720p 1080p 2k 4k 8k 12k分辨率视频分别占用多大带宽?
好多开发者,在设置视频编码参数的时候,对不同分辨率的带宽设置,缺乏相关的经验,实际上,视频分辨率与所需带宽之间的关系受到多个因素的影响,包括视频编码方式、帧率、视频内容的动态程度等。下面,我们对不同分辨率大致所需带宽的分析:
音视频牛哥
2024/10/22
2.4K0
480p 720p 1080p 2k 4k 8k 12k分辨率视频分别占用多大带宽?
视频技术全解析:分辨率、比特率、HDR 及应用
视频文件的制作和管理涉及多个技术要素,从分辨率、帧率到色彩空间,再到编解码器和容器格式的选择,这些都直接影响视频的质量、兼容性和存储效率。
除除
2025/03/31
5910
视频技术全解析:分辨率、比特率、HDR 及应用
如何使用下一代编码技术提升流媒体体验
读者们好,今天我将使用本公司Bitmovin与Hulu合作的案例,探讨Multi-Codec Streaming, 3-pass和Per-Title encoding技术。
LiveVideoStack
2019/12/30
1K0
如何使用下一代编码技术提升流媒体体验
【视频编码】 Content Aware ABR技术(七)
在本系列前面的帖子中,我们连续梳理了Netflix、YouTube、Beamr、EuclidIQ、Bitmovin及Harmonic在CAE(Content Aware Encoding) for A
用户1324186
2018/03/05
1.2K0
【视频编码】 Content Aware ABR技术(七)
Facebook:AV1比x264和libvpx-VP9提升至少30%
改进视频压缩对于更敏捷、更高质量地传输视频文件非常重要,同时使用更少的带宽和存储空间。从4K流媒体传输到智能手机的视频聊天及笔记本电脑的屏幕共享一切都可以通过更强质量更小的压缩编码视频。
LiveVideoStack
2021/09/01
7880
通过文本实现人脸通话视频的超低比特率压缩
视频流代表了当今互联网流量的大部分份额,估计高达 80% 。随着新冠疫情的爆发,互联网服务的使用量激增(50 - 100%),Zoom 等视频会议工具的使用量增加了 10 倍。一个典型的视频会议通话会消耗从 100 Kbps 到几 Mbps 的带宽。不幸的是,世界上绝大多数人口无法访问高带宽网络连接或面临间歇性连接问题。
用户1324186
2022/03/08
8520
通过文本实现人脸通话视频的超低比特率压缩
RTC @scale 2024 | 如何提升国际通话质量
通话几乎完全由音频和视频数据包组成,这些数据包在通话参与者之间交换。许多连接到互联网的设备都在网络地址转换(NAT)单元后面,这可能会阻止它们直接与其他设备通信。这就需要有一个“中间人”——一个通话中继器——来帮助在通话参与者之间中继媒体数据包,如图1所示。
用户1324186
2024/04/26
2060
RTC @scale 2024 | 如何提升国际通话质量
AV1,实时编码READY
一款编码器的成功,不仅需要大量的金钱,还需要耐心。AV1定稿三年后,是时候为它庆祝了。
全栈程序员站长
2022/09/30
1K0
AV1,实时编码READY
音视频的那几个关键参数
视频文件常含有视频流和音频流(有的甚至存在字幕流),每路流均具有一套参数来描述其特性:如音频流的采样率、通道数、位深、编码方式等,视频流的分辨率、帧率、颜色空间等,这些参数不仅影响到文件的质量,也影响到文件的大小和播放效果。因此,在音视频处理中,了解这些参数的含义和作用至关重要。
程序员的园
2024/11/15
2400
音视频的那几个关键参数
VP9与H.265的6个不同点
先来了解一下视频在互联网上传输需要经历哪些环节。它必须先使用麦克风和摄像机捕捉音频与视频。然后,原始数据必须压缩(编码)到编解码器中,通过互联网连接(使用传输协议)广播,发送到某种服务器端解决方案(server-side solution)(通常是CDN或一个基于云的集群(cloud-based cluster),如Red5 Pro),然后解压(解码),最终供用户观看视频。
LiveVideoStack
2020/09/24
2.6K0
视频技术入门指南
你真的理解视频技术吗?什么是帧率、分辨率、码率?它们之间有什么关系?你知道“1080p”和“4K”中的“p”和“K”代表什么吗?如何描述视频质量?蓝光光盘(Blu-ray Disc)究竟是什么?H.264/AVC、H.265/HEVC、AV1 等编解码器有什么区别?苹果的 Apple ProRes 又有什么特殊用途?HDR 和杜比视界(Dolby Vision)是什么?为什么视频文件有.mp4、.mkv、.flv 等多种后缀?
timerring
2025/02/11
1420
RTC业务中的视频编解码引擎构建
大家好,我是来自网易云信的何鸣,目前主要负责网易云信G2音视频框架中视频编解码引擎的开发与优化工作。
LiveVideoStack
2021/02/05
1.5K0
基于QoE的实时视频编码优化:低功耗,低延时,高质量
大家好,我是吴晓然。本次将为大家介绍基于QoE的实时视频编码优化探索。实时音视频的传输框架大同小异,虽然不同厂商在一些技术细节的打磨上略有差异,但都有一个共同的目标那就是QoE——用户体验质量。那么其根本原因何在?
LiveVideoStack
2021/09/01
1.6K0
推荐阅读
相关推荐
WebRTC 视频质量调校
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档