RTMP server 搭建的一种方法

  RTMP SERVER   ubuntu    16.04 LTS   nginx-rtmp-module
  CPU:双核  内存:4G    带宽:5Mb/s
 
  http://blog.csdn.net/kingroc/article/details/50839994    参考链接  is OK
 
  http://summervast.blog.51cto.com/690507/386374   nginx  vhost
 
  安装nginx 依赖包
1.  apt-get install update
2.  apt-get  install  gcc  g++
3 sudo apt-get install libpcre3 libpcre3-dev
4.sudo apt-get install openssl libssl-dev

配置并编译nginx
 先建一个目录,下载 nginx-rtmp-module-master 安装包 和nginx-1.8.1.tar.gz 包解压
 进入 解压包  nginx-1.8.1 目录  
 ./configure --add-module=../nginx-rtmp-module-master
 make
 make install
 
 运行测试nginx
 cd /usr/local/nginx     
 ./sbin/nginx
 
 注意:以后所有的命令都在/usr/local/nginx目录运行,也nginx配置文件的相对目录。
 
 点播视频服务器的配置

通过上一步nginx服务器已经搭建完成,然后我们就可以开启一个视频点播的服务了。打开配置文件nginx.conf,添加RTMP的配置。

worker_processes  1;

events {
    worker_connections  1024;
}
rtmp {                #RTMP服务
    server {
        listen 1935;  #//服务端口
    chunk_size 4096;   #//数据传输块的大小

    application vod {
        play /opt/vide/vod; #//视频文件存放位置。
    }
    }
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

配置目录/opt/video/vod为存放视频文件的位置了,那我们就往里面放一个文件吧。我放了一个qq.mp4文件。
文件放好之后,那就让我们重新启动一下nginx
sudo ./sbin/nginx -s reload
打开视频播放软件选用的是VLC media-> open network stream….
如图填写我们要点播的节目地址rtmp://localhost/vod/qq.mp4 如图

问题:
root@iZwz99pf0xgaiyox8jny20Z:/usr/local/nginx# ./sbin/nginx -s reload
nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
答案:
  /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf


使用nginx -c的参数指定nginx.conf文件的位置

点击play就可以播放了。
当然点播不使用RTMP插件nginx自身也是可以实现点播服务的。那就是配置location部分,由于下面我们要配置直播和回看功能所以选用了RTMP服务。

直播视频服务器的配置
接着我们就在点播服务器配置文件的基础之上添加直播服务器的配置。一共2个位置,第一处就是给RTMP服务添加一个application这个名字可以任意起,也可以起多个名字,由于是直播我就叫做它live吧,如果打算弄多个频道的直播就可以live_cctv1、live_cctv2名字任意。第二处就是添加两个location字段,字段的内容请直接看文件吧。

worker_processes  1;

events {
    worker_connections  1024;
}

rtmp {
    server {
        listen 1935;
    chunk_size 4096;

    application vod {
        play /opt/video/vod;
    }

    application live{ #第一处添加的直播字段
        live on;
    }
    }

}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;

    location /stat {     #第二处添加的location字段。
            rtmp_stat all;
        rtmp_stat_stylesheet stat.xsl;
    }

    location /stat.xsl { #第二处添加的location字段。
        root /usr/local/nginx/nginx-rtmp-module/;
    }

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

添加完这两处之后,重新启动nginx打开浏览器看看,是否有如下图显示:

有没有看到红框框的live字样呢?如果可以显示出来,证明你的配置生效了。
还等什么让我们推送一个节目看看(其实专业词叫录制,后面将会使用录制这个词。)吧。
这次推送我使用的是OBS(Open Broadcaster Software)有关它的安装请参考先前我写的Ubuntu安装OBS(Open Broadcaster Software)后面的博客里我会给大家介绍如何使用手机采集视频并且推送到服务器上。

配置OBS如图:

点击红圈添加“Media Source”,会弹出一个框框,里面的内容就按照图片显示配置就可以了。点击“OK”就能在你的屏幕上播放了。
配置节目的输出流如图所示
首先点击红圈“setting”进入设置界面。记得要正确填写要录制的服务器路径啊。配置好就可以点击OK了。退出后点击蓝圈,就开始录制节目了。
查看我们的了录制的节目,服务器有没有接收到呢?打开我的服务器地址“http://localhost/stat”查看一下 ,你的显示是否和我的相同呢?如果相同证明服务器已经接收到了录制的节目,客户端可以进行播放了

播放的地址就是“rtmp://localhost/live/test”,如果您本地有支持rtmp协议的播放器就可以试试了。最后奉上一张观看直播的屏幕截图

实时回看视频服务器的配置

我们想一想如果直播服务能够把节目录制在本地,我们不就可以直接进行回看先前的节目了吗?回看一分钟、一小时甚至一天的。想想就兴奋不用写代码有现成的可以使用。怎么用呢?继续看nginx的配置吧。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
rtmpserver.zip是一个压缩文件,其中包含了RTMP(Real-Time Messaging Protocol)服务器的相关文件和代码。 RTMP一种实时消息传输协议,常用于各种多媒体应用,特别是流媒体传输。rtmpserver.zip中的文件和代码可以用于搭建一个RTMP服务器,提供实时的音视频流传输服务。 rtmpserver.zip中可能包含以下文件和代码: 1. RTMP服务器配置文件:包含服务器的设置和参数信息,例如端口号、日志级别等。 2. RTMP服务器源代码:可能包含了服务器的核心代码,用于实现RTMP协议的解析和处理,以及与客户端的交互。 3. 依赖库文件:RTMP服务器可能依赖于其他库文件,例如用于网络通信的库、编解码库等。 4. 示例代码:可能包含了一些示例代码,用于演示如何使用RTMP服务器搭建实时流传输服务。 5. 说明文档:可能包含了使用RTMP服务器的详细说明,包括安装步骤、配置方法等。 使用rtmpserver.zip搭建RTMP服务器的步骤可能如下: 1. 解压缩rtmpserver.zip文件。 2. 根据说明文档进行配置,设置服务器的参数和选项。 3. 通过运行服务器源代码编译和启动RTMP服务器。 4. 根据示例代码,编写客户端代码,实现音视频流的推送和拉取功能。 5. 运行客户端代码,与RTMP服务器建立连接,进行音视频流的传输。 总之,rtmpserver.zip提供了搭建RTMP服务器所需的文件和代码,可以帮助用户搭建实时音视频流传输服务。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值