linux下利用Nginx搭建RTMP服务器

RTMP

实时消息传递协议(RTMP)由Macromedia开发,作为为其Flash技术传输数据,音频和视频的方法。Macromedia随后被Adobe收购,因为该规范已部分发布,使第三方能够在Adobe自己的服务器和客户端软件中实现它。这导致了在为各种提供商提供流媒体时常用的技术。在本文中,我们将记录在Centos 3.10上使用Nginxp-RTMP设置自己的媒体服务器。

1. 安装lib支持

sudo yum install build-essential libpcre3 libpcre3-dev libssl-dev unzip

耐心等待一段时间后,接下来获取nginx源码

2。 获取nginx源码

  1. 新建目录(我选择的目录是/usr/csrc/nginx)
    mkdir /usr/csrc/nginx
  2. 进入目录(切记在新建的nginx下操作之后命令)
    cd /usr/csrc/nginx/
  3. 下载1.15.0版本
    wget http://nginx.org/download/nginx-1.15.0.tar.gz
  4. 解压nginx
    tar -zxvf nginx-1.15.0.tar.gz
  5. 下载nginx-rtmp源代码 https://github.com/arut/nginx-rtmp-module
    wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
  6. 解压nginx-rtmp源代码
    unzip master.zip
  7. 此时我们应该有一个名为nginx-1.8.1的目录,其中包含Nginx源代码,另一个名为nginx-rtmp-module-master,其中包含Nginx-RTMP源代码。下一步是重新配置Nginx源以使用Nginx-RTMP模块进行编译:

    • 提示 C compiler cc is not found
      linux下利用Nginx搭建RTMP服务器_第1张图片
      解决
      输入 yum -y install gcc gcc-c++ autoconf automake make

    • 提示
      ./configure: error: the HTTP rewrite module requires the PCRE library.
      You can either disable the module by using –without-http_rewrite_module
      option, or install the PCRE library into the system, or build the PCRE library
      statically from the source with nginx by using –with-pcre= option.
      解决
      yum -y install openssl openssl-devel

  8. make

sudo make install

此时,Nginx将安装到/ usr / local / nginx目录中。为了测试一切正常,让我们解雇Nginx:

sudo /usr/local/nginx/sbin/nginx

如果一切按预期工作,如果您在Web浏览器中导航到服务器的IP地址,现在应该获得Nginx测试页面。要停止Nginx,您需要再次调用该程序并为其提供stop命令:

sudo /usr/local/nginx/sbin/nginx -s stop

现在,您需要添加代码来配置RTMP模块。这是在默认配置文件中完成的,该文件与其他文件一起存储。我将在这里使用nano,但其他文本编辑器可用:

sudo nano /usr/local/nginx/conf/nginx.conf

转到文件末尾并粘贴以下配置:

rtmp {

server {

    listen 1935;

    chunk_size 8192;

    application vod {

        play /usr/local/nginx/rtmp;

    }

}

}

保存并退出该文件。在这个文件中,我们告诉Nginx在端口1935上侦听RTMP,这是默认端口。我们还将其设置为在传输8192位时使用块大小。接下来,我们创建了一个名为vod的“应用程序”,用于视频点播。您可以根据需要添加任意数量的这些,并将它们命名为您喜欢的任何名称。然后我们告诉它vod应用程序将播放来自/ usr / local / nginx / rtmp目录的文件。此目录实际上尚不存在,因此您需要创建它并将一些媒体放入其中。请注意,Nginx-RTMP只能提供flash flv视频和mp4视频。

sudo mkdir /usr/local/nginx/rtmp

接下来要做的是再次启动Nginx,此时所有内容都已配置好并可以使用:

sudo /usr/local/nginx/sbin/nginx

要测试您只需要从服务器打开一个流。最简单的方法是使用VLC媒体播放器。要打开它,请转到“媒体”菜单,然后选择“打开网络流”。将打开一个窗口,您可以在其中输入媒体的URL。

URL将以rtmp://开头,告诉VLC要使用的协议,然后告诉服务器的域名或IP地址。接下来将是斜杠,然后是您的应用程序名称,在我们的示例中为“vod”,另一个斜杠,最后是文件的文件名。举个例子:

rtmp:// your-domain.com/vod/test.mp4

rtmp:// your-domain.com/vod/test.flv

所以你有它 - 一个使用基于开源组件的RTMP的简单流媒体服务器。

你可能感兴趣的:(linux下利用Nginx搭建RTMP服务器)