nginx+rtmp流媒体服务器搭建 | 您所在的位置:网站首页 › 树莓派流媒体服务器 › nginx+rtmp流媒体服务器搭建 |
nginx+rtmp流媒体服务器搭建
一、nginx+rtmp简介
Nginx本身是一个非常出色的HTTP服务器,FFMPEG是非常好的音视频解决方案.这两个东西通过一个nginx的模块nginx-rtmp-module,组合在一起即可以搭建一个功能相对比较完善的流媒体服务器. 这个流媒体服务器可以支持RTMP和HLS(Live Http Stream)。 二、具体部署步骤 1. 下载nginx和nginx-rtmp-module 下载Nginx-rtmp-module git clone https://github.com/arut/nginx-rtmp-module.git 下载Nginx并解压 wget http://nginx.org/download/nginx-1.14.2.tar.gz tar -zxvf nginx-1.14.2.tar.gz 2. 编译安装Nginx和Nginx-rtmp-module 安装nginx的依赖 sudo apt-get update sudo apt-get install libpcre3 libpcre3-dev sudo apt-get install openssl libssl-dev 编译并配置nginx使用nginx的默认配置,添加nginx的rtmp模块。 add-module为下载的nginx-rtmp-module文件路径。 cd nginx-1.14.2/ # 进入nginx的目录下 ./configure --add-module=../nginx-rtmp-module make make install进入安装目录/usr/local/nginx,运行命令./sbin/nginx,nginx重启命令为 ./sbin/nginx -s reload.查看部署是否成功! 在配置目录/home/zane/video/vod;放一个视频文件,放好之后重启Nginx服务器! 使用vlc 播放器,输入rtmp://114.115.240.14/vod/test.mp4 播放结果: 在点播服务器配置文件的基础上添加直播服务的配置。需要添加的一共有2个位置,第一处就是给RTMP服务添加一个application(这个名字可以任意起),也可以起多个名字,由于是直播我就叫做它live吧,如果打算弄多个频道的直播就可以live_cctv1、live_cctv2名字任意。第二处就是添加两个location字段. #rtmp配置 rtmp { server { listen 1935; #监听服务端口 chunk_size 4096; # 数据传输块的大小 application vod { play /home/zane/video/vod;#视频文件的存放位置 } application live{ #添加的直播字段! live on; } } } location /stat { # 第二处添加的location字段 rtmp_stat all; rtmp_stat_stylesheet stat.xsl; } location /stat.xsl{ #第二处添加的location字段 root /home/zane/nginx-rtmp/nginx-rtmp-module/; }添加完成之后,重启Nginx服务器,打开浏览器,输入http://114.115.240.14:81/stat(根据你自己的服务器信息组装地址) 接着使用EV录屏向流媒体服务器进行推流: 此时根据nginx的状态信息可以看到:多出红框内东西,说明推流成功! 使用vlc播放器播放地址rtmp://114.115.240.14/live/test,可进行播放。 nginx+rtmp的直播配置到此结束! 6. 支持回看的直播视频服务器在上一步的基础上,增加支持回看部分的配置 # rtmp配置 application live{ #添加的直播字段! live on; hls on; # 这个参数把直播服务器改造为实时回放服务器。 wait_key on; #对视频切片服务器进行保护,这样就不会产生马赛克了! hls_path /home/zane/video/hls;#切片视频文件存放位置 hls_fragment 600s; #设置HLS片段长度 hls_playlist_length 10m; #设置HLS播放列表长度,这里设置的是10分钟 hls_continuous on; #连续模式。 hls_cleanup on; #对多余的切片进行删除。 hls_nested on; #嵌套模式: } #在 http 配置中增加一个location location /live { types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; } alias /home/zane/video/hls; expires -1; add_header Cache-Control no-cache; add_header Access-Control-Allow-Origin *; }配置完之后重启nginx,在/home/zane/video/hls/test/目录下,有若干个视频切片 使用vlc播放器,(http://114.115.240.14/live/test/20.ts)播放视频切片如下图: 到目前为止,支持点播,直播,回放等功能的流媒体服务器搭建完成! |
CopyRight 2018-2019 实验室设备网 版权所有 |