Nginx搭建RTMP服务器
本篇文章主要是记述了基于Nginx搭建RTMP直播推流服务器。关于安装Nginx的内容可以查看这篇博客 《CentOS7编译安装nginx》 ,下载Nginx源码可以点击这个链接, http://img.zouchanglin.cn/nginx-1.9.9.tar.gz ,下面是Nginx推流模块的代码,可以在Github下载,但是也可以点击这个链接 http://img.zouchanglin.cn/nginx-rtmp-module.zip 。这样在做直播相关的测试的时候就可以用上了。
在编译Nginx的时候需要把nginx-rtmp-module这个模块也带上:
1./configure --prefix=/usr/local/nginx
2 --with-http_ssl_module --add-module=/root/nginx-rtmp-module
下面是nginx.config的配置:
1user root;
2worker_processes 2;
3
4events {
5 worker_connections 1024;
6}
7
8http {
9 include mime.types;
10 default_type application/octet-stream;
11
12 sendfile on;
13 keepalive_timeout 65;
14
15 server {
16 server_name localhost;
17 listen 8080;
18
19 location /stat {
20 rtmp_stat all;
21 rtmp_stat_stylesheet stat.xsl;
22 }
23
24 # 路径根据实际位置配置
25 location /stat.xsl {
26 root /usr/local/nginx/nginx-rtmp-module/;
27 }
28
29 location /control {
30 rtmp_control all;
31 }
32
33 # 路径根据实际位置配置
34 location /rtmp-publisher {
35 root /usr/local/nginx/nginx-rtmp-module/test;
36 }
37
38 # 路径根据实际位置配置
39 location / {
40 root /usr/local/nginx/nginx-rtmp-module/test/www;
41 }
42 }
43}
44
45rtmp {
46 server {
47 listen 1935;
48 chunk_size 4000;
49 application live {
50 live on;
51 hls on;
52 hls_path /tmp/hls; # rtmp推流文件存放路径
53 hls_fragment 5s; # 每个TS文件包含5秒的视频内容
54 }
55 }
56}
接下来启动Nginx即可,但是在启动之前先建立文件存放的文件夹:
只要没报错,而且可以访问到Nginx的默认页面并且无报错就说明没问题了:
使用BOS开始推流,推流服务器选择自定义URL:rtmp://192.168.199.102/live
,如果OBStudio不显示图像源的话可以在系统中做如下设置:
已经可以成功推流,那么如何接收这种直播流呢?可以使用VLC,打开网络串流:rtmp://192.168.199.102/live
,这样通过Nginx作为RTMP直播推流服务器已经实现了。