Skip to content

Real-Time Messaging Protocol

This module provides the following features for the RTMP protocol:

RTMP Client

You can get a stream from an RTMP server, for example Nginx with nginx-rtmp-module.

Client Configuration

yaml
streams:
  rtmp_stream: rtmp://192.168.1.123/live/camera1

RTMP Server

new in v1.8.0

Streaming output stream in rtmp format:

shell
ffplay rtmp://localhost:1935/camera1

Streaming ingest stream in rtmp format:

shell
ffmpeg -re -i BigBuckBunny.mp4 -c copy -f flv rtmp://localhost:1935/camera1

Server Configuration

By default, the RTMP server is disabled.

yaml
rtmp:
  listen: ":1935"  # by default - disabled!

FLV Server

Streaming output in flv format.

shell
ffplay http://localhost:1984/stream.flv?src=camera1

Streaming ingest in flv format.

shell
ffmpeg -re -i BigBuckBunny.mp4 -c copy -f flv http://localhost:1984/api/stream.flv?dst=camera1

Tested clients

FromToComment
go2rtcReolink RLC-520A fw. v3.1.0.801OK

go2rtc.yaml

yaml
streams:
  rtmp-reolink1: rtmp://192.168.10.92/bcs/channel0_main.bcs?channel=0&stream=0&user=admin&password=password
  rtmp-reolink2: rtmp://192.168.10.92/bcs/channel0_sub.bcs?channel=0&stream=1&user=admin&password=password
  rtmp-reolink3: rtmp://192.168.10.92/bcs/channel0_ext.bcs?channel=0&stream=1&user=admin&password=password

Tested server

FromToComment
OBS 31.0.2go2rtcOK
OpenIPC 2.5.03.02-litego2rtcOK
FFmpeg 6.1go2rtcOK
GoPro Black 12go2rtcOK, 1080p, 5000kbps

go2rtc.yaml

yaml
rtmp:
  listen: :1935
streams:
  tmp:

OBS

Settings > Stream:

  • Service: Custom
  • Server: rtmp://192.168.10.101/tmp
  • Stream Key: <empty>
  • Use auth: <disabled>

OpenIPC

WebUI > Majestic > Settings > Outgoing

  • Enable
  • Address: rtmp://192.168.10.101/tmp
  • Save
  • Restart

FFmpeg

shell
ffmpeg -re -i bbb.mp4 -c copy -f flv rtmp://192.168.10.101/tmp

GoPro

GoPro Quik > Camera > Translation > Other