欢迎来到云服务器

服务器租用

使用nginx搭建流媒体直播平台

一 提要说明

 

利用nginx搭建流媒体直播平台,目标就是要支持rtmp协议,实现用户利用rtmp(rtmp://192.168.201.128/myapp)协议推送流随处事器。然后其他用户点播该用户推送的视频流信息。既然是rtmp协议,所以客户端可以是flash措施,也可以OBS(Open Broadcaster
Software)这种较量普通化的直播客户端。小我私家是较量喜欢利用OBS的,诚恳说我其实也是flash和flex开拓者,开拓个多款WEB视频措施和视频集会会议系统。java程度也是很高的。接待打脸,我这种人就不怎么谦虚,因为我觉太谦虚就虚伪了.

 

      
再世面上有许多流媒体处事器。有贸易的也有开源,好比常用FMS,Red5,wowza.crtmpserver,等,假如是做小型视频集会会议,我小我私家强烈推荐Red5。Red5有很开放的api,对付开拓及时性要求较量高的很利便。开拓东西和开拓java的人上手也很快。

二 情况筹备

1 筹备一台linux的操纵系统,我的Centos5。windows
再nignx上本身编译模块很贫苦的,directadmin安装 directadmin汉化,所以我就在Centos上测试。我的系统信息如下:

Linux localhost 2.6.18-128.el5 #1 SMP Wed Jan 21 10:44:23 EST
2009 i686 athlon i386 GNU/Linux

2 筹备软件包

nginx-1.4.7.tar.gz

nginx-rtmp-module-1.1.7.tar.gz   

三 开始安装

1 安装nginx所需要的依赖包。留意差异系统可能模块需要的依赖包是纷歧样的。我这里值安装最根基的就行了。

"blog_20160205_1_6086627" name="code" >
[[email protected] html]# yum install -y gcc gcc-c++
[[email protected] html]# yum install –y openssl-devel pcre-devel zlib-devel
留意:最好不要用默认的yum源。都统一换成阿里云的yum源。

2 先解压包,这不没什么难度吧。然后执行ningx设置文件。执行没问题后,执行编译,安装

[[email protected] local]# tar -zvxf nginx-1.4.7.tar.gz
[[email protected] local]# wget https://github.com/arut/nginx-rtmp-module/archive/v1.1.7.tar.gz
[[email protected] local]# tar nginx-rtmp-module-1.1.7.tar.gz
[[email protected] local]# tar -zxvf nginx-rtmp-module-1.1.7.tar.gz
[[email protected] local]# cd /usr/local/nginx-1.4.7
./configure --prefix=/usr/local/nginx --add-module=/usr/local/nginx-rtmp-module-1.1.7
[[email protected] nginx-1.4.7]# make && make install
输出日志我就不贴出来了。编译完成后。就该修改nginx的设置文件,让nginx支持rtmp协议。

3 修改设置文件后内容如下(改设置文件可以参考):

[[email protected] test]# pwd
/usr/local/nginx-rtmp-module-1.1.7/test

[[email protected] test]# ll
total 56
-rwxrwxr-x 1 root root   49 Mar 24  2015 dump.sh
-rwxrwxr-x 1 root root   84 Mar 24  2015 ffstream.sh
-rw-rw-r-- 1 root root 1245 Mar 24  2015 nginx.conf
-rwxrwxr-x 1 root root   59 Mar 24  2015 play.sh
-rw-rw-r-- 1 root root  499 Mar 24  2015 README.md
drwxrwxr-x 2 root root 4096 Mar 24  2015 rtmp-pu

为了利便我把我的ngin的设置文件完整的贴出来:

#user  nobody;
worker_processes  1;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
rtmp {
    server {
        listen 1935;
        application myapp {
            live on;
            #record keyframes;
            #record_path /tmp;
            #record_max_size 128K;
            #record_interval 30s;
            #record_suffix .this.is.flv;
            #on_publish http://localhost:8080/publish;
            #on_play http://localhost:8080/play;
            #on_record_done http://localhost:8080/record_done;
        }
    }
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    #access_log  logs/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        #error_page  404              /404.html;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
四 启动处事器,测试

1 执行nginx/sbin/nginx 启动处事。你应该可以或许看随处事器也启用1935端口,就暗示nginx已经支持rtmp推送流了。

腾讯云代理

Copyright © 2003-2021 MFISP.COM. 国外vps服务器租用 梦飞云服务器租用 版权所有 粤ICP备11019662号