/pingos

nginx-rtmp-module/rtmp/http-flv/hls/hls+/http-ts/pull/push/relay/upstream/rtsp/nginx

Primary LanguageCBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

PingOS

logo

website Build Status License

PingOS dependent NGINX constructed and inherits arut and AlexWoo of nginx-rtmp-module module. In addition to fixing some of the problems in the arut and AlexWoo versions, PingOS has made several functional extensions in encoding and live broadcast protocols and other aspects.


Server function

  • Live broadcast protocol: RTMP, HTTP (S) -FLV, HTTP (S) -TS, HLS (support HTTPS), HLS + (support HTTPS), DASH (support HTTPS).
  • Audio and video coding: H264, H265, MP3, AAC.
  • Live video: FLV file format and TS file format.
  • GOP cache: to achieve second open and memory reuse.
  • Application supports wildcards: wildcards can automatically match the application name used in the push-pull flow, without cumbersome configuration.
  • VHOST function: support to configure multiple server domain names.
  • Console interface: Control the push, pull, and recording processes through the HTTP API interface.
  • Configuration dynamic loading: After modifying the configuration file, the latest configuration can be read without any operation on nginx.
  • Flow accounting: By configuring custom flow logs.
  • Variable parameter configuration: Variables are used in the configuration file.
  • Back-to-source between processes : Pulling flows between processes solves the problem that the native nginx-rtmp-module module fails to pull flows in multiple processes.
  • Clustering function: push-pull streaming function between servers (http-flv, rtmp protocol).
  • html5 web player: The pingos-playerplayer will continue to be compatible with various browser platforms and multiple live broadcast protocols.

Guide

Quick installation

  • Use Docker image

  • Install directly into the system

    # Quick Installation
    git clone https://github.com/pingostack/pingos.git
    
    cd pingos
    
    ./release.sh -i
    
    
    # Start the service 
    cd /usr/local/pingos/
    ./sbin/nginx

Instructions

Push flow

Push stream address: rtmp://ip/live/stream_name

Play address

  • rtmp playback: rtmp://ip/live/stream_name

  • http (s) -flv playback: http (s)://ip/flv/stream name

  • hls play: http (s)://ip/hls/stream_name.m3u8

  • hls + play:http (s)://ip/hls2/ stream_name.m3u8

  • http (s) -ts play: http (s)://ip/ts/stream_name

Live stream monitoring background

Access address: http://ip/rtmp_stat Through this page, you can view the current push and playback records.

html5 player

html5 player

Access address: http://ip/h5player/flv This player is a web-based player based on flv.js, which can implement http-flv live streaming without plug-ins. Once you can access this page, it means that your live broadcast server has been successfully set up.

h5player