Linux nginx+rtmp服务器配置实现直播点播

Posted Sentinel流量降级监控

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux nginx+rtmp服务器配置实现直播点播相关的知识,希望对你有一定的参考价值。

第一步,创建单独的目录(因为软件较多,容易混乱),下载需要的软件:

我们需要下载nginx,pcre,zlib,openssl以及nginx-rtmp-module:

nginx 官网下载最新,

nginx-rtmp-module 可以在github上下载最新,

本人是在官网下载最新

mkdir work

cd work

wget http://nginx.org/download/nginx-1.10.3.tar.gz

wget http://zlib.net/zlib-1.2.11.tar.gz

wget https://ftp.pcre.org/pub/pcre/pcre-8.40.tar.gz

wget https://www.openssl.org/source/openssl-1.0.2k.tar.gz

wget https://github.com/arut/nginx-rtmp-module/archive/master.zip

 

第二步,分别解压这四个文件:

tar -zxvf 文件名

 

第三步,编译安装nginx:

./configure --prefix=/usr/local/nginx --with-debug --with-pcre=../pcre-8.40 --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.0.2k --add-module=../nginx-rtmp-module-master
 
make
 
sudo make install

 

第四步:测试:

1.安装目标/usr/local/nginx目录

进入sbin目录,执行nginx,
/usr/local/nginx/sbin/nginx 

2.设置开机启动

sudo wget https://raw.github.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginx
sudo chmod +x /etc/init.d/nginx
sudo update-rc.d nginx defaults

3.启动nginx服务

sudo service nginx start
sudo service nginx stop

4.验证nginx开启状态

如果是本地,在浏览器中输入:http://localhost:8080,,localhost可以写成127.0.0.1,如果是服务器,写入服务器ip和port。

如下图,则开启成功。

 

 

5.配置nginx.conf

首先在里面加入rtmp的配置(一定要注意编码集和空格):

rtmp {  
    server {  
        listen 1935;  
  	#直播
        application live {  
            live on;  
        }
 
        application hls {  
            live on;  
            hls on;  
            hls_path /tmp/hls;  
        } 
 
	#点播
	application vod {
            play /tmp/video;
    	}
 
    }  
} 

  然后,针对hls,还需要在http里面增加一个location配置

location /hls {  
            types {  
                application/vnd.apple.mpegurl m3u8;  
                video/mp2t ts;  
            }  
            root /tmp;  
            add_header Cache-Control no-cache;  
} 
注意:修改nginx.conf之后,需重启nginx服务,才会生效:
$/usr/local/nginx/sbin/nginx -s reload
再次在浏览器中测试:http://localhost:8080,以确认nginx开启的状态。

保存完配置文件后,启动nginx,通过netstat -ltn命令可以看到增加了一个1935端口的监听.8080是nginx默认的http监听端口。

 

loong@loong-machine:/usr/local/nginx$ netstat -ltn
激活Internet连接 (仅服务器)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:1935            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN     
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN     
loong@loong-machine:/usr/local/nginx$ 
到此nginx就配置结束了。
下面的压缩包可以直接使用,最后的配置文件也可以直接使用(记得把ip换成自己的服务器的ip)。
 
 
 
 
 
 

 

以上是关于Linux nginx+rtmp服务器配置实现直播点播的主要内容,如果未能解决你的问题,请参考以下文章

实现简单网页rtmp直播:nginx+ckplayer+linux

实现简单网页rtmp直播:nginx+ckplayer+linux

nginx + nginx-rtmp-module + springboot 搭建直播流服务器实现推流拉流实时直播功能

「自己开发直播」rtmp-nginx-module实现直播状态观看人数控制

ffmpeg,rtmpdump和nginx rtmp实现录屏,直播和录制

rtmp搭建直播系统