camera-streamer/docs/streaming.md
2023-05-31 00:51:28 +02:00

35 lines
1.5 KiB
Markdown

# Streaming
Camera Streamer exposes a number of streaming capabilities.
## HTTP web server
All streams are exposed over very simple HTTP server, providing different streams for different purposes:
- `http://<ip>:8080/` - index page
- `http://<ip>:8080/snapshot` - provide JPEG snapshot (works well everywhere)
- `http://<ip>:8080/stream` - provide MJPEG stream (works well everywhere)
- `http://<ip>:8080/video` - provide automated video.mp4 or video.hls stream depending on browser used
- `http://<ip>:8080/video.mp4` or `http://<ip>:8080/video.mkv` - provide remuxed `mkv` or `mp4` stream (uses `ffmpeg` to remux, works as of now only in Desktop Chrome and Safari)
- `http://<ip>:8080/webrtc` - provide WebRTC feed
## WebRTC support
The WebRTC is accessible via `http://<ip>:8080/webrtc` by default and is available when there's H264 output generated.
WebRTC support is implemented using awesome [libdatachannel](https://github.com/paullouisageneau/libdatachannel/) library.
The support will be compiled by default when doing `make`.
## RTSP server
The camera-streamer implements RTSP server via `live555`. Enable it with:
- adding `--rtsp-port`: will enable RTSP server on 8554
- adding `--rtsp-port=1111`: will enable RTSP server on custom port
The camera-streamer will expose two stream (if low res mode is enabled):
- `rtsp://<ip>:8554/stream.h264` - high resolution stream (always enabled if H264 stream is available directly or via encoding)
- `rtsp://<ip>:8554/stream_low_res.h264` - low resolution stream if low res mode is configured via `-camera-low_res_factor`