- 主要讲述如何在ubuntu上搭建nginx服务器以及在nginx上集成rtmp视频直播流推拉模块
- 文中使用的路径可根据个人习惯更改,但是编译时候注意同时更改路径
搭建nginx服务器
下载nginx
http://nginx.org/en/download.html,这里选择nginx-1.8.1.tar.gz,下载至/usr/local
后使用 tar -zxvf nginx-1.8.1.tar.gz
解压
下载所需依赖
- 到ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/下载pcre至
/usr/local
目录下,请注意pcre有2种,下载pcre而不要下载pcre2,这里个人选择pcre-8.39.tar.gz,下载成功后tar -zxvf pcre-8.39.tar.gz
解压
- 到https://www.openssl.org/source/ 下载openssl至
/usr/local
,这里选择openssl-1.0.2j.tar.gz,使用tar -zxvf openssl-1.0.2j.tar.gz
解压
- 到
https://zlib.net/
下载zlib至/usr/local,这里选择zlib-1.2.8.tar.gz,使用tar -zxvf zlib-1.2.8.tar.gz
解压
所需文件已准备完毕,开始编译
- nginx编译依赖pcre,zlib,openssl,编译前请确保g++编译器已安装,若未安装使用
sudo apt-get install build-essential
安装
-
编译openssl,
cd /usr/local/openssl-1.0.2j
切换至openssl目录,使用下述命令编译./config ./config -t make depend make make test make install
-
编译pcre,
cd /usr/local/pcre-8.39
切换至pcre目录,sudo apt-get install libpcre3-dev
安装libpcre3-dev依赖库,然后使用下面命令编译,如遇权限问题在命令前加上sudo./configure --prefix=/usr/local/pcre-8.39 make make install
-
编译nginx
cd /usr/local/nginx-1.8.1 sudo ./configure --prefix=/usr/local/nginx --with-pcre=/usr/local/pcre-8.39 --with-zlib=/usr/local/zlib-1.2.8 --with-openssl=/usr/local/openssl-1.0.2j --with-http_ssl_module sudo make sudo make install
测试nginx是否顺利搭建
- 如编译成功,
/usr/local
下将有nginx
文件夹,cd /usr/local/nginx/sbin
切换到该目录,sudo ./nginx
,运行nginx,在浏览器中输入相应ip,如看到下图则nginx搭建成功,sudo ./nginx -s stop
可退出服务器
添加rtmp视频直播流推拉模块
-
https://github.com/arut/nginx-rtmp-module下载rtmp模块至
/usr/local
- 切换回nginx源码目录开始编译
cd /usr/local/nginx-1.8.1 sudo ./configure --prefix=/usr/local/nginx --with-pcre=/usr/local/pcre-8.39 --with-zlib=/usr/local/zlib-1.2.8 --with-openssl=/usr/local/openssl-1.0.2j --with-http_ssl_module --add-module=/usr/local/nginx-rtmp-module sudo make sudo make install
-
如编译成功后nginx目录如图
- 切换至conf目录
cd /usr/local/nginx/conf
,编辑nginx.confsudo nano nginx.conf
,在
http协议括号外添加rtmp { server { listen 1935; application test { live on; } application hls { live on; hls on; hls_path /tmp/hls; } } }
- 重启nginx
测试直播推拉流
- 上传一段视频至/usr/local
- 安装ffmpeg
sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next sudo apt-get update sudo apt-get install ffmpeg
- 使用ffmpeg推送本地视频流,其中"test"要与nginx.conf中application字段对应,"test123"可随意
ffmpeg -re -i /usr/local/test.mp4 -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://localhost:1935/test/test123
- 在windows中使用potplayer打开rtmp://你的ip:1935/test/test123或者在ubuntu中使用VLC播放器打开rtmp://你的ip:1935/test/test123进行播放
网友评论