Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/monibuca/plugin-webrtc
webrtc plugin for monibuca
https://github.com/monibuca/plugin-webrtc
webrtc
Last synced: 19 days ago
JSON representation
webrtc plugin for monibuca
- Host: GitHub
- URL: https://github.com/monibuca/plugin-webrtc
- Owner: Monibuca
- License: mit
- Created: 2020-05-22T08:36:17.000Z (over 4 years ago)
- Default Branch: v4
- Last Pushed: 2024-07-09T12:01:24.000Z (7 months ago)
- Last Synced: 2025-01-12T08:13:34.956Z (19 days ago)
- Topics: webrtc
- Language: Go
- Homepage:
- Size: 377 KB
- Stars: 56
- Watchers: 5
- Forks: 36
- Open Issues: 10
-
Metadata Files:
- Readme: README.en.md
- License: LICENSE
Awesome Lists containing this project
README
_[简体中文](https://github.com/Monibuca/plugin-webrtc) | English_
# WebRTC PluginThis plugin provides the functionality to stream videos to Monibuca through a web page and to play streams from Monibuca using WebRTC technology. It follows the WHIP specification.
## Plugin URL
https://github.com/Monibuca/plugin-webrtc
## Plugin Import
```go
import ( _ "m7s.live/plugin/webrtc/v4" )
```## Default Configuration
```yaml
webrtc:
iceservers: []
publicip: [] # can be an array or a single string (automatically converted to an array)
port: tcp:9000 # can be a range of ports like udp:8000-9000 or a single port like udp:9000
pli: 2s # 2s
```### ICE Server Configuration Format
```yaml
webrtc:
iceservers:
- urls:
- stun:stun.l.google.com:19302
- turn:turn.example.org
username: user
credential: pass
```### Configuration for Local Testing
If testing locally, no change in configuration is required. However, if you are accessing it remotely, then you need to configure the public IP.
## Basic Principle
The exchange of SDP messages between the browser and Monibuca takes place and RTP packets are read or sent to stream videos.
## API
### Play address
`/webrtc/play/[streamPath]`Body: `SDP`
Content-Type: `application/sdp`
Response Body: `SDP`
### Push address
`/webrtc/push/[streamPath]`
Body: `SDP`
Content-Type: `application/sdp`
Response Body: `SDP`
### Push Test Page
`/webrtc/test/publish`
- `?streamPath=xxx` The streamPath to publish, default is `live/webrtc`
- you can add other query parameters to the URL### ScreenShare Test Page
`/webrtc/test/screenshare`
- `?streamPath=xxx` The streamPath to publish, default is `live/webrtc`
- you can add other query parameters to the URL### Play Test Page
`/webrtc/test/subscribe`
- `?streamPath=xxx` The streamPath to play, default is `live/webrtc`
- you can add other query parameters to the URL
## WHIPWebRTC-HTTP ingestion protocol
A specification for the exchange of SDP messages between WebRTC clients.[WHIP ietf](https://datatracker.ietf.org/doc/html/draft-ietf-wish-whip-02)