The Simple RTMP Restreamer dashboard and status API give you real-time visibility into every stream’s health. Each stream reports whether it is currently live, how much bandwidth it is consuming, and when it last received data from your encoder. Understanding what these indicators mean helps you quickly spot connection problems and confirm that your push targets are receiving video.

Status indicators

Each stream displays one of two states:
  • LIVE (green dot): the restreamer received frames from your encoder within the last 3 seconds. Your stream is active and data is flowing.
  • OFFLINE (grey dot): no frames have been received in the last 3 seconds, or no encoder is connected. The stream exists in the dashboard but is not currently active.
The 3-second window means the status indicator responds quickly — you will see it flip to OFFLINE almost immediately after your encoder disconnects or pauses.

Metrics explained

Bitrate — the current stream bitrate in kbps as reported by the active RTMP session. This reflects what your encoder is actually sending, not a configured target value. A bitrate of 0 while you expect to be live indicates the server is not receiving data. Last Frame — the Unix timestamp of the most recently received frame batch. Use this to determine exactly when the restreamer last saw activity from your encoder, which is useful for diagnosing intermittent drops.

Dashboard auto-refresh

The dashboard refreshes stream status every 5 seconds automatically. You do not need to reload the page manually to see updated values.

Checking status via the API

You can query stream status programmatically using the HTTP API. This is useful for monitoring integrations, health checks, or scripting alerts.
# All streams with status
curl http://your-server:6070/api/streams/-/status

# Single stream status
curl http://your-server:6070/api/streams/my-stream/status
If Basic Auth is enabled on your instance, include your credentials:
curl -u user:pass http://your-server:6070/api/streams/my-stream/status

Example API response

For a single stream (/api/streams/my-stream/status):
{
  "is_live": true,
  "bitrate": 4500,
  "last_frame_time": 1712345678
}
For all streams (/api/streams/-/status), each object includes the stream name, targets, and an embedded status:
[
  {
    "name": "my-stream",
    "targets": [
      { "name": "YouTube", "url": "rtmp://a.rtmp.youtube.com/live2/KEY" }
    ],
    "status": {
      "is_live": true,
      "bitrate": 4500,
      "last_frame_time": 1712345678
    }
  }
]
The status object contains three fields:
  • is_live (boolean): true if frames were received within the last 3 seconds, false otherwise.
  • bitrate (number, kbps): current ingest bitrate of the RTMP session.
  • last_frame_time (Unix timestamp): time the restreamer last received a frame batch from your encoder.
A stream that has been OFFLINE for 30 seconds without receiving any frames is automatically killed and its entry cleaned up. If you query a stream after this point, it will no longer appear in the API response or the dashboard.