livekitwebrtcsrc
The livekitwebrtcsrc
plays streams from a LiveKit room.
The element can either subscribe to the streams published by a single
peer in the room using the same signaller::producer-peer-id
child
property that other webrtcsrc elements use or auto-subscribe to all peers
in a room by not specifying anything for that property. When in
auto-subscribe mode, you can use
signaller::excluded-producer-peer-ids=<a,b,c>
to ignore peers a
, b
,
and c
while subscribing to all other members of the room.
Sample Pipeline
First, start the livekit server with the --dev
flag to enable the test credentials.
Next, publish a stream:
gst-launch-1.0 \
videotestsrc is-live=1 \
! video/x-raw,width=640,height=360,framerate=15/1 \
! timeoverlay ! videoconvert ! queue \
! livekitwebrtcsink name=sink \
signaller::ws-url=ws://127.0.0.1:7880 \
signaller::api-key=devkey \
signaller::secret-key=secret \
signaller::room-name=testroom \
signaller::identity=gst-producer \
signaller::participant-name=gst-producer \
video-caps='video/x-vp8'
Finally, watch the stream:
gst-launch-1.0 \
livekitwebrtcsrc \
signaller::ws-url=ws://127.0.0.1:7880 \
signaller::api-key=devkey \
signaller::secret-key=secret \
signaller::room-name=testroom \
signaller::identity=gst-consumer \
signaller::participant-name=gst-consumer \
! queue ! videoconvert ! autovideosink
Hierarchy
GObject ╰──GInitiallyUnowned ╰──GstObject ╰──GstElement ╰──GstBin ╰──GstBaseWebRTCSrc ╰──livekitwebrtcsrc
Implemented interfaces
Factory details
Authors: – Jordan Yelloz
Classification: – Source/Network/WebRTC
Rank – none
Plugin – rswebrtc
Package – gst-plugin-webrtc
Pad Templates
audio_%s_%u
audio/x-raw(ANY):
application/x-rtp:
audio/x-opus:
audio_%u
audio/x-raw(ANY):
application/x-rtp:
audio/x-opus:
video_%s_%u
video/x-raw(ANY):
application/x-rtp:
video/x-vp8:
video/x-h264:
video/x-vp9:
video/x-h265:
video/x-av1:
video_%u
video/x-raw(ANY):
application/x-rtp:
video/x-vp8:
video/x-h264:
video/x-vp9:
video/x-h265:
video/x-av1:
The results of the search are