• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    使用Nginx搭建流媒体服务器实现直播功能

    写在前面

    最近几年,直播行业比较火,无论是传统行业的直播,还是购物、游戏、教育,都在涉及直播。作为在互联网行业奋斗了多年的小伙伴,你有没有想过如果使用Nginx搭建一套直播环境,那我们该如何搭建呢?别急,接下来,我们就一起使用Nginx来搭建一套直播环境。

    安装Nginx

    注意:这里以CentOS 6.8服务器为例,以root用户身份来安装Nginx。

    1.安装依赖环境

    yum -y install wget gcc-c++ ncurses ncurses-devel cmake make perl bison openssl openssl-devel gcc* libxml2 libxml2-devel curl-devel libjpeg* 
    libpng* freetype* 
    autoconf automake zlib* 
    fiex* libxml* 
    libmcrypt* 
    libtool-ltdl-devel* 
    libaio libaio-devel 
    bzr libtool

    2.安装openssl

    wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz
    tar -zxvf openssl-1.0.2s.tar.gz
    cd /usr/local/src/openssl-1.0.2s
    ./config --prefix=/usr/local/openssl-1.0.2s
    make
    make install

    3.安装pcre

    wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
    tar -zxvf pcre-8.43.tar.gz
    cd /usr/local/src/pcre-8.43
    ./configure --prefix=/usr/local/pcre-8.43
    make
    make install

    4.安装zlib

    wget https://sourceforge.net/projects/libpng/files/zlib/1.2.11/zlib-1.2.11.tar.gz
    tar -zxvf zlib-1.2.11.tar.gz
    cd /usr/local/src/zlib-1.2.11
    ./configure --prefix=/usr/local/zlib-1.2.11
    make
    make

    5.下载nginx-rtmp-module

    nginx-rtmp-module的官方github地址:https://github.com/arut/nginx-rtmp-module

    使用命令:

    git clone https://github.com/arut/nginx-rtmp-module.git 

    6.安装Nginx

    wget http://nginx.org/download/nginx-1.19.1.tar.gz
    tar -zxvf nginx-1.19.1.tar.gz
    cd /usr/local/src/nginx-1.19.1
    ./configure --prefix=/usr/local/nginx-1.19.1 --with-openssl=/usr/local/src/openssl-1.0.2s --with-pcre=/usr/local/src/pcre-8.43 --with-zlib=/usr/local/src/zlib-1.2.11 --add-module=/usr/local/src/nginx-rtmp-module --with-http_ssl_module
    make
    make install

    这里需要注意的是:安装Nginx时,指定的是openssl、pcre和zlib的源码解压目录,安装完成后Nginx配置文件的完整路径为:/usr/local/nginx-1.19.1/conf/nginx.conf。

    配置Nginx

    配置Nginx主要是对Nginx的nginx.conf文件进行配置,我们可以在命令行输入如下命令编辑nginx.conf文件。

    vim /usr/local/nginx-1.19.1/conf/nginx.conf

    在文件中添加如下内容。

    rtmp {
     server {
      listen 1935; #监听的端口
      chunk_size 4096; 
      application hls { #rtmp推流请求路径 
       live on; 
       hls on; 
       hls_path /usr/share/nginx/html/hls; 
       hls_fragment 5s; 
      } 
     } 
    } 

    其中,hls_path需要可读可写的权限。接下来,我们创建/usr/share/nginx/html/hls 目录。

    mkdir -p /usr/share/nginx/html/hls
    chmod -R 777 /usr/share/nginx/html/hls

    接下来,修改http中的server模块:

    server { 
     listen  81; 
     server_name localhost; 
     
     #charset koi8-r; 
     
     #access_log logs/host.access.log main; 
     
     location / { 
      root /usr/share/nginx/html; 
      index index.html index.htm; 
     } 
     
     #error_page 404    /404.html; 
     
     # redirect server error pages to the static page /50x.html 
     # 
     error_page 500 502 503 504 /50x.html; 
     location = /50x.html { 
      root html; 
     }
    }

    然后启动Nginx:

    /usr/local/nginx-1.19.1/sbin/nginx -c /usr/local/nginx-1.19.1/conf/nginx.conf 

    使OBS推流

    OBS(Open Broadcaster Software) 是以互联网流媒体直播内容为目的免费和开放源码软件。需要下载这个软件,借助这个软件进行推流(电脑没有摄像头的貌似安装不了。。。)

    OBS的下载链接为:https://obsproject.com/zh-cn/download。

    安装后,桌面上会有一个如下所示的图表。

    打开后我们需要有一个场景,并且在这个场景下有一个流的来源(可以是窗口,如果选的是视频则会自动识别摄像头),接下来就是设置了。

    在配置中最需要关注的就是流的配置,由于是自建的流媒体服务器所以我们按照如下所示的方式进行配置。

    rtmp://你的服务器ip:端口(1935)/live #URL填写流的地址

    设置完成我们就可以 开始推流了。

    拉流测试地址

    推荐一个拉流的测试地址,里面针对各种协议都能测试拉流测试,需要注意图中几个地方,由于我们使用的rtmp协议,我们选择这一栏,底下填写我们推流的地址和我们在上面obs的设置里面配置的流的名称,start, ok搞定!!!

    到此这篇关于使用Nginx搭建流媒体服务器实现直播功能的文章就介绍到这了,更多相关nginx 搭建流媒体服务器实现直播内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    上一篇:详解用Docker构建MySQL主从环境
    下一篇:详解docker nginx 容器启动挂载到本地
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    使用Nginx搭建流媒体服务器实现直播功能 使用,Nginx,搭建,流媒体,