1.2 KiB
RTMP-specific features
RTMP is a protocol that can be used for publishing and reading streams. Features in these page are shared among both tasks. Regarding specific tasks, see Publish and Read.
Encryption
RTMP connections can be encrypted with TLS, obtaining the RTMPS protocol. A TLS certificate is needed and can be generated with OpenSSL:
openssl genrsa -out server.key 2048
openssl req -new -x509 -sha256 -key server.key -out server.crt -days 3650
Edit mediamtx.yml and set the rtmpEncryption
, rtmpServerKey
and rtmpServerCert
parameters:
rtmpEncryption: optional
rtmpServerKey: server.key
rtmpServerCert: server.crt
Streams can be published and read with the rtmps scheme and the 1937 port:
rtmps://localhost:1937/...
Be aware that RTMPS is currently unsupported by all major players. However, you can use a local MediaMTX instance to decrypt streams before reading them, or alternatively a proxy like stunnel or nginx. For instance, you can launch a local MediaMTX instance with this configuration:
paths:
decrypted:
source: rtmps://original-stream
And then read rtmp://localhost/decrypted
instead of rtmps://original-stream
.