Files
go2rtc/website/api/openapi.yaml
T
2026-02-06 21:45:55 +03:00

1198 lines
33 KiB
YAML

openapi: 3.1.0
info:
title: go2rtc
version: 1.9.13
license: { name: MIT,url: https://opensource.org/licenses/MIT }
contact: { url: https://github.com/AlexxIT/go2rtc }
description: |
Ultimate camera streaming application with support RTSP, RTMP, HTTP-FLV, WebRTC, MSE, HLS, MP4, MJPEG, HomeKit, FFmpeg, etc.
servers:
- url: http://localhost:1984
tags:
- name: Application
description: "[Module: API](https://github.com/AlexxIT/go2rtc#module-api)"
- name: Config
description: "[Configuration](https://github.com/AlexxIT/go2rtc#configuration)"
- name: Streams list
description: "[Module: Streams](https://github.com/AlexxIT/go2rtc#module-streams)"
- name: Consume stream
- name: HLS
- name: Snapshot
- name: Produce stream
- name: WebSocket
description: "WebSocket API endpoint: `/api/ws` (see `api/README.md`)"
- name: Discovery
- name: HomeKit
- name: ONVIF
- name: RTSPtoWebRTC
- name: WebTorrent
description: "[Module: WebTorrent](https://github.com/AlexxIT/go2rtc#module-webtorrent)"
- name: FFmpeg
- name: Debug
components:
parameters:
stream_src_path:
name: src
in: path
description: Source stream name
required: true
schema: { type: string }
example: camera1
stream_dst_path:
name: dst
in: path
description: Destination stream name
required: true
schema: { type: string }
example: camera1
stream_src_query:
name: src
in: query
description: Source stream name
required: true
schema: { type: string }
example: camera1
hls_session_id_path:
name: id
in: path
description: HLS session ID (passed as query param `id`)
required: true
schema: { type: string }
example: DvmHdd9w
mp4_filter:
name: mp4
in: query
description: MP4 codecs filter
required: false
schema:
type: string
enum: [ "", flac, all ]
example: flac
video_filter:
name: video
in: query
description: Video codecs filter
schema:
type: string
enum: [ "", all, h264, h265, mjpeg ]
example: h264,h265
audio_filter:
name: audio
in: query
description: Audio codecs filter
schema:
type: string
enum: [ "", all, aac, opus, pcm, pcmu, pcma ]
example: aac
responses:
discovery:
description: ""
content:
application/json:
example: { streams: [ { "name": "Camera 1","url": "..." } ] }
webtorrent:
description: ""
content:
application/json:
example: { share: AKDypPy4zz, pwd: H0Km1HLTTP }
paths:
/api:
get:
summary: Get application info
tags: [ Application ]
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
properties:
config_path: { type: string, example: "/config/go2rtc.yaml" }
host: { type: string, example: "192.168.1.123:1984" }
rtsp:
type: object
properties:
listen: { type: string, example: ":8554" }
default_query: { type: string, example: "video&audio" }
version: { type: string, example: "1.9.12" }
/api/exit:
post:
summary: Close application
tags: [ Application ]
parameters:
- name: code
in: query
description: Application exit code
required: false
schema: { type: integer }
example: 100
responses:
default:
description: ""
/api/restart:
post:
summary: Restart daemon
description: Restarts the daemon.
tags: [ Application ]
responses:
default:
description: ""
/api/log:
get:
summary: Get in-memory logs buffer
description: |
Returns current log output from the in-memory circular buffer.
tags: [ Application ]
responses:
"200":
description: OK
content:
application/jsonlines:
example: |
{"level":"info","version":"1.9.13","platform":"linux/amd64","revision":"dfe4755","time":1766841087331,"message":"go2rtc"}
delete:
summary: Clear in-memory logs buffer
tags: [ Application ]
responses:
"200":
description: ""
content:
text/plain: { example: "" }
/api/config:
get:
summary: Get main config file content
tags: [ Config ]
responses:
"200":
description: ""
content:
application/yaml: { example: "streams:..." }
"404":
description: Config file not found
post:
summary: Rewrite main config file
tags: [ Config ]
requestBody:
content:
"*/*": { example: "streams:..." }
responses:
default:
description: ""
patch:
summary: Merge changes to main config file
tags: [ Config ]
requestBody:
content:
"*/*": { example: "streams:..." }
responses:
default:
description: ""
/api/streams:
get:
summary: Get all streams info
tags: [ Streams list ]
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
additionalProperties:
type: object
properties:
producers:
type: array
consumers:
type: array
put:
summary: Create new stream
tags: [ Streams list ]
parameters:
- name: src
in: query
description: Stream source (URI)
required: true
schema: { type: string }
example: "rtsp://rtsp:12345678@192.168.1.123/av_stream/ch0"
- name: name
in: query
description: Stream name
required: false
schema: { type: string }
example: camera1
responses:
default:
description: ""
patch:
summary: Update stream source
tags: [ Streams list ]
parameters:
- name: src
in: query
description: Stream source (URI)
required: true
schema: { type: string }
example: "rtsp://rtsp:12345678@192.168.1.123/av_stream/ch0"
- name: name
in: query
description: Stream name
required: true
schema: { type: string }
example: camera1
responses:
default:
description: ""
delete:
summary: Delete stream
tags: [ Streams list ]
parameters:
- name: src
in: query
description: Stream name
required: true
schema: { type: string }
example: camera1
responses:
default:
description: ""
post:
summary: Send stream from source to destination
description: "[Stream to camera](https://github.com/AlexxIT/go2rtc#stream-to-camera)"
tags: [ Streams list ]
parameters:
- name: src
in: query
description: Stream source (URI)
required: true
schema: { type: string }
example: "ffmpeg:http://example.com/song.mp3#audio=pcma#input=file"
- name: dst
in: query
description: Destination stream name
required: true
schema: { type: string }
example: camera1
responses:
default:
description: ""
/api/streams.dot:
get:
summary: Get streams graph in Graphviz DOT format
tags: [ Streams list ]
parameters:
- name: src
in: query
description: Stream name filter. Repeat `src` to include multiple streams.
required: false
schema: { type: string }
example: camera1
responses:
"200":
description: OK
content:
text/vnd.graphviz:
example: "digraph { ... }"
/api/preload:
get:
summary: Get all preloaded streams
tags: [ Streams list ]
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
additionalProperties:
type: object
properties:
consumer:
type: object
query:
type: string
example: "video&audio"
put:
summary: Preload new stream
tags: [ Streams list ]
parameters:
- name: src
in: query
description: Stream source (name)
required: true
schema: { type: string }
example: "camera1"
- name: video
in: query
description: Video codecs filter
required: false
schema: { type: string }
example: all,h264,h265,...
- name: audio
in: query
description: Audio codecs filter
required: false
schema: { type: string }
example: all,aac,opus,...
- name: microphone
in: query
description: Microphone codecs filter
required: false
schema: { type: string }
example: all,aac,opus,...
responses:
default:
description: ""
delete:
summary: Delete preloaded stream
tags: [ Streams list ]
parameters:
- name: src
in: query
description: Stream source (name)
required: true
schema: { type: string }
example: "camera1"
responses:
default:
description: ""
/api/schemes:
get:
summary: Get supported source URL schemes
tags: [ Streams list ]
responses:
"200":
description: OK
content:
application/json:
schema:
type: array
items: { type: string }
example: [ rtsp, rtmp, webrtc, ffmpeg, hass ]
/api/streams?src={src}:
get:
summary: Get stream info in JSON format
tags: [ Consume stream ]
parameters:
- $ref: "#/components/parameters/stream_src_path"
responses:
"200":
description: ""
content:
application/json:
schema:
type: object
additionalProperties:
type: object
properties:
producers:
type: array
items: { type: object }
consumers:
type: array
items: { type: object }
/api/webrtc?src={src}:
post:
summary: Get stream in WebRTC format (WHEP)
description: "[Module: WebRTC](https://github.com/AlexxIT/go2rtc#module-webrtc)"
tags: [ Consume stream ]
parameters:
- $ref: "#/components/parameters/stream_src_path"
requestBody:
description: |
Support:
- JSON format (`Content-Type: application/json`)
- WHEP standard (`Content-Type: application/sdp`)
- raw SDP (`Content-Type: anything`)
required: true
content:
application/json: { example: { type: offer, sdp: "v=0..." } }
"application/sdp": { example: "v=0..." }
"*/*": { example: "v=0..." }
responses:
"200":
description: "Response on JSON or raw SDP"
content:
application/json: { example: { type: answer, sdp: "v=0..." } }
application/sdp: { example: "v=0..." }
"201":
description: "Response on `Content-Type: application/sdp`"
content:
application/sdp: { example: "v=0..." }
/api/stream.mp4?src={src}:
get:
summary: Get stream in MP4 format (HTTP progressive)
description: "[Module: MP4](https://github.com/AlexxIT/go2rtc#module-mp4)"
tags: [ Consume stream ]
parameters:
- $ref: "#/components/parameters/stream_src_path"
- name: duration
in: query
description: Limit the length of the stream in seconds
required: false
schema: { type: string }
example: 15
- name: filename
in: query
description: Download as a file with this name
required: false
schema: { type: string }
example: camera1.mp4
- name: rotate
in: query
description: "Rotate video (degrees). Supported values: 90, 180, 270."
required: false
schema: { type: integer, enum: [ 90, 180, 270 ] }
- name: scale
in: query
description: Scale video in format `width:height`
required: false
schema: { type: string, example: "1280:720" }
- $ref: "#/components/parameters/mp4_filter"
- $ref: "#/components/parameters/video_filter"
- $ref: "#/components/parameters/audio_filter"
responses:
200:
description: ""
content: { video/mp4: { example: "" } }
/api/stream.m3u8?src={src}:
get:
summary: Get stream in HLS format
description: "[Module: HLS](https://github.com/AlexxIT/go2rtc#module-hls)"
tags: [ Consume stream, HLS ]
parameters:
- $ref: "#/components/parameters/stream_src_path"
- $ref: "#/components/parameters/mp4_filter"
- $ref: "#/components/parameters/video_filter"
- $ref: "#/components/parameters/audio_filter"
responses:
200:
description: ""
content: { application/vnd.apple.mpegurl: { example: "" } }
/api/hls/playlist.m3u8?id={id}:
get:
summary: Get HLS media playlist for an active session
tags: [ HLS ]
parameters:
- $ref: "#/components/parameters/hls_session_id_path"
responses:
"200":
description: OK
content:
application/vnd.apple.mpegurl: { example: "" }
"404":
description: Session not found
/api/hls/segment.ts?id={id}:
get:
summary: Get HLS MPEG-TS segment for an active session
tags: [ HLS ]
parameters:
- $ref: "#/components/parameters/hls_session_id_path"
responses:
"200":
description: OK
content:
video/mp2t: { example: "" }
"404":
description: Segment or session not found
/api/hls/init.mp4?id={id}:
get:
summary: Get HLS fMP4 init segment for an active session
tags: [ HLS ]
parameters:
- $ref: "#/components/parameters/hls_session_id_path"
responses:
"200":
description: OK
content:
video/mp4: { example: "" }
"404":
description: Segment or session not found
/api/hls/segment.m4s?id={id}:
get:
summary: Get HLS fMP4 media segment for an active session
tags: [ HLS ]
parameters:
- $ref: "#/components/parameters/hls_session_id_path"
responses:
"200":
description: OK
content:
video/iso.segment: { example: "" }
"404":
description: Segment or session not found
/api/stream.mjpeg?src={src}:
get:
summary: Get stream in MJPEG format
description: "[Module: MJPEG](https://github.com/AlexxIT/go2rtc#module-mjpeg)"
tags: [ Consume stream ]
parameters:
- $ref: "#/components/parameters/stream_src_path"
responses:
200:
description: ""
content: { multipart/x-mixed-replace: { example: "" } }
/api/stream.ascii?src={src}:
get:
summary: Get stream in ASCII-art format (ANSI escape codes)
description: "[Module: MJPEG](https://github.com/AlexxIT/go2rtc#module-mjpeg)"
tags: [ Consume stream ]
parameters:
- $ref: "#/components/parameters/stream_src_path"
- name: color
in: query
description: Foreground mode (`8`, `256`, `rgb` or ANSI SGR code)
required: false
schema: { type: string }
- name: back
in: query
description: Background mode (`8`, `256`, `rgb` or ANSI SGR code)
required: false
schema: { type: string }
- name: text
in: query
description: Charset preset (empty/default, `block`) or custom characters
required: false
schema: { type: string }
responses:
"200":
description: OK
content:
text/plain: { example: "" }
"404":
description: Stream not found
/api/stream.y4m?src={src}:
get:
summary: Get stream in YUV4MPEG2 format (y4m)
tags: [ Consume stream ]
parameters:
- $ref: "#/components/parameters/stream_src_path"
responses:
"200":
description: OK
content:
application/octet-stream: { example: "" }
"404":
description: Stream not found
/api/stream.ts?src={src}:
get:
summary: Get stream in MPEG-TS format
tags: [ Consume stream ]
parameters:
- $ref: "#/components/parameters/stream_src_path"
responses:
"200":
description: OK
content:
video/mp2t: { example: "" }
"404":
description: Stream not found
/api/stream.aac?src={src}:
get:
summary: Get stream audio in AAC (ADTS) format
tags: [ Consume stream ]
parameters:
- $ref: "#/components/parameters/stream_src_path"
responses:
"200":
description: OK
content:
audio/aac: { example: "" }
"404":
description: Stream not found
/api/stream.flv?src={src}:
get:
summary: Get stream in FLV format
tags: [ Consume stream ]
parameters:
- $ref: "#/components/parameters/stream_src_path"
responses:
"200":
description: OK
content:
video/x-flv: { example: "" }
"404":
description: Stream not found
/api/frame.jpeg?src={src}:
get:
summary: Get snapshot in JPEG format
description: "[Module: MJPEG](https://github.com/AlexxIT/go2rtc#module-mjpeg)"
tags: [ Snapshot ]
parameters:
- $ref: "#/components/parameters/stream_src_path"
- name: name
in: query
description: Optional stream name to create/update if `src` is a URL
required: false
schema: { type: string }
- name: width
in: query
description: "Scale output width (alias: `w`)"
required: false
schema: { type: integer, minimum: 1 }
- name: height
in: query
description: "Scale output height (alias: `h`)"
required: false
schema: { type: integer, minimum: 1 }
- name: rotate
in: query
description: "Rotate output (degrees). Supported values: 90, 180, 270."
required: false
schema: { type: integer, enum: [ 90, 180, 270 ] }
- name: hardware
in: query
description: "Hardware acceleration engine for FFmpeg snapshot transcoding (alias: `hw`)"
required: false
schema: { type: string }
responses:
"200":
description: ""
content:
image/jpeg: { example: "" }
/api/frame.mp4?src={src}:
get:
summary: Get snapshot in MP4 format
description: "[Module: MP4](https://github.com/AlexxIT/go2rtc#module-mp4)"
tags: [ Snapshot ]
parameters:
- $ref: "#/components/parameters/stream_src_path"
- name: filename
in: query
description: Download as a file with this name
required: false
schema: { type: string }
example: camera1.mp4
responses:
200:
description: ""
content:
video/mp4: { example: "" }
/api/webrtc?dst={dst}:
post:
summary: Post stream in WebRTC format (WHIP)
description: "[Incoming: WebRTC/WHIP](https://github.com/AlexxIT/go2rtc#incoming-webrtcwhip)"
tags: [ Produce stream ]
parameters:
- $ref: "#/components/parameters/stream_dst_path"
responses:
"201":
description: Created
headers:
Location:
description: Resource URL for session
schema: { type: string }
content:
application/sdp: { example: "v=0..." }
"404":
description: Stream not found
/api/stream?dst={dst}:
post:
summary: Post stream in auto-detected format
description: |
Incoming source with automatic format detection. Use for pushing a stream into an existing `dst` stream.
tags: [ Produce stream ]
parameters:
- $ref: "#/components/parameters/stream_dst_path"
responses:
default:
description: ""
/api/stream.flv?dst={dst}:
post:
summary: Post stream in FLV format
description: "[Incoming sources](https://github.com/AlexxIT/go2rtc#incoming-sources)"
tags: [ Produce stream ]
parameters:
- $ref: "#/components/parameters/stream_dst_path"
responses:
default:
description: ""
/api/stream.ts?dst={dst}:
post:
summary: Post stream in MPEG-TS format
description: "[Incoming sources](https://github.com/AlexxIT/go2rtc#incoming-sources)"
tags: [ Produce stream ]
parameters:
- $ref: "#/components/parameters/stream_dst_path"
responses:
default:
description: ""
/api/stream.mjpeg?dst={dst}:
post:
summary: Post stream in MJPEG format
description: "[Incoming sources](https://github.com/AlexxIT/go2rtc#incoming-sources)"
tags: [ Produce stream ]
parameters:
- $ref: "#/components/parameters/stream_dst_path"
responses:
default:
description: ""
/api/ffmpeg:
post:
summary: Play file/live/TTS into a stream via FFmpeg
description: |
Helper endpoint for "stream to camera" scenarios.
Exactly one of `file`, `live`, `text` should be provided.
tags: [ FFmpeg ]
parameters:
- name: dst
in: query
description: Destination stream name
required: true
schema: { type: string }
example: camera1
- name: file
in: query
description: Input URL to treat as file (`#input=file`)
required: false
schema: { type: string }
example: "http://example.com/song.mp3"
- name: live
in: query
description: Live input URL
required: false
schema: { type: string }
example: "http://example.com/live.mp3"
- name: text
in: query
description: Text-to-speech phrase
required: false
schema: { type: string }
example: "Hello"
- name: voice
in: query
description: Optional TTS voice (engine-dependent)
required: false
schema: { type: string }
responses:
"200":
description: OK
"400":
description: Invalid parameters
"404":
description: Stream not found
/api/dvrip:
get:
summary: DVRIP cameras discovery
description: "[Source: DVRIP](https://github.com/AlexxIT/go2rtc#source-dvrip)"
tags: [ Discovery ]
responses:
"200": { $ref: "#/components/responses/discovery" }
/api/ffmpeg/devices:
get:
summary: FFmpeg USB devices discovery
description: "[Source: FFmpeg Device](https://github.com/AlexxIT/go2rtc#source-ffmpeg-device)"
tags: [ Discovery ]
responses:
"200": { $ref: "#/components/responses/discovery" }
/api/ffmpeg/hardware:
get:
summary: FFmpeg hardware transcoding discovery
description: "[Hardware acceleration](https://github.com/AlexxIT/go2rtc/wiki/Hardware-acceleration)"
tags: [ Discovery ]
responses:
"200": { $ref: "#/components/responses/discovery" }
/api/v4l2:
get:
summary: V4L2 video devices discovery (Linux)
tags: [ Discovery ]
responses:
"200": { $ref: "#/components/responses/discovery" }
/api/alsa:
get:
summary: ALSA audio devices discovery (Linux)
tags: [ Discovery ]
responses:
"200": { $ref: "#/components/responses/discovery" }
/api/gopro:
get:
summary: GoPro cameras discovery
tags: [ Discovery ]
responses:
"200": { $ref: "#/components/responses/discovery" }
/api/ring:
get:
summary: Ring cameras discovery
description: |
Provide either `email`/`password` (and optional `code` for 2FA) or `refresh_token`.
If 2FA is required, returns a JSON prompt instead of sources.
tags: [ Discovery ]
parameters:
- name: email
in: query
required: false
schema: { type: string }
- name: password
in: query
required: false
schema: { type: string }
- name: code
in: query
required: false
schema: { type: string }
- name: refresh_token
in: query
required: false
schema: { type: string }
responses:
"200":
description: OK
content:
application/json: { example: "" }
/api/tuya:
get:
summary: Tuya cameras discovery
tags: [ Discovery ]
parameters:
- name: region
in: query
description: Tuya API host (region)
required: true
schema: { type: string }
example: "openapi.tuyaus.com"
- name: email
in: query
required: true
schema: { type: string }
- name: password
in: query
required: true
schema: { type: string }
responses:
"200": { $ref: "#/components/responses/discovery" }
"400":
description: Invalid parameters
"404":
description: No cameras found
/api/hass:
get:
summary: Home Assistant cameras discovery
description: "[Source: Hass](https://github.com/AlexxIT/go2rtc#source-hass)"
tags: [ Discovery ]
responses:
"200": { $ref: "#/components/responses/discovery" }
"404": { description: No Hass config }
/api/discovery/homekit:
get:
summary: HomeKit cameras discovery
description: "[Source: HomeKit](https://github.com/AlexxIT/go2rtc#source-homekit)"
tags: [ Discovery ]
responses:
"200": { $ref: "#/components/responses/discovery" }
/api/nest:
get:
summary: Nest cameras discovery
tags: [ Discovery ]
parameters:
- name: client_id
in: query
required: true
schema: { type: string }
- name: client_secret
in: query
required: true
schema: { type: string }
- name: refresh_token
in: query
required: true
schema: { type: string }
- name: project_id
in: query
required: true
schema: { type: string }
responses:
"200": { $ref: "#/components/responses/discovery" }
/api/onvif:
get:
summary: ONVIF cameras discovery
description: "[Source: ONVIF](https://github.com/AlexxIT/go2rtc#source-onvif)"
tags: [ Discovery ]
parameters:
- name: src
in: query
description: Optional ONVIF device URL to enumerate profiles
required: false
schema: { type: string }
example: "onvif://user:pass@192.168.1.50:80"
responses:
"200": { $ref: "#/components/responses/discovery" }
/api/roborock:
get:
summary: Roborock vacuums discovery (requires prior auth)
description: "[Source: Roborock](https://github.com/AlexxIT/go2rtc#source-roborock)"
tags: [ Discovery ]
responses:
"200": { $ref: "#/components/responses/discovery" }
"404":
description: No auth
post:
summary: Roborock login and discovery
tags: [ Discovery ]
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
username: { type: string }
password: { type: string }
required: [ username, password ]
responses:
"200": { $ref: "#/components/responses/discovery" }
/api/homekit:
get:
summary: Get HomeKit servers state
tags: [ HomeKit ]
parameters:
- name: id
in: query
description: Optional stream name (server ID)
required: false
schema: { type: string }
responses:
"200":
description: OK
content:
application/json: { example: "" }
"404":
description: Server not found
post:
summary: Pair HomeKit camera and create/update stream
tags: [ HomeKit ]
parameters:
- name: id
in: query
description: Stream name to create/update
required: true
schema: { type: string }
- name: src
in: query
description: HomeKit URL (without pin)
required: true
schema: { type: string }
- name: pin
in: query
description: HomeKit PIN
required: true
schema: { type: string }
responses:
"200":
description: OK
delete:
summary: Unpair HomeKit camera and delete stream
tags: [ HomeKit ]
parameters:
- name: id
in: query
description: Stream name / server ID
required: true
schema: { type: string }
responses:
"200":
description: OK
"404":
description: Stream not found
/api/homekit/accessories:
get:
summary: Get HomeKit accessories JSON for a stream
tags: [ HomeKit ]
parameters:
- name: id
in: query
description: Stream name
required: true
schema: { type: string }
responses:
"200":
description: OK
content:
application/json: { example: { } }
"404":
description: Stream not found
/pair-setup:
post:
summary: HomeKit Pair Setup (HAP)
description: HomeKit Accessory Protocol endpoint (TLV8).
tags: [ HomeKit ]
requestBody:
required: true
content:
application/pairing+tlv8: { example: "" }
responses:
"200":
description: OK
content:
application/pairing+tlv8: { example: "" }
/pair-verify:
post:
summary: HomeKit Pair Verify (HAP)
description: HomeKit Accessory Protocol endpoint (TLV8).
tags: [ HomeKit ]
requestBody:
required: true
content:
application/pairing+tlv8: { example: "" }
responses:
"200":
description: OK
content:
application/pairing+tlv8: { example: "" }
/onvif/:
get:
summary: ONVIF server implementation
description: Simple realisation of the ONVIF protocol. Accepts any suburl requests
tags: [ ONVIF ]
responses:
default:
description: ""
/stream/:
get:
summary: RTSPtoWebRTC server implementation
description: Simple API for support [RTSPtoWebRTC](https://www.home-assistant.io/integrations/rtsp_to_webrtc/) integration
tags: [ RTSPtoWebRTC ]
responses:
default:
description: ""
/api/ws:
get:
summary: WebSocket endpoint
description: |
Upgrade to WebSocket and exchange JSON messages:
- Request: `{ "type": "...", "value": ... }`
- Response: `{ "type": "...", "value": ... }`
Supported message types depend on enabled modules (see `api/README.md`).
tags: [ WebSocket ]
parameters:
- name: src
in: query
description: Stream name (consumer)
required: false
schema: { type: string }
- name: dst
in: query
description: Stream name (producer)
required: false
schema: { type: string }
responses:
"101": { description: Switching Protocols }
/api/webtorrent?src={src}:
get:
summary: Get WebTorrent share info
tags: [ WebTorrent ]
parameters:
- $ref: "#/components/parameters/stream_src_path"
responses:
200: { $ref: "#/components/responses/webtorrent" }
post:
summary: Add WebTorrent share
tags: [ WebTorrent ]
parameters:
- $ref: "#/components/parameters/stream_src_path"
responses:
200: { $ref: "#/components/responses/webtorrent" }
delete:
summary: Delete WebTorrent share
tags: [ WebTorrent ]
parameters:
- $ref: "#/components/parameters/stream_src_path"
responses:
default: { description: "" }
/api/webtorrent:
get:
summary: Get all WebTorrent shares info
tags: [ WebTorrent ]
responses:
200: { $ref: "#/components/responses/discovery" }
/api/stack:
get:
summary: Show list unknown goroutines
tags: [ Debug ]
responses:
200:
description: ""
content: { text/plain: { example: "" } }