Nginx RTMP 环境搭建

146 阅读1分钟

nginx代码下载nginx.org

nginx rtmp 模块下载github.com/arut/nginx-…

解压下载的压缩包 命令:  tar -zvxf 压缩包名称

  • z : 去掉压缩包名称后缀的gz

  • x : 从tar文件中抽取数据

  • v : 显示解压过程

编译前的配置

进入nginx目录下: ./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module/ --with-openssl=../openssl-master

  • ./configure : 生成makefile文件

  • --prefix : 指定安装路径

  • --add-module : 添加模块

  • --with-openssl : 指定openssl路径

编译 

  • make -j 4 

  • sudo make install

修改conf/nginx.conf 配置信息

#rtmp 服务 
rtmp { 
      server { 
            # 指定服务端口 
            listen 1935; 
            chunk_size 4000;

            # 指定服务应用 
            application live { 
                   live on;  #直播
                   allow play all; #直接播放 无限制
            }
       }
}

如果 : 保存修改后的文件: 提示无法保存

  • 先强制退出 : q!

  • 然后执行 : sudo !!

  • 再次编辑文件 : vi ..

  • 再次保存即可 : wq!

启动服务

  • 进入 /usr/local/nginx 目录下

  • 执行命令: sudo ./sbin/nginx -c conf/nginx.conf

如果启动出现以下错误

处理方法: 暂未解决😭

查看进程是否启动

  • ps -ef | grep nginx

查看端口,如果处于监听状态说明服务已经启动了

  • netstat -an | grep 1935

使用ffplay监听并播放room频道

ffplay rtmp://localhost/live/room

推流到room频道

ffmpeg -re -i video.flv -c copy -f flv rtmp://localhost/live/room

  • -re : 循序渐进的推流,避免推流过快导致超出服务端缓冲区大小被丢弃掉

  • -c copy : 直接拷贝 不对编解码进行任何处理