whip-go is a simple WHIP client implementation in go using the WebRTC Pion libraries. It includes a WHIPClient class and a simple command line client supporrting screensharing to a WHIP ingestion endpoint.
First, clone code and build it, by Go 1.20+:
git clone https://github.com/ggarber/whip-go.git
cd whip-go
go build .
RFC: https://datatracker.ietf.org/doc/draft-ietf-wish-whip/
Usage
Start SRS
SRS 6.0.36+
orSRS 5.0.148+
, there is a WHIP and WHEP client in srs-player:Then open WHIP and click
Publish
button.Finally, open WHEP and click
Play
button.OBS-WHIP
See https://github.com/ossrs/srs/pull/3581 and Experience Ultra-Low Latency Live Streaming with OBS WHIP!
Larix
Larix Broadcaster Apps and SDKs for capturing and streaming from mobile devices.
Please use
SRS 6.0.36+
orSRS 5.0.148+
.Add a connection in Larix:
Settings > Connections > New WebRTC connection
http://your-ip:1985/rtc/v1/whip/?app=live&stream=livestream
Click the publish button.
whip-go
whip-go is a simple WHIP client implementation in go using the WebRTC Pion libraries. It includes a WHIPClient class and a simple command line client supporrting screensharing to a WHIP ingestion endpoint.
First, clone code and build it, by Go 1.20+:
Run with:
Note that it requires:
/rtc/v1/whip/?app=live&stream=livestream
for DELETE.It works with SRS WHIP.
Protocol
The endpoint of SRS for WHIP:
Query string:
live
.livestream
.The response of WHIP:
There is an example of WHIP publish:
whip-publish.pcapng.zip
The snapshot for request:
The snapshot for response:
SDP offer
SDP answer