Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aggresss/simulcast-demo
simulcast-playground
https://github.com/aggresss/simulcast-demo
Last synced: about 7 hours ago
JSON representation
simulcast-playground
- Host: GitHub
- URL: https://github.com/aggresss/simulcast-demo
- Owner: aggresss
- Created: 2020-06-15T06:22:55.000Z (over 4 years ago)
- Default Branch: gh-pages
- Last Pushed: 2023-01-07T19:17:02.000Z (about 2 years ago)
- Last Synced: 2024-11-24T14:07:36.246Z (2 months ago)
- Language: HTML
- Homepage: https://aggresss.github.io/simulcast-playground
- Size: 909 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
This repository contains single-page browser tests for simulcast.
The simulcast stream is split into three different streams using SDP munging in order to expose
the result both visually as well as to getStats()* [Chrome, legacy](https://aggresss.github.io/simulcast-playground/html/chrome)
1. 将 CreateOffer 生成的 SDP 进行修改,在 Unified Plan 模式下也出现同一个 m-line 中多个 track,通过 SSRC + 1 的方式加入 track,并且加入 'a=ssrc-group:SIM' 然后用修改后的 SDP setLocalDescription,这样 Chrome 会识别出 Simulcast;
2. 将 修改后的 SDP 中多个 track 拆分开,使用 group/mid 进行组合传输,每个 track 为一个独立的 Media Stream,将这次修改过的 SDP 发送到对端作为真正的 Offer,是对端可以识别 3 个 MediaStream 并进行渲染播放;* [Chrome, spec](https://aggresss.github.io/simulcast-playground/html/rid-as-mid)
1. 使用 addTransceiver() 方法,在 sendEncodings 中加入 rid 数组 的方式开启 simulcast;SDP 信息中由 rid 代替 SSRC;
2. 将单个 m-line 拆分成多个 m-line (将当个 MediaStream 拆分成多个 MediaStream),由 group/mid 进行组合传输,标记每个 track 的 msid,对端 peer 可以将这三个 track 分别进行渲染和播放;* [Firefox](https://aggresss.github.io/simulcast-playground/html/firefox)
1. 使用 addTransceiver() 方法,在 sendEncodings 中加入 rid 数组 的方式开启 simulcast;SDP 信息中同时包含 rid 和 SSRC;
2. 将单个 m-line 拆分成多个 m-line (将当个 MediaStream 拆分成多个 MediaStream),由 group/mid 进行组合传输,标记每个 track 的 msid,对端 peer 可以将这三个 track 分别进行渲染和播放;See the [WebRTCHacks blog post](https://webrtchacks.com/a-playground-for-simulcast-without-an-sfu/) for more information.
# License
MIT