我正在使用 WebRTC 开发我的一个应用程序。尚不清楚 WebRTC 是否原生支持视频包的自适应比特率流式传输?VP8 / VP9 是否支持自适应比特率编码?bitrate_controller 是 WebRTC 的 ABR 实现吗?
任何人都可以请更多地说明这一点吗?我发现没有确凿的证据表明 WebRTC 本身支持视频的自适应流。
我正在使用 WebRTC 开发我的一个应用程序。尚不清楚 WebRTC 是否原生支持视频包的自适应比特率流式传输?VP8 / VP9 是否支持自适应比特率编码?bitrate_controller 是 WebRTC 的 ABR 实现吗?
任何人都可以请更多地说明这一点吗?我发现没有确凿的证据表明 WebRTC 本身支持视频的自适应流。
根据本网站上的 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 at 30 FPS:1.0~2.0 Mbps 360p at 30 FPS:0.5~1.0 Mbps 180p at 30 帧/秒:0.1~0.5 Mbps
因此,单方高清通话可能需要高达 2.5+ Mbps 的网络带宽。添加更多的对等点,质量必须下降,以考虑额外的带宽和 CPU、GPU 和内存处理要求。
据我了解,两种编解码器都会使音频和视频流适应可用带宽。希望这可以帮助。