TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

An Introduction to WebRTC Simulcast

64 pointsby shanewwarrenover 3 years ago

5 comments

Benjamin_Dobellover 3 years ago
This approach of the broadcasting &quot;peer&quot; sending multiple streams (with varying bitrates) to a relaying server is a neat solution. This is done to avoid transcoding on the relay servers, so it makes the servers cheap. It is superior to:<p>&gt; <i>Lower[ring] the bitrate of everyone’s streams so it doesn’t overwhelm the slow user (i.e. the lowest common denominator)</i><p>However, it&#x27;s still a lowest common denominator solution with respect to what codec is being used. The broadcasting &quot;peer&quot; has to send using a codec that every other peer supports. Essentially that means you&#x27;re stuck with the lowest common denominator codec.<p>If the relay server was to instead transcode, then the broadcasting peer could submit a single stream (lower bandwidth) in the best codec it supports. Then the relay server would generate additional streams in various bitrates and codecs (something this solution is trying to avoid).<p>So unfortunately there&#x27;s still a trade-off.<p>The article does mention &quot;Scalable video codecs&quot; as a future improvement. However, using the approach described in this article, we&#x27;re a long way off taking advantage of them, because whilst there&#x27;s no transcoding <i>every</i> participant would need to support VP9&#x2F;AV1.
评论 #28590960 未加载
评论 #28602092 未加载
评论 #28593008 未加载
Sean-Derover 3 years ago
LiveKit is an amazing project. If you haven’t had a chance check it out. It’s the first time I have seen WebRTC approached by people who know Cloud&#x2F;Scaling and it’s all a open source!
pthatchergover 3 years ago
Does anyone know where LiveKit&#x27;s implementation of congestion control is? I can&#x27;t find it looking through their code and to me that&#x27;s a major sign of the maturity or completeness of an SFU. For example, Jitsi, Signal&#x27;s SFU, and (I think) MediaSoup have it. But I&#x27;ve not yet seen a pion-based implementation of congestion control and I&#x27;m hoping that LiveKit has fixed that. But I can&#x27;t find it.
pthatchergover 3 years ago
That&#x27;s a well written article covering the basics of simulcast.<p>If you&#x27;re interested in seeing an implementation of an SFU doing simulcast forwarding written in Rust, we (at Signal) recently open sourced our SFU:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;signalapp&#x2F;Signal-Calling-Service&#x2F;blob&#x2F;main&#x2F;src&#x2F;call.rs" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;signalapp&#x2F;Signal-Calling-Service&#x2F;blob&#x2F;mai...</a>
jvilaltaover 3 years ago
When I click on get started it sends me to medium, which is now asking me to create an account. Not the best experience.