docs: update (#4995)

This commit is contained in:
Alessandro Ros
2025-09-18 19:09:11 +02:00
committed by GitHub
parent 0b635617c7
commit 0ede14d1a1
5 changed files with 24 additions and 6 deletions

View File

@@ -16,7 +16,7 @@ There are several installation methods available: standalone binary, Docker imag
Download and launch the image:
```
```sh
docker run --rm -it --network=host bluenviron/mediamtx:latest
```
@@ -33,7 +33,7 @@ The `--network=host` flag is mandatory for RTSP to work, since Docker can change
If the `--network=host` cannot be used (for instance, it is not compatible with Windows or Kubernetes), you can disable the RTSP UDP transport protocol, add the server IP to `MTX_WEBRTCADDITIONALHOSTS` and expose ports manually:
```
```sh
docker run --rm -it \
-e MTX_RTSPTRANSPORTS=tcp \
-e MTX_WEBRTCADDITIONALHOSTS=192.168.x.x \
@@ -60,7 +60,7 @@ makepkg -si
Available via ports tree or using packages (2025Q2 and later) as listed below:
```
```sh
cd /usr/ports/multimedia/mediamtx && make install clean
pkg install mediamtx
```

View File

@@ -524,7 +524,7 @@ audiotestsrc ! audioconvert ! avenc_aac ! mux.
Make sure that GStreamer version is at least 1.22, and that if the codec is H264, the profile is baseline. Use the `whipclientsink` element:
```
```sh
gst-launch-1.0 videotestsrc \
! video/x-raw,width=1920,height=1080,format=I420 \
! x264enc speed-preset=ultrafast bitrate=2000 \

View File

@@ -75,6 +75,24 @@ gst-launch-1.0 filesrc location=file.mp4 ! qtdemux name=d \
d.video_0 ! rtspclientsink location=rtsp://localhost:8554/mystream tls-validation-flags=0 profiles=GST_RTSP_PROFILE_SAVP
```
## Tunneling
In environments where HTTP is the only protocol available for exposing services (for instance, when there are mandatory API gateways or strict firewalls), the RTSP protocol can be tunneled inside HTTP. There are two standardized HTTP tunneling variants:
- RTSP over WebSocket: more efficient, requires WebSocket support from the gateway / firewall
- RTSP over HTTP: older variant, should work even in extreme cases
_MediaMTX_ is automatically able to handle incoming HTTP tunneled connections, without any configuration required.
In order to read a RTSP from an external server using HTTP tunneling, you can use the `rtsp+http` scheme:
```yml
paths:
source: rtsp+http://standard-rtsp-url
```
There are also the `rtsp+https`, `rtsp+ws`, `rtsp+wss` schemes to handle any variant.
## Decreasing corrupted frames
In some scenarios, when publishing or reading from the server with RTSP, frames can get corrupted. This can be caused by several reasons:

View File

@@ -246,7 +246,7 @@ vlc --network-caching=50 rtsp://localhost:8554/mystream
The VLC shipped with Ubuntu 21.10 doesn't support playing RTSP due to a license issue (see [here](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=982299) and [here](https://stackoverflow.com/questions/69766748/cvlc-cannot-play-rtsp-omxplayer-instead-can)). To fix the issue, remove the default VLC instance and install the snap version:
```
```sh
sudo apt purge -y vlc
snap install vlc
```

View File

@@ -8,7 +8,7 @@ There are several ways to change the configuration:
- included into the release bundle
- available in the root folder of the Docker image (`/mediamtx.yml`); it can be overridden in this way:
```
```sh
docker run --rm -it --network=host -v "$PWD/mediamtx.yml:/mediamtx.yml:ro" bluenviron/mediamtx
```