简体中文 | English
WebRTC Plugin
This 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
import ( _ "m7s.live/plugin/webrtc/v4" )
Default Configuration
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
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 islive/webrtc
- you can add other query parameters to the URL
ScreenShare Test Page
/webrtc/test/screenshare
?streamPath=xxx
The streamPath to publish, default islive/webrtc
- you can add other query parameters to the URL
Play Test Page
/webrtc/test/subscribe
?streamPath=xxx
The streamPath to play, default islive/webrtc
- you can add other query parameters to the URL
WHIP
WebRTC-HTTP ingestion protocol A specification for the exchange of SDP messages between WebRTC clients.