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

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

 

前言

今天给你们讲一下如何搭建最简单的音视频直播平台。在以前的文章中我已经给你们介绍过音视频直播技术架构,没看过的同窗能够看一下。了解了直播的技术架构,咱们就亲手把它搭建出来,也让本身有点成就感。android

直播架构

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

搭建流媒体服务端

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

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

  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地址。app

观看

如今咱们能够经过各类客户端进行观看了,在客户端输入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

小结

经过上面的步骤咱们就将一个简单的音视频直播平台搭建好了。如今让咱们试试效果吧。 
直播截图编码