Nginx-HTTP-FLV-Module安装与配置完全手册

Nginx-HTTP-FLV-Module安装与配置完全手册

nginx-http-flv-module A media streaming server based on nginx-rtmp-module. In addtion to the features nginx-rtmp-module provides, HTTP-FLV, GOP cache, VHost (one IP for multi domain names) and JSON style statistics are supported now. nginx-http-flv-module 项目地址: https://gitcode.com/gh_mirrors/ng/nginx-http-flv-module

项目基础介绍及编程语言

Nginx-HTTP-FLV-Module是基于Nginx-RTMP-Module发展的一款媒体流服务器扩展,它不仅继承了原模块的所有特性,还特别增加了对HTTP-FLV流的支持,GOP缓存,虚拟主机(VHosts),以及JSON风格的统计信息等功能。此项目以C语言编写,利用Nginx作为强大的Web服务器基础,特别优化了实时视频流处理,适用于构建低成本高效能的流媒体服务。

关键技术和框架

  • Nginx: 高性能的HTTP和反向代理服务器,采用异步事件驱动架构。
  • RTMP协议: 实时消息传输协议,常用于直播场景。
  • HTTP-FLV: 将Flash Video封装到HTTP协议中进行传输的技术,适应现代浏览器无插件播放需求。
  • GOP(Group Of Pictures)缓存: 提高流媒体播放平滑度,通过缓存关键帧减少延迟。
  • JSON: 数据交换格式,提供更简洁的统计信息展示方式。

安装与配置准备及详细步骤

准备工作

  1. 环境要求:

    • 操作系统: Linux推荐(也可在FreeBSD、MacOS、Windows上运行,但Linux是最佳选择)
    • 软件依赖:
      • GNU Make, GCC 或在Windows上的 MSVC
      • GDB (可选,用于调试)
      • FFmpegOBS Studio(用于发布流)
      • VLCflv.js(用于测试播放)
      • PCRE库, OpenSSL, 和 zlib(若Nginx需要正则表达式、加密支持和压缩)
  2. 下载资源:

安装步骤

在Unix-like系统上
  1. 解压Nginx源码

    tar -xzvf nginx-x.x.x.tar.gz
    
  2. 下载并解压模块

    git clone https://github.com/winshining/nginx-http-flv-module.git
    
  3. 编译Nginx: 进入Nginx源代码目录,添加模块路径配置。

    ./configure --add-module=/path/to/nginx-http-flv-module
    make
    sudo make install
    

    若想将模块作为动态模块编译,请使用--add-dynamic-module选项,并确保Nginx版本>=1.9.11。

在Windows上
  1. 获取Visual Studio(支持x64编译),确保Nginx和模块兼容。
  2. 调整编译命令,确保在运行Configure脚本时加入模块路径,如:
    .\configure.bat --with-cc-opt="-m64" --add-module=C:\Path\to\nginx-http-flv-module
    nmake
    

配置Nginx

  • 编辑Nginx配置文件(nginx.conf),示例配置增加RTMP应用和服务:
    rtmp {
        server {
            listen 1935;
            chunk_size 4096;
    
            application live {
                live on;
                record off; # 根据需要开启录制
            }
        }
    }
    
    http {
        include       mime.types;
        server {
            listen       80;
            server_name  localhost;
    
            location /hls {
                # 对于HTTP-FLV流的配置,请参照具体文档调整
                flv;
                add_header 'Access-Control-Allow-Origin' '*';
            }
        }
    }
    

启动与测试

  • 启动Nginx:

    sudo service nginx start
    # 或在Windows下使用:nmake install-service && net start nginx
    
  • 使用FFmpeg推流至RTMP服务器:

    ffmpeg -re -i sample.mp4 -c copy -f flv rtmp://localhost/live/myStream
    
  • 用VLC或其他支持HTTP-FLV的播放器测试流:

    http://localhost/hls?app=live&stream=myStream
    

记住,根据实际情况可能需要调整端口设置和路径,确保所有依赖已正确安装。遇到问题时,查阅项目官方文档和社区讨论往往能快速找到解决办法。

nginx-http-flv-module A media streaming server based on nginx-rtmp-module. In addtion to the features nginx-rtmp-module provides, HTTP-FLV, GOP cache, VHost (one IP for multi domain names) and JSON style statistics are supported now. nginx-http-flv-module 项目地址: https://gitcode.com/gh_mirrors/ng/nginx-http-flv-module

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萧星盼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值