nginx流媒体服务器搭建

流媒体服务器的种类html

  • red5 主要用来作游戏开发
  • nginx

nginx是一个高性能的反向代理的服务器nginx

反向代理服务器是什么?git

咱们在互联网的nginx上作一个请求,它在代理请求到内网的服务器里面去。当内网的服务器有响应的时候,它就把这个响应放在公网上面去。github

准备工做web

  • 下载nginx服务器
  • 下载RTMP协议的模块

开始(阿里云服务器ubuntu14.04系统+Xshell远程链接)

1.先下载安装 nginx 和 nginx-rtmp 编译依赖工具
sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-devshell

  1. 建立一个工做目录,并切换到工做目录
    mkdir /usr/zhangy/nginx
    cd /usr/zhangy/nginxubuntu

  2. 下载 nginx 和 nginx-rtmp源码(wget是一个从网络上自动下载文件的自由工具)
    wget http://nginx.org/download/nginx-1.8.1.tar.gz
    wget https://github.com/arut/nginx-rtmp-module/archive/master.zip服务器

  3. 安装unzip工具,解压下载的安装包
    sudo apt-get install unzip网络

5.解压 nginx 和 nginx-rtmp安装包
tar -zxvf nginx-1.7.5.tar.gz
-zxvf分别是四个参数
x : 从 tar 包中把文件提取出来
z : 表示 tar 包是被 gzip 压缩过的,因此解压时须要用 gunzip 解压
v : 显示详细信息
f xxx.tar.gz : 指定被处理的文件是 xxx.tar.gzapp

unzip master.zip

  1. 切换到 nginx-目录
    cd nginx-1.7.5

7.添加 nginx-rtmp 模板编译到 nginx
./configure --with-http_ssl_module --add-module=…/nginx-rtmp-module-master

8.编译安装
make
sudo make install

  1. 安装nginx init 脚本
    sudo wget https://raw.github.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginx
    sudo chmod u+x /etc/init.d/nginx
    sudo update-rc.d nginx defaults

  2. 启动和中止nginx 服务,生成配置文件
    sudo service nginx start
    sudo service nginx stop

  3. 安装 FFmpeg
    make
    make install

  4. 配置 nginx-rtmp 服务器
    打开 /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/live360p/$name;
            }
            application live360p {
                    live on;
                    record off;
        }
    }
}
  1. 保存上面配置文件,而后从新启动nginx服务
    sudo service nginx restart

  2. 若是你使用了防火墙,请容许端口 tcp 1935

16: 使用 客户端,使用 rtmp协议进行视频实时采集
Field 1: rtmp://your.vultr.ip/live/
Field 2: stream-key-your-set

服务器配置测试播放器:
将播放器复制到目录:/usr/local/nginx/html/,而后修改播放地址

用ffplay播放RTMP直播流:
ffplay “rtmp://pub1.guoshi.com/live/newcetv1 live=1”

注意:阿里云服务器要放开1935的端口