WebRTC是否支持视频自适应码率流?

6

我正在使用WebRTC开发我的应用程序之一。

关于WebRTC是否本地支持视频数据包的自适应比特率流,目前还没有明确的说法。VP8 / VP9是否具有自适应比特率编码支持?bitrate_controller是WebRTC对ABR的实现吗?

请问有人能提供更多信息吗?我找不到确凿的证据表明WebRTC本地支持视频的自适应流媒体。


WebRTC视频通话支持并利用ABR(虽然我不确定它是否原生于VP8)。我已经让VP8和9动态调整通话的分辨率,这导致我的本地录制器出现了问题,直到我进行了补偿。 - Benjamin Trent
谢谢您的回复。WebRTC原生中有一个名为“比特率控制器”的模块。这是用于监测网络并设置编码器比特率的模块吗?我的意图是将WebRTC原生ABR代码用于其他用途。您能否帮我找到实现此功能的文件? - Ajay Ponna Venkatesh
1个回答

10

根据此网站上找到的WebRTC文档:https://hpbn.co/webrtc/#audio-opus-and-video-vp8-bitrates,我发现以下信息:

在请求浏览器提供音频和视频时,需要注意流的大小和质量。虽然硬件可能能够捕获高清晰度的流,但CPU和带宽必须跟得上!当前的WebRTC实现使用Opus和VP8编解码器:

  • Opus编解码器用于音频,支持恒定比特率和可变比特率编码,需要6-510 Kbit/s的带宽。好消息是该编解码器可以无缝切换并适应可变带宽。
  • VP8编解码器用于视频编码,也需要100-2,000+ Kbit/s的带宽,比特率取决于流的质量:720p,30 FPS:1.0~2.0 Mbps;360p,30 FPS:0.5~1.0 Mbps;180p,30 FPS:0.1~0.5 Mbps。

因此,单方高清晰度通话可能需要高达2.5+ Mbps的网络带宽。增加更多对等方后,为考虑额外的带宽以及CPU、GPU和内存处理要求,质量必须下降。

据我理解,这两种编解码器都会根据可用带宽调整音频和视频流。希望这可以帮助您。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接