NDK开发——nginx-rtmp流媒体服务器搭建

前提准备

  1. 阿里云服务器
  2. 下载FFmpeg

安装nginx服务器

1、登陆服务器,下载安装 nginx 和 nginx-rtmp 编译依赖工具

1
sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev

2、创建nginx目录,并进入该目录

1
2
mkdir /usr/nginx
cd /usr/nginx

3、下载 nginx 和 nginx-rtmp源码

1
2
wget http://nginx.org/download/nginx-1.8.1.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip

4、安装unzip工具,解压下载的安装包

1
sudo apt-get install unzip

5、解压 nginx 和 nginx-rtmp安装包

1
2
tar -zxvf nginx-1.8.1.tar.gz
unzip master.zip

zxvf分别是四个参数

  • x:从 tar 包中把文件提取出来
  • z:表示 tar 包是被 gzip 压缩过的,需要用 gunzip 解压
  • v:显示详细信息
  • f:指定被处理的文件

6、切换到 nginx-目录

1
cd nginx-1.8.1

7、添加 nginx-rtmp 模板编译到 nginx

1
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master

8、编译安装

1
2
make
make install

nginx服务器开机启动

1、安装nginx开机启动脚本

1
sudo wget https://raw.github.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginx

2、配置运行权限

1
chmod +x /etc/init.d/nginx

3、执行脚本

1
update-rc.d nginx defaults

4、启动服务,生成配置文件

1
2
service nginx start
service nginx stop

5、通过服务器公网IP访问,就看到下面的内容

这里写图片描述

安装FFmpeg

1、下载ffmpeg并上传到/usr/nginx/目录下,接着解压

1
2
cd /usr/nginx/
upzip ffmpeg-2.6.9.zip

2、给FFmpeg整个目录权限,并进入FFmpeg目录下

1
2
chmod 777 -R ffmpeg-2.6.9
cd /usr/nginx/ffmpeg-2.6.9

3、安装FFmpeg

1
2
3
./configure --disable-yasm
make
make install

4、随便在某个目录下就可以执行ffmpeg指令,表示安装成功

1
ffmpeg -v

配置FFmpeg到nginx服务器

1、进入nginx配置文件所在目录

1
cd /usr/local/nginx/conf

2、打开配置文件

1
vim nginx.conf

3、将下面代码添加到配置文件最后

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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/live360p/$name;
}
application live360p {
live on;
record off;
}
}
}

4、重新启动nginx服务,如果你使用了防火墙,请允许端口 tcp 1935

1
service nginx restart

到这里就全部配置完成了,剩下的就是拉流和推流的步骤了

坚持原创技术分享,您的支持将鼓励我继续创作!