linux编译Nginx过程记录
转载
1.编译Nginx
先把nginx和nginx-rtmp-module源码下载下来
$ wget https://nginx.org/download/nginx-1.13.4.tar.gz # 请在nginx官网上找最新版本
$ git clone https://github.com/arut/nginx-rtmp-module.git # 两者最好放在同一目录,方便路径书写
安装编译依赖
$ sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev
解压nginx压缩包
$ tar -zxvf nginx-1.13.4.tar.gz
$ cd nginx-1.13.4
编译nginx
$ ./configure --add-module=../nginx-rtmp-module --with-http_ssl_module # 里面nginx-rtmp-module的目录可以根据你下载的目录更换
$ make
$ sudo make install
安装nginx启动脚本
$ 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
启停一次nginx,生成配置文件
$ sudo service nginx start
$ sudo service nginx stop
安装ffmpeg
$ sudo apt-add-repository ppa:jon-severinsson/ffmpeg
$ sudo apt-get update
$ sudo apt-get install ffmpeg
服务器配置
使用vim编辑配置文件
$ sudo vim /usr/local/nginx/conf/nginx.conf
在末尾添加
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
exec ffmpeg -i rtmp://localhost/live/$name -threads 1 -c:v libx264 -profile:v baseline -b:v 350K -s 640x360 -f flv -c:a aac -ac 1 -strict -2 -b:a 56k rtmp://localhost/living/$name;
}
application liveing {
live on;
record off;
}
}
}
按esc,输入冒号后输入wq,回车关闭保存配置文件。
重启nginx
$ sudo service nginx restart
推流
在树莓派上打开一个screen,输入
raspivid -o - -t 0 -vf -hf -fps 10 -b 500000 | ffmpeg -re -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -f h264 -i - -vcodec copy -acodec aac -ab 128k -g 50 -strict experimental -f flv rtmp://你的服务器IP/live/任意名称
看到这些输出就说明成功了