jaryhe 67001cd674 new 6 ヶ月 前
..
webrtc 67001cd674 new 6 ヶ月 前
.gitignore 67001cd674 new 6 ヶ月 前
LICENSE 67001cd674 new 6 ヶ月 前
README.en.md 67001cd674 new 6 ヶ月 前
README.md 67001cd674 new 6 ヶ月 前
batcher.go 67001cd674 new 6 ヶ月 前
go.mod 67001cd674 new 6 ヶ月 前
go.sum 67001cd674 new 6 ヶ月 前
io.go 67001cd674 new 6 ヶ月 前
main.go 67001cd674 new 6 ヶ月 前
publish.html 67001cd674 new 6 ヶ月 前
publisher.go 67001cd674 new 6 ヶ月 前
subscribe.html 67001cd674 new 6 ヶ月 前
subscriber.go 67001cd674 new 6 ヶ月 前

README.en.md

简体中文 | 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 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

    WHIP

WebRTC-HTTP ingestion protocol A specification for the exchange of SDP messages between WebRTC clients.

WHIP ietf