欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

音视频开发(23)---音视频直播技术--10分钟搭建好直播平台

程序员文章站 2022-03-13 21:25:13
...

音视频直播技术--10分钟搭建好直播平台

 

前言

今天给大家讲一下如何搭建最简单的音视频直播平台。在之前的文章中我已经给大家介绍过音视频直播技术架构,没看过的同学可以看一下。了解了直播的技术架构,我们就亲手把它搭建出来,也让自己有点成就感。

音视频开发(23)---音视频直播技术--10分钟搭建好直播平台

我今天教给大家搭建的这个直播平台是一个实验平台与音视频直播技术架构中介绍的最简单的架构还有些不同。必竟我们现在搭建的只是一个实验环境,并不能进行商用。

搭建流媒体服务端

商用的直播平台一般会包括信令服务器、流媒体服务器、客户端(共享端和接收端)三部分, 而我们的实验环境可以再简化,只包括流媒体服务器和端户端两部分。

在搭建直播平台之前,首先你要有一台Linux/Mac系统做rtmp流媒体服务器。之后我们按下列步骤搭建软件环境:

  1. 从 Nginx 官方网站上下载最新的代码 1.13.2, 并从 nginx-rtmp-module下载最新的 nginx rtmp 模块.
  2. 执行 ./configure –prefix=/usr/local/nginx –add-module=/path/to/nginx-rtmp-module –with-http_ssl_module –with-debug ,生成 Makefile 文件。 
    • prefix: 指定安装nginx服务目录地址。 
    • add-module: 在nginx服务器中增加 nginx-rtmp-module 模块。它用于处理 rtmp流信息和数据。 
    • http_ssl_module: ngnix 服务器中支持 ssl 功能。 
    • with-debug: 出输debug信息。 

      注意,在编码 nginx 时可能还需要其它基础库,根据 nginx的 configure 提示安装这些基础库就好了。
    • 执行 make && make install ,编译 nginx 并将它安装到 /usr/local/nginx 目录下。
    • 进入到 /usr/local/nginx/conf/ 目录下,修改nginx配置文件nginx.conf, 增加下列配置信息:

    events{
          ......
      }   
    
      #rtmp 服务
      rtmp { 
          server{ 
              #指定服务端口
              listen 1935; 
              chunk_size 4000; 
    
              #指定流应用
              application live 
              { 
                 live on; 
                 allow play all;
              }
          }
      }   
    
      http {
          ......
      }
    1. 最后,执行 /usr/local/nginx/sbin/nginx 启动 nginx 服务。

至此,我们的流媒体服务器就算搭建好了。我们可以在 Linux 系统下执行 netstat -ntpl | grep 1935 看一下是否有 1935 这行,如果有的话说明端口1935已经打开了。

音视频共享与观看

音视频共享

大家可以到我的 github 上去下载Android共享客户端。打开客户端后输入 rtmp://host:1935/live/test 地址,就可以将音视频流推送到nginx流媒体服务器上了。

host: 就是上面我们搭建流媒体服务器的IP地址。

观看

现在我们可以通过各种客户端进行观看了,在客户端输入rtmp://host:1935/live/test 地址就可以看到共享端共享的音视频了。这里向大家推荐几种客户端:

  1. flash客户端,http://bbs.chinaffmpeg.com/1.swf
  2. vlc, 点右侧的openmedia->网络->输入rtmp://host:1935/live/test
  3. ffplay rtmp://host:1935/live/test

小结

通过上面的步骤我们就将一个简单的音视频直播平台搭建好了。现在让我们试试效果吧。 
音视频开发(23)---音视频直播技术--10分钟搭建好直播平台