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).
- Linux (kernel 2.6 or later are recommended)/FreeBSD/MacOS/Windows (limited).
-
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;
}
}
}
}