linux下通过nginx安装rtmp视频服务器-包括推流和拉流-直播和点播

已经准备好的环境,新建节点的时候必做的几件事即可

安装nginx

安装准备环境

yum -y install openssl openssl-devel

解压nginx-rtmp-module-1.1.7.tar.gz

tar -zxvf nginx-rtmp-module-1.1.7.tar.gz

在安装nginx之后添加nginx的module

进入到nginx的解压目录执行

cd /root/nginx-1.8.0

./configure --prefix=/usr/nginx-1.8 --add-module=/root/nginx-rtmp-module-1.1.7

make && make install

nginx中配置rtmp

rtmp {				#RTMP服务
    server {
        listen 1935;		#//服务端口
        chunk_size 4096;	#//数据传输块的大小

        application video {
                play /var/yemu/video; 	#点播媒体文件存放目录
        }

#增加对HLS支持 #rtmp直播配置
        application live {
                live on;	#开启实时
                hls on;	#开启hls#这个参数把直播服务器改造成实时回放服务器
                hls_path /var/yemu/live/hls/;	#ts文件存放路径,切片视频文件存放位置
                hls_fragment 5s;	#每个TS文件包含5秒的视频内容,每个视频切片的时长
  		wait_key on; #对视频切片进行保护,这样就不会产生马赛克了。 
  		hls_playlist_length 60s; #总共可以回看的事件,这里设置的是1分钟。 
  		hls_continuous on; #连续模式。 
  		hls_cleanup on; #对多余的切片进行删除。 
  		hls_nested on; #嵌套模式。
        }
    }
}

其中 play /yemu/video 指的是配置点播模块,可以直接播放/yemu/video路径下的视频,比如video目录下有一个test.mp4视频

那么可以利用爱奇艺播放器或者其他工具输入网址:rtmp://45.78.24.199/video/test.mp4

即可访问这段视频

hls_path指定hls分块存放路径,因为hls是通过获取到推送的视频流信息,分块存储在服务器。所以它的延时比rtmp要更高。

所以客户端要推流的话,直接推送到:rtmp://45.78.24.199/live/ 这个地址即可

nginx中的server配置

server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;
        index index.jsp index.html;
        root /yemu;
        #access_log  logs/host.access.log  main;

        location / {
            	root html;
		index index.html;
        }
## 下面(~)这一段配置可以不要
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css|docx|pdf|doc|ppt|html|properties)$ {
                expires 30d;
                root /var/yemu/static/;
        }

#HLS配置开始,这个配置为了`客户端`能够以http协议获取HLS的拉流
        location /hls {
            types {
                application/vnd.apple.mpegurl m3u8;
                #application/x-mpegURL;
                video/mp2t ts;
            }
            alias /var/yemu/live/hls/;
            expires -1;
            add_header Cache-Control no-cache;
        }

        location /stat {
                 rtmp_stat all;
                 rtmp_stat_stylesheet stat.xsl;
        }

        location /stat.xsl {
                root /root/nginx-rtmp-module-1.1.7/;	#源码根目录
         }
}

 

location 指向/hls,别名是/var/yemu/live/hls/

前端直接通过域名+/hls/+文件名.m3u8获取视频,进行拉流

 

你可能感兴趣的:(rtmp)