Update docs
This commit is contained in:
@@ -33,6 +33,7 @@ Ultimate camera streaming application with support for dozens formats and protoc
|
||||
- [streaming audio](#stream-to-camera) to all cameras with [two-way audio](#two-way-audio) support
|
||||
- mixing tracks from different sources to single stream
|
||||
- [auto-match](www/README.md#javascript-api) client-supported streaming formats and codecs
|
||||
- [streaming stats](#streaming-stats) for all active connections
|
||||
- can be [integrated to any project](#projects-using-go2rtc) or be used as [standalone app](#go2rtc-binary)
|
||||
|
||||
#### Inspired by
|
||||
@@ -64,6 +65,7 @@ Ultimate camera streaming application with support for dozens formats and protoc
|
||||
- [Stream to camera](#stream-to-camera)
|
||||
- [Publish stream](#publish-stream)
|
||||
- [Preload stream](#preload-stream)
|
||||
- [Streaming stats](#streaming-stats)
|
||||
- [Codecs](#codecs)
|
||||
- [Codecs filters](#codecs-filters)
|
||||
- [Codecs madness](#codecs-madness)
|
||||
@@ -82,9 +84,7 @@ Ultimate camera streaming application with support for dozens formats and protoc
|
||||
2. Open web interface: `http://localhost:1984/`
|
||||
3. Add [streams](#streaming-input) to [config](#configuration)
|
||||
|
||||
**Developers:**
|
||||
|
||||
- integrate [HTTP API](internal/api/README.md) into your smart home platform
|
||||
**Developers:** integrate [HTTP API](internal/api/README.md) into your smart home platform.
|
||||
|
||||
### go2rtc: Binary
|
||||
|
||||
@@ -141,14 +141,16 @@ Latest, but maybe unstable version:
|
||||
## Configuration
|
||||
|
||||
This is the `go2rtc.yaml` file in [YAML-format](https://en.wikipedia.org/wiki/YAML).
|
||||
The configuration can be changed in the [web interface](www/README.md) at `http://localhost:1984`.
|
||||
The configuration can be changed in the [WebUI](www/README.md) at `http://localhost:1984`.
|
||||
The editor provides syntax highlighting and checking.
|
||||
|
||||

|
||||
|
||||
The simplest config looks like this:
|
||||
|
||||
```yaml
|
||||
streams:
|
||||
hall_camera: rtsp://admin:password@192.168.1.123/cam/realmonitor?channel=1&subtype=0
|
||||
hall-camera: rtsp://admin:password@192.168.1.123/cam/realmonitor?channel=1&subtype=0
|
||||
```
|
||||
|
||||
- by default go2rtc will search `go2rtc.yaml` in the current work directory
|
||||
@@ -162,6 +164,12 @@ More information can be [found here](internal/app/README.md).
|
||||
|
||||
A summary table of all modules and features can be found [here](internal/README.md).
|
||||
|
||||
**Core modules**
|
||||
|
||||
- [`app`](internal/app/README.md) - Reading [configs](internal/app/README.md) and setting up [logs](internal/app/README.md#log).
|
||||
- [`api`](internal/api/README.md) - Handle [HTTP](internal/api/README.md) and [WebSocket](internal/api/ws/README.md) API.
|
||||
- [`streams`](internal/streams/README.md) - Handle a list of streams.
|
||||
|
||||
### Streaming input
|
||||
|
||||
#### public protocols
|
||||
@@ -298,6 +306,13 @@ You can preload any stream on go2rtc start. This is useful for cameras that take
|
||||
|
||||
[read more](internal/streams/README.md#preload-stream)
|
||||
|
||||
### Streaming stats
|
||||
|
||||
[WebUI](www/README.md) provides detailed information about all active connections, including IP-addresses, formats, protocols, number of packets and bytes transferred.
|
||||
Via the [HTTP API](internal/api/README.md) in [`json`](https://en.wikipedia.org/wiki/JSON) or [`dot`](https://en.wikipedia.org/wiki/DOT_(graph_description_language)) format on an interactive connection map.
|
||||
|
||||

|
||||
|
||||
## Codecs
|
||||
|
||||
If you have questions about why video or audio is not displayed, you need to read the following sections.
|
||||
|
||||
+99
-55
@@ -3,9 +3,9 @@
|
||||
go2rtc tries to name formats, protocols and codecs the same way they are named in FFmpeg.
|
||||
Some formats and protocols go2rtc supports exclusively. They have no equivalent in FFmpeg.
|
||||
|
||||
- The `echo`, `expr`, `hass` and `onvif` modules receive a link to a stream. They don't know the protocol in advance.
|
||||
- The `exec` and `ffmpeg` modules support many formats. They are identical to the `http` module.
|
||||
- The `api`, `app`, `debug`, `ngrok`, `pinggy`, `srtp`, `streams` are supporting modules.
|
||||
- The [`echo`], [`expr`], [`hass`] and [`onvif`] modules receive a link to a stream. They don't know the protocol in advance.
|
||||
- The [`exec`] and [`ffmpeg`] modules support many formats. They are identical to the [`http`] module.
|
||||
- The [`api`], [`app`], [`debug`], [`ngrok`], [`pinggy`], [`srtp`], [`streams`] are supporting modules.
|
||||
|
||||
**Modules** implement communication APIs: authorization, encryption, command set, structure of media packets.
|
||||
|
||||
@@ -13,55 +13,99 @@ Some formats and protocols go2rtc supports exclusively. They have no equivalent
|
||||
|
||||
**Protocols** implement transport for data transmission.
|
||||
|
||||
| module | formats | protocols | input | output | ingest | two-way |
|
||||
|--------------|-----------------|------------------|-------|--------|--------|---------|
|
||||
| `alsa` | `pcm` | `ioctl` | yes | | | |
|
||||
| `bubble` | - | `http` | yes | | | |
|
||||
| `doorbird` | `mulaw` | `http` | yes | | | yes |
|
||||
| `dvrip` | - | `tcp` | yes | | | yes |
|
||||
| `echo` | * | * | yes | | | |
|
||||
| `eseecloud` | `rtp` | `http` | yes | | | |
|
||||
| `exec` | * | `pipe`, `rtsp` | yes | | | yes |
|
||||
| `expr` | * | * | yes | | | |
|
||||
| `ffmpeg` | * | `pipe`, `rtsp` | yes | | | |
|
||||
| `flussonic` | `mp4` | `ws` | yes | | | |
|
||||
| `gopro` | `mpegts` | `udp` | yes | | | |
|
||||
| `hass` | * | * | yes | | | |
|
||||
| `hls` | `mpegts`, `mp4` | `http` | | yes | | |
|
||||
| `homekit` | `rtp` | `hap` | yes | yes | | no |
|
||||
| `http` | `adts` | `http`, `tcp` | yes | | | |
|
||||
| `http` | `flv` | `http`, `tcp` | yes | | | |
|
||||
| `http` | `h264` | `http`, `tcp` | yes | | | |
|
||||
| `http` | `hevc` | `http`, `tcp` | yes | | | |
|
||||
| `http` | `hls` | `http`, `tcp` | yes | | | |
|
||||
| `http` | `mjpeg` | `http`, `tcp` | yes | | | |
|
||||
| `http` | `mpjpeg` | `http` | yes | | | |
|
||||
| `http` | `mpegts` | `http`, `tcp` | yes | | | |
|
||||
| `http` | `wav` | `http`, `tcp` | yes | | | |
|
||||
| `http` | `yuv4mpegpipe` | `http`, `tcp` | yes | | | |
|
||||
| `isapi` | `alaw`, `mulaw` | `http` | | | | yes |
|
||||
| `ivideon` | `mp4` | `ws` | yes | | | |
|
||||
| `mjpeg` | `ascii` | `http` | | yes | | |
|
||||
| `mjpeg` | `jpeg` | `http` | | yes | | |
|
||||
| `mjpeg` | `mpjpeg` | `http` | | yes | yes | |
|
||||
| `mjpeg` | `yuv4mpegpipe` | `http` | | yes | | |
|
||||
| `mp4` | `mp4` | `http`, `ws` | | yes | | |
|
||||
| `mpegts` | `adts` | `http` | | yes | | |
|
||||
| `mpegts` | `mpegts` | `http` | | yes | yes | |
|
||||
| `multitrans` | `rtp` | `tcp` | | | | yes |
|
||||
| `nest` | `srtp` | `rtsp`, `webrtc` | yes | | | no |
|
||||
| `onvif` | `rtp` | * | yes | yes | | |
|
||||
| `ring` | `srtp` | `webrtc` | yes | | | yes |
|
||||
| `roborock` | `srtp` | `webrtc` | yes | | | yes |
|
||||
| `rtmp` | `rtmp` | `rtmp` | yes | yes | yes | |
|
||||
| `rtmp` | `flv` | `http` | | yes | yes | |
|
||||
| `rtsp` | `rtsp` | `rtsp` | yes | yes | yes | yes |
|
||||
| `tapo` | `mpegts` | `http` | yes | | | yes |
|
||||
| `tuya` | `srtp` | `webrtc` | yes | | | yes |
|
||||
| `v4l2` | `rawvideo` | `ioctl` | yes | | | |
|
||||
| `webrtc` | `srtp` | `webrtc` | yes | yes | yes | yes |
|
||||
| `webtorrent` | `srtp` | `webrtc` | yes | yes | | |
|
||||
| `wyoming` | `pcm` | `tcp` | | yes | | |
|
||||
| `wyze` | - | `tutk` | yes | | | yes |
|
||||
| `xiaomi` | - | `cs2`, `tutk` | yes | | | yes |
|
||||
| `yandex` | `srtp` | `webrtc` | yes | | | |
|
||||
| module | formats | protocols | input | output | ingest | two-way |
|
||||
|----------------|-----------------|------------------|-------|--------|--------|---------|
|
||||
| [`alsa`] | `pcm` | `ioctl` | yes | | | |
|
||||
| [`bubble`] | - | `http` | yes | | | |
|
||||
| [`doorbird`] | `mulaw` | `http` | yes | | | yes |
|
||||
| [`dvrip`] | - | `tcp` | yes | | | yes |
|
||||
| [`echo`] | * | * | yes | | | |
|
||||
| [`eseecloud`] | `rtp` | `http` | yes | | | |
|
||||
| [`exec`] | * | `pipe`, `rtsp` | yes | | | yes |
|
||||
| [`expr`] | * | * | yes | | | |
|
||||
| [`ffmpeg`] | * | `pipe`, `rtsp` | yes | | | |
|
||||
| [`flussonic`] | `mp4` | `ws` | yes | | | |
|
||||
| [`gopro`] | `mpegts` | `udp` | yes | | | |
|
||||
| [`hass`] | * | * | yes | | | |
|
||||
| [`hls`] | `mpegts`, `mp4` | `http` | | yes | | |
|
||||
| [`homekit`] | `srtp` | `hap` | yes | yes | | no |
|
||||
| [`http`] | `adts` | `http`, `tcp` | yes | | | |
|
||||
| [`http`] | `flv` | `http`, `tcp` | yes | | | |
|
||||
| [`http`] | `h264` | `http`, `tcp` | yes | | | |
|
||||
| [`http`] | `hevc` | `http`, `tcp` | yes | | | |
|
||||
| [`http`] | `hls` | `http`, `tcp` | yes | | | |
|
||||
| [`http`] | `mjpeg` | `http`, `tcp` | yes | | | |
|
||||
| [`http`] | `mpjpeg` | `http` | yes | | | |
|
||||
| [`http`] | `mpegts` | `http`, `tcp` | yes | | | |
|
||||
| [`http`] | `wav` | `http`, `tcp` | yes | | | |
|
||||
| [`http`] | `yuv4mpegpipe` | `http`, `tcp` | yes | | | |
|
||||
| [`isapi`] | `alaw`, `mulaw` | `http` | | | | yes |
|
||||
| [`ivideon`] | `mp4` | `ws` | yes | | | |
|
||||
| [`mjpeg`] | `ascii` | `http` | | yes | | |
|
||||
| [`mjpeg`] | `jpeg` | `http` | | yes | | |
|
||||
| [`mjpeg`] | `mpjpeg` | `http` | | yes | yes | |
|
||||
| [`mjpeg`] | `yuv4mpegpipe` | `http` | | yes | | |
|
||||
| [`mp4`] | `mp4` | `http`, `ws` | | yes | | |
|
||||
| [`mpegts`] | `adts` | `http` | | yes | | |
|
||||
| [`mpegts`] | `mpegts` | `http` | | yes | yes | |
|
||||
| [`multitrans`] | `rtp` | `tcp` | | | | yes |
|
||||
| [`nest`] | `srtp` | `rtsp`, `webrtc` | yes | | | no |
|
||||
| [`onvif`] | `rtp` | * | yes | yes | | |
|
||||
| [`ring`] | `srtp` | `webrtc` | yes | | | yes |
|
||||
| [`roborock`] | `srtp` | `webrtc` | yes | | | yes |
|
||||
| [`rtmp`] | `flv` | `rtmp` | yes | yes | yes | |
|
||||
| [`rtmp`] | `flv` | `http` | | yes | yes | |
|
||||
| [`rtsp`] | `rtsp` | `rtsp` | yes | yes | yes | yes |
|
||||
| [`tapo`] | `mpegts` | `http` | yes | | | yes |
|
||||
| [`tuya`] | `srtp` | `webrtc` | yes | | | yes |
|
||||
| [`v4l2`] | `rawvideo` | `ioctl` | yes | | | |
|
||||
| [`webrtc`] | `srtp` | `webrtc` | yes | yes | yes | yes |
|
||||
| [`webtorrent`] | `srtp` | `webrtc` | yes | yes | | |
|
||||
| [`wyoming`] | `pcm` | `tcp` | | yes | | |
|
||||
| [`wyze`] | - | `tutk` | yes | | | yes |
|
||||
| [`xiaomi`] | - | `cs2`, `tutk` | yes | | | yes |
|
||||
| [`yandex`] | `srtp` | `webrtc` | yes | | | |
|
||||
|
||||
[`alsa`]: alsa/README.md
|
||||
[`api`]: api/README.md
|
||||
[`app`]: app/README.md
|
||||
[`bubble`]: bubble/README.md
|
||||
[`debug`]: debug/README.md
|
||||
[`doorbird`]: doorbird/README.md
|
||||
[`dvrip`]: dvrip/README.md
|
||||
[`echo`]: echo/README.md
|
||||
[`eseecloud`]: eseecloud/README.md
|
||||
[`exec`]: exec/README.md
|
||||
[`expr`]: expr/README.md
|
||||
[`ffmpeg`]: ffmpeg/README.md
|
||||
[`flussonic`]: flussonic/README.md
|
||||
[`gopro`]: gopro/README.md
|
||||
[`hass`]: hass/README.md
|
||||
[`hls`]: hls/README.md
|
||||
[`homekit`]: homekit/README.md
|
||||
[`http`]: http/README.md
|
||||
[`isapi`]: isapi/README.md
|
||||
[`ivideon`]: ivideon/README.md
|
||||
[`mjpeg`]: mjpeg/README.md
|
||||
[`mp4`]: mp4/README.md
|
||||
[`mpegts`]: mpegts/README.md
|
||||
[`multitrans`]: multitrans/README.md
|
||||
[`nest`]: nest/README.md
|
||||
[`ngrok`]: ngrok/README.md
|
||||
[`onvif`]: onvif/README.md
|
||||
[`pinggy`]: pinggy/README.md
|
||||
[`ring`]: ring/README.md
|
||||
[`roborock`]: roborock/README.md
|
||||
[`rtmp`]: rtmp/README.md
|
||||
[`rtsp`]: rtsp/README.md
|
||||
[`srtp`]: srtp/README.md
|
||||
[`streams`]: streams/README.md
|
||||
[`tapo`]: tapo/README.md
|
||||
[`tuya`]: tuya/README.md
|
||||
[`v4l2`]: v4l2/README.md
|
||||
[`webrtc`]: webrtc/README.md
|
||||
[`webtorrent`]: webtorrent/README.md
|
||||
[`wyoming`]: wyze/README.md
|
||||
[`wyze`]: wyze/README.md
|
||||
[`xiaomi`]: xiaomi/README.md
|
||||
[`yandex`]: yandex/README.md
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# App
|
||||
|
||||
The application module is responsible for reading configuration files and running other modules.
|
||||
The application module is responsible for reading configuration files, running other modules and setting up [logs](#log).
|
||||
|
||||
The configuration can be edited through the application's WebUI with code highlighting, syntax and specification checking.
|
||||
|
||||
@@ -60,10 +60,10 @@ api:
|
||||
listen: ":1984" # default public port for WebUI and HTTP API
|
||||
|
||||
ffmpeg:
|
||||
bin: "ffmpeg" # default binary path for FFmpeg
|
||||
bin: "ffmpeg" # default binary path for FFmpeg
|
||||
|
||||
log:
|
||||
level: "info" # default log level
|
||||
level: "info" # default log level
|
||||
output: "stdout"
|
||||
time: "UNIXMS"
|
||||
|
||||
|
||||
@@ -41,6 +41,7 @@ export default defineConfig({
|
||||
{text: 'Stream to camera', link: '/#stream-to-camera'},
|
||||
{text: 'Publish stream', link: '/#publish-stream'},
|
||||
{text: 'Preload stream', link: '/#preload-stream'},
|
||||
{text: 'Streaming stats', link: '/#streaming-stats'},
|
||||
],
|
||||
collapsed: false,
|
||||
},
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 219 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 124 KiB |
Reference in New Issue
Block a user