这一晚,搭建Nginx + rtmp流媒体服务器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sange77/article/details/79968140

这一晚,搭建Nginx + rtmp流媒体服务器

安装环境
1、安装nginx服务器
2、配置nginx服务器
2.1、开启点播视频服务
2.2、配置直播视频服务

安装环境

操作系统:deepin 15.5桌面版(为什么要用这个?支持国产!) 滑稽
nginx版本: nginx-1.10.3
RTMP:nginx-rtmp-module

1、安装nginx服务器

  • 下载安装 nginx 和 nginx-rtmp 编译依赖工具
    sudo apt-get install build-essential libpcre3 libpcre3-dev openssl libssl-dev
  • 创建一个目录,为了将下载的资源放至此处
    mkdir ~/server
    cd ~/server
  • 下载 nginx 和 nginx-rtmp源码
    wget http://nginx.org/download/nginx-1.10.3.tar.gz
    wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
  • 安装unzip工具,解压下载的安装包(如果已安装 请忽略此步)
    sudo apt-get install unzip
  • 解压 nginx 和 nginx-rtmp安装包 并切换到 nginx目录
    tar -zxvf nginx-1.7.5.tar.gz
    unzip master.zip
    cd nginx-1.7.5
  • 添加 nginx-rtmp 模板编译到 nginx
    ./configure --add-module=../nginx-rtmp-module-master --with-http_ssl_module

    注意:../nginx-rtmp-module-master 这是配置的刚才解压master.zip后的文件夹路径,注意是否正确 否则会报错,导致以下不能继续;–with-http_ssl_module 我这里需要加上才能成功,如果你的报错,就把它去掉,然后再执行一遍。

  • 编译安装
    make
    sudo make install

  • 运行测试一下nginx(以上步骤如果没有报错的话)
    cd /usr/local/nginx
    ./sbin/nginx

    注意:以后所有的命令都在/usr/local/nginx目录运行,和nginx配置文件的相对目录。

    打开浏览器在地址栏输入:localhost。如下图所示,就证明您的nginx服务器搭建成功了。
    这里写图片描述

2、配置nginx服务器

2.1、开启点播视频服务

打开配置文件/usr/local/nginx/conf/nginx.conf,添加RTMP的配置:


#user  nobody;
worker_processes  1;

events {
    worker_connections  1024;
}
#my start 点播视频 服务器的配置
#播放地址示例: rtmp://localhost/vod/qq.mp4 注意不支持中文视频名称
rtmp {                #RTMP服务
    server {
        listen 1935;  #//服务端口 
        chunk_size 4096;   #//数据传输块的大小

        application vod {
            play /home/sange/Videos; #//视频文件存放位置。
        }
    }
}
#my end

http {
        ....// 由于此处内容太长,故省略。
}   

注意:
(1)可以看到,主要是添加了rtmp{ } 括号的内容;
(2)请使用支持rtmp协议的视频播放器来播放,RTMP URL 格式:rtmp://rtmp.example.com/app[/name]
就是 协议:// +IP地址或域名/ + application名称 + /文件名[可选]
(3)app 就是上面配置的 vod; 里面的play 配置的是视频文件所在的路径,可以添加自己的路径,不用和我的一样。但注意不要有中文,否则无法播放!

现在我们测试一下吧
保存好文件重启nginx

sudo ./sbin/nginx -s reload

我这里使用的是VLC media player 客户端(开源免费的播放器,支持rtmp),在菜单栏,选择“媒体”——“打开网络串流” 弹出对话框;
输入rtmp://localhost/vod/qq.mp4,点击“播放”,即可看到我们点播的视频。
这里写图片描述

2.2、配置直播视频服务


直接看文件吧!

#user  nobody;
worker_processes  1;

events {
    worker_connections  1024;
}
#my start 点播视频 直播视频 服务器的配置
#播放地址示例: rtmp://localhost/vod/qq.mp4 注意不支持中文视频名称
rtmp {                #RTMP服务
    server {
        listen 1935;  #//服务端口 
        chunk_size 4096;   #//数据传输块的大小

        application vod {
            play /home/sange/Videos; #//视频文件存放位置。
        }
    application live{ #1、添加直播字段
            live on;
        }
    }
}

#my end

http {
...// 此处省略
   server {
        listen       80;
        server_name  localhost;

    location /stat {     #2、添加location字段。
            rtmp_stat all;
        rtmp_stat_stylesheet stat.xsl;
        }

        location /stat.xsl { #3、添加location字段。
            root /usr/local/nginx/nginx-rtmp-module/;
        }
        ... // 此处省略
    }
}

可以看到,总共又添加了三小段。

保存好文件重启nginx 测试一下

sudo ./sbin/nginx -s reload

接下来用Android设备 推流到服务器!!!!!
待续…

感谢
在Ubuntu 14 上安装 Nginx-RTMP 流媒体服务器
利用nginx搭建RTMP视频点播、直播、HLS服务器

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页