Skip to content
gnolizuhPublic

About

NGINX-based Live Media Streaming Server

Topics

Resources

Code of conduct

Stars

194 stars

Watchers

29 watching

Forks

Latest commit

 

History

773 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BLSS: Bravo Live Streaming Service

Powered Build Status Downloads

Media streaming server based on nginx-rtmp-module.

Features

  • All features of nginx-rtmp-module are inherited, i.e., it is 100% compatible with nginx-rtmp-module.

  • HTTP-based FLV live streaming support.

  • Dynamic GOP cache for low latency.

  • Socket sharding feature for higer performance (MUST be linux kernel 2.6 or later).

  • Ability to separate different users at top of application block (rtmp service{} block).

  • Dynamic matching virtual hosts supported.

  • Provide ability for relaying by bkdr hash function (relay_stream hash option).

Systems supported

  • Linux (kernel 2.6 or later are recommended)/FreeBSD/MacOS/Windows (limited).

Dependencies

Build

cd to NGINX source directory & run this:

./configure --add-module=/path/to/BLSS
make
make install

Get Started

  • Build BLSS module according to the section above.

  • Configure the nginx.conf file and start nginx.

  • Publish stream.

      ffmpeg -re -i live.flv -c copy -f flv rtmp://publish.com[:port]/appname/streamname
    
  • Play.

      ffplay rtmp://rtmpplay.com[:port]/appname/streamname # RTMP
      ffplay http://flvplay.com[:port]/appname/streamname  # HTTP based FLV
    

Example

worker_processes 8;   # multi-worker process mode
relay_stream hash;    # stream relay mode

rtmp {
    server {
        listen 1935 reuseport;

        service cctv {
            hostname pub rtmp publish.com;      # match rtmp push domain
            hostname sub rtmp rtmpplay.com;     # match rtmp pull domain
            hostname sub http_flv flvplay.com;  # match http-flv pull domain

            application live {
                live on;
                gop_cache on;
                gop_cache_count 5;  # cache 5 GOPs

                hls on;
                hls_fragment 10s;
                hls_playlist_length 30s;
            }
        }
    }
}

About

NGINX-based Live Media Streaming Server

Topics

Resources

Code of conduct

Stars

194 stars

Watchers

29 watching

Forks

Releases

Packages

Contributors

Languages