Media streaming server based on nginx-rtmp-module.
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).
GCC for compiling on Unix-like systems.
MSVC for compiling on Windows (see how to build nginx on win32).
cd to NGINX source directory & run this:
./configure --add-module=/path/to/BLSS
make
make install
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
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;
}
}
}
}