Files
plugin-webrtc/README.md
langhuihui 538e4e7033 fix: WHIP
2023-11-17 17:30:15 +08:00

85 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
_[English](https://github.com/Monibuca/plugin-webrtc/blob/v4/README.en.md) | 简体中文_
# WebRTC 插件
提供通过网页发布视频到monibuca以及从monibuca拉流通过webrtc进行播放的功能遵循WHIP规范
## 插件地址
https://github.com/Monibuca/plugin-webrtc
## 插件引入
```go
import ( _ "m7s.live/plugin/webrtc/v4" )
```
## 默认配置
```yaml
webrtc:
iceservers: []
publicip: [] # 可以是数组也可以是字符串(内部自动转成数组)
port: tcp:9000 # 可以是udp:8000-9000 范围端口也可以udp:9000 单个端口
pli: 2s # 2s
```
### ICE服务器配置格式
```yaml
webrtc:
iceservers:
- urls:
- stun:stun.l.google.com:19302
- turn:turn.example.org
username: user
credential: pass
```
### 本地测试无需修改配置如果远程访问则需要配置publicip
## 基本原理
通过浏览器和monibuca交换sdp信息然后读取rtp包或者发送rtp的方式进行
## API
### 播放地址
`/webrtc/play/[streamPath]`
Body: `SDP`
Content-Type: `application/sdp`
Response Body: `SDP`
### 推流地址
`/webrtc/push/[streamPath]`
Body: `SDP`
Content-Type: `application/sdp`
Response Body: `SDP`
### 推流测试页面
`/webrtc/test/publish`
- 可增加参数`?streamPath=xxx`指定推流地址,默认为`live/webrtc`
- 可以增加其他推流参数
### 屏幕分享测试
`/webrtc/test/screenshare`
- 可增加参数`?streamPath=xxx`指定推流地址,默认为`live/webrtc`
- 可以增加其他推流参数
### 播放测试页面
`/webrtc/test/subscribe`
- 可增加参数`?streamPath=xxx`指定播放地址,默认为`live/webrtc`
- 可以增加其他播放参数
## WHIP
WebRTC-HTTP ingestion protocol
用于WebRTC交换SDP信息的规范
[WHIP ietf](https://datatracker.ietf.org/doc/html/draft-ietf-wish-whip)