搭建本地nginx-rtmp服务,初体验rtmp推流、拉流

实验环境说明: ubuntu 16.04

进行本实验的前提:需要在ubuntu上搭建好ffmpeg环境,参考我的另一篇博文

ffmpeg编译过程经历的99八十一难

 

下面开始本文内容

 

PART1 编译安装带Nginx-rtmp-moduleNginx服务器

1 下载Nginx  (Nginx从官网下载比较好,不要去github下)

          上图是我下载的版本

2 下载Nginx-rtmp-module  (github)

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

3  执行配置 

 

 

4. Openssl下载 (github)
  https://github.com/openssl/openssl
  PS:官网 https://www.openssl.org
  下了几个版本,实测多次都不行, make时候报错

  来自网友网盘的openssl-1.0.2h , 实测OK
  链接:https://pan.baidu.com/s/1lAZ9VgFUX6Nx72MYD1NmIQ
  提取码:vuq5
  下载后, 我取自己所需的openssl-1.0.2h.tar.gz即可。不参考其他资料。
  ./config --prefix=/usr/local/openssl-1.0.2h
  make
  make install

5. 下载安装好openssl后,再次进入到Nginx文件夹内进行编译

需要注意,下方 --add-module 和 --with-openssl 指定的是源码目录!

./configure --prefix=/usr/local/nginx-with-rtmp-module --add-module=/home/lmw/MINE/nginx-rtmp-module/nginx-rtmp-module-master --with-openssl=/home/lmw/MINE/openssl/openssl-1.0.2h

显示上图这些,就是配置正常。

 

make -j4

make install

最终如上图所示,安装正常

 

PART2 运行RTMP服务器

1 修改nginx配置文件,配置RTMP服务

vim.tiny conf/nginx.conf

#---------- my add : rtmp server config-----------

rtmp {

    server{

       listen 1935;
       chunk_size 4000;

       application live
       {
         live on;
         allow play all;
       }
    }
}
#-------------------------------------------------

 

2 启动nginx

./sbin/nginx -c conf/nginx.conf

 同时可见1935端口已经处于监听状态

 

3 推流拉流干起来:

ffplay rtmp://localhost/live/my_room_007

ffmpeg -re -i rtmp-test.flv -c copy -f flv rtmp://localhost/live/my_room_007

 

下面介绍下:视频传输基础知识、RTMP与RTSP比较、直播服务常规方案

本实验内我们使用ffmpeg的ffplay工具进行拉流播放,根据上面的介绍,针对RTMP流,我们也可以通过浏览器进行拉流播放。

 

PART3 运行HTTP服务器

虽然我们这里安装了nginx-rtmp模块,主要是当做rtmp服务器使用。

但是nginx也自带提供http服务,高并发网络编程是nginx大神神威的领域。

在不安装任何其他模块的情况下,安装nginx完毕后,

一般都是通过测试http服务来检测nginx是否安装正确的。

 


 .

posted @ 2021-01-20 08:39  一匹夫  阅读(1850)  评论(0编辑  收藏  举报