Skip to content
James edited this page Dec 13, 2020 · 1 revision

RTMP-HLS-Stunnel Docker

Docker image for video streaming server that supports RTMP & RTMPS Ingest, and RTMP, RTMPS (via Stunnel), HLS, and DASH streams.

Description

This Docker image can be used to create a video streaming server that supports RTMP & RTMPS Ingest, RTMP & RTMPS (via Stunnel) Pushing, and RTMP, HLS & DASH playback out of the box. It also allows adaptive streaming and custom transcoding of video streams. All modules are built from source on Debian and Alpine Linux base images.

Features

  • The backend is Nginx with nginx-rtmp-module.
  • FFmpeg for transcoding and adaptive streaming
  • Stunnel for RTMPS Push support (primarily for Facebook Live)
  • Default settings:
    • RTMP is ON
    • HLS is ON
    • DASH is ON
    • Other Nginx configuration files are also provided to allow for RTMP-only streams or FFmpeg transcoding and adaptive streaming.
  • Statistic page of RTMP streams at http://<server ip>:<server port>/stats.
  • Available web video players (based on video.js and hls.js) at /usr/local/nginx/html/players.

Current Image is built using:

  • Nginx 1.18.0 (compiled from source)
  • Nginx-rtmp-module 1.2.1 (compiled from source)
  • FFmpeg 4.3.1 (compiled from source)

This image was inspired by similar docker images from tiangolo and alfg. It has small build size, adds support for HTTP-based streams and adaptive streaming using FFmpeg.

Clone this wiki locally