Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/sdroege/gst-plugin-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorSanchayan Maity <sanchayan@asymptotic.io>2022-10-24 09:48:31 +0300
committerSanchayan Maity <sanchayan@asymptotic.io>2022-12-05 08:34:45 +0300
commit6be57968886f0e3392c34a17cb5522b7eb517250 (patch)
treee09a1439435712e13e9185bfcf823ec74b5b5bf5 /docs
parent3172bcd0952a15a4dac0ab8276663d698a383451 (diff)
Add a WebRTC WHEP source element
This implements WHEP specification based on https://datatracker.ietf.org/doc/html/draft-murillo-whep-00 and has been tested with Cloudflare. Server offers are likely to be removed from the WHEP specification in upcoming revisions, to avoid compatibility issues. None of the commercial services implementing WHEP support server initiated offers. So we only support client side initiated offers. Follows session setup and tear down as covered in Figure 1, Section 3 of the specification. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/949>
Diffstat (limited to 'docs')
-rw-r--r--docs/plugins/gst_plugins_cache.json157
1 files changed, 155 insertions, 2 deletions
diff --git a/docs/plugins/gst_plugins_cache.json b/docs/plugins/gst_plugins_cache.json
index 89aefba9..c628fc7c 100644
--- a/docs/plugins/gst_plugins_cache.json
+++ b/docs/plugins/gst_plugins_cache.json
@@ -7748,8 +7748,145 @@
"url": "https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs"
},
"webrtchttp": {
- "description": "GStreamer WebRTC Plugin for WebRTC HTTP protocols (WHIP)",
+ "description": "GStreamer WebRTC Plugin for WebRTC HTTP protocols (WHIP/WHEP)",
"elements": {
+ "whepsrc": {
+ "author": "Sanchayan Maity <sanchayan@asymptotic.io>",
+ "description": "A bin to stream media using the WebRTC HTTP Egress Protocol (WHEP)",
+ "hierarchy": [
+ "GstWhepSrc",
+ "GstBin",
+ "GstElement",
+ "GstObject",
+ "GInitiallyUnowned",
+ "GObject"
+ ],
+ "interfaces": [
+ "GstChildProxy"
+ ],
+ "klass": "Source/Network/WebRTC",
+ "long-name": "WHEP Source Bin",
+ "pad-templates": {
+ "src_%%u": {
+ "caps": "application/x-rtp:\n",
+ "direction": "src",
+ "presence": "sometimes"
+ }
+ },
+ "properties": {
+ "audio-caps": {
+ "blurb": "Governs what audio codecs will be proposed",
+ "conditionally-available": false,
+ "construct": false,
+ "construct-only": false,
+ "controllable": false,
+ "default": "audio/x-opus",
+ "mutable": "null",
+ "readable": true,
+ "type": "GstCaps",
+ "writable": true
+ },
+ "auth-token": {
+ "blurb": "Authentication token to use, will be sent in the HTTP Header as 'Bearer <auth-token>'",
+ "conditionally-available": false,
+ "construct": false,
+ "construct-only": false,
+ "controllable": false,
+ "default": "NULL",
+ "mutable": "null",
+ "readable": true,
+ "type": "gchararray",
+ "writable": true
+ },
+ "ice-transport-policy": {
+ "blurb": "The policy to apply for ICE transport",
+ "conditionally-available": false,
+ "construct": false,
+ "construct-only": false,
+ "controllable": false,
+ "default": "all (0)",
+ "mutable": "null",
+ "readable": true,
+ "type": "GstRsWebRTCICETransportPolicy",
+ "writable": true
+ },
+ "stun-server": {
+ "blurb": "The STUN server of the form stun://hostname:port",
+ "conditionally-available": false,
+ "construct": false,
+ "construct-only": false,
+ "controllable": false,
+ "default": "NULL",
+ "mutable": "null",
+ "readable": true,
+ "type": "gchararray",
+ "writable": true
+ },
+ "timeout": {
+ "blurb": "Value in seconds to timeout WHEP endpoint requests (0 = No timeout).",
+ "conditionally-available": false,
+ "construct": false,
+ "construct-only": false,
+ "controllable": false,
+ "default": "15",
+ "max": "3600",
+ "min": "0",
+ "mutable": "null",
+ "readable": true,
+ "type": "guint",
+ "writable": true
+ },
+ "turn-server": {
+ "blurb": "The TURN server of the form turn(s)://username:password@host:port.",
+ "conditionally-available": false,
+ "construct": false,
+ "construct-only": false,
+ "controllable": false,
+ "default": "NULL",
+ "mutable": "null",
+ "readable": true,
+ "type": "gchararray",
+ "writable": true
+ },
+ "use-link-headers": {
+ "blurb": "Use link headers to configure ICE servers from the WHEP server response.",
+ "conditionally-available": false,
+ "construct": false,
+ "construct-only": false,
+ "controllable": false,
+ "default": "false",
+ "mutable": "null",
+ "readable": true,
+ "type": "gboolean",
+ "writable": true
+ },
+ "video-caps": {
+ "blurb": "Governs what video codecs will be proposed",
+ "conditionally-available": false,
+ "construct": false,
+ "construct-only": false,
+ "controllable": false,
+ "default": "video/x-vp8; video/x-h264; video/x-vp9; video/x-h265",
+ "mutable": "null",
+ "readable": true,
+ "type": "GstCaps",
+ "writable": true
+ },
+ "whep-endpoint": {
+ "blurb": "The WHEP server endpoint to POST SDP offer to. Example: http://localhost:7090/whep/endpoint/abc123",
+ "conditionally-available": false,
+ "construct": false,
+ "construct-only": false,
+ "controllable": false,
+ "default": "NULL",
+ "mutable": "null",
+ "readable": true,
+ "type": "gchararray",
+ "writable": true
+ }
+ },
+ "rank": "marginal"
+ },
"whipsink": {
"author": "Taruntej Kanakamalla <taruntej@asymptotic.io>",
"description": "A bin to stream media using the WebRTC HTTP Ingestion Protocol (WHIP)",
@@ -7816,7 +7953,23 @@
},
"filename": "gstwebrtchttp",
"license": "MPL",
- "other-types": {},
+ "other-types": {
+ "GstRsWebRTCICETransportPolicy": {
+ "kind": "enum",
+ "values": [
+ {
+ "desc": "All: get both STUN and TURN candidate pairs",
+ "name": "all",
+ "value": "0"
+ },
+ {
+ "desc": "Relay: get only TURN candidate pairs",
+ "name": "relay",
+ "value": "1"
+ },
+ ]
+ },
+ },
"package": "gst-plugin-webrtchttp",
"source": "gst-plugin-webrtchttp",
"tracers": {},