首页 > 系统相关 >打包nginx镜像,添加flv_live模块

打包nginx镜像,添加flv_live模块

时间:2024-08-16 15:19:22浏览次数:9  
标签:11 http 1.2 flv nginx live

因为工作需要而打包一个包含nginx_http_flv_live模块,记录下编译中遇到的问题,和解决方式
编译nginx的最大的一个坑就是基础镜像使用的debian:latest,导致各种编译后能通过rtmp推流但是无法通过http拉取http-flv视频流

版本

alpine == 3.8.5
nginx == 1.25.5 https://nginx.org/download/nginx-1.25.5.tar.gz
nginx_http_flv_live == 1.2.11 https://github.com/winshining/nginx-http-flv-module/archive/refs/tags/v1.2.11.tar.gz

版本限制

只测试了各个版本中最新的版本,大部分中间版本没有尝试。

nginx版本 nginx_http_flv_live版本(仅验证过1.2.5、1.2.9、1.2.11)
1.14.2 1.2.5~1.2.8(已验证1.2.5)
1.15.12 1.2.5~1.2.8(已验证1.2.5)
1.16.1 1.2.5~1.2.8(已验证1.2.5)
1.17.10 1.2.5~1.2.8(已验证1.2.5)
1.18.0 1.2.5~1.2.8(已验证1.2.5)
1.19.10 1.2.9~1.2.11(已验证1.2.9)
1.20.2 1.2.9~1.2.11(已验证1.2.9)
1.21.6 1.2.9~1.2.11(已验证1.2.9)
1.22.1 1.2.9~1.2.11(已验证1.2.9)
1.23.4 1.2.9~1.2.11(已验证1.2.9)
1.24.0 1.2.9~1.2.11(已验证1.2.9)
1.25.5 1.2.9~1.2.11(已验证1.2.9、1.2.11)
docker打包

下载好nginx和nginx_http_flv_live后解压到某一目录后在同级建立Dockerfile文件

FROM alpine:3.8.5

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories

RUN apk update && apk add --no-cache gcc g++ make pcre zlib openssl

RUN apk add --no-cache pcre-dev openssl-dev

RUN mkdir -p /var/log/nginx/

COPY ./nginx-1.25.5 /home/nginx

COPY ./nginx-http-flv-module-1.2.11 /home/nginx-flv

RUN cd /home/nginx && ./configure --add-module=/home/nginx-flv && make && make install

RUN ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx

CMD ["nginx", "-g", "daemon off;"]

编译

docker build -t nginx:1.25_flv .
环境搭建

nginx.conf

worker_processes auto;

events {
  worker_connections  4096;
}

http {
  include       mime.types;
  default_type  application/octet-stream;

  server {
    listen 5002;

    location /live {
      flv_live on;
      add_header 'Access-Control-Allow-Origin' '*';
      add_header 'Access-Control-Allow-Credentials' 'true';
    }
  }
}

rtmp {

  server {
    listen 5001;

    application live {
      live on;
      gop_cache off;
    }
  }
}

docker-compose.yaml

version: "0.0.1"

services:

  nginx-flv:
    image: nginx:1.25_flv
    ports:
      - 5002:5002
      - 5001:5001
    volumes:
      - ./nginx.conf:/usr/local/nginx/conf/nginx.conf
    restart: always
    tty: true
推拉流方式

推流使用ffmpeg或obs推流尝试
拉流采用VLC或opencv拉流播放

RTMP推流格式:

rtmp://服务器地址:rtmp端口/app_name/stream_name
示例:rtmp://localhost:5001/live/mystream

HTTP-FLV拉流格式

http://服务器地址:http端口/服务地址?port=rtmp端口&app=app_name&stream=stream_name
http://localhost:5002/live?port=5001&app=live&stream=mystream

标签:11,http,1.2,flv,nginx,live
From: https://www.cnblogs.com/Gredae/p/18362900

相关文章

  • Nginx部署时反向代理双斜杠问题
    我的Django+Vue前后端分离的项目,当我打包上服务后发现我的接口出现了双斜杠,Django无法识别比如这:种http://host//file_list,双斜杠出现在了中间本带开发环境和服务器的区别是服务器多了一层nginx代理,罪魁祸首应该发生在Nginx上;然后去网上查了一些方法,都不管用,最后还是ChatGP......
  • LiveGBS流媒体平台GB/T28181功能-作为上级平台对接海康大华华为宇视等下级平台监控摄
    @目录1、背景说明2、部署国标平台2.1、安装使用说明2.2、服务器网络环境2.3、信令服务配置3、监控摄像头设备接入3.1、海康GB28181接入示例3.2、大华GB28181接入示例3.3、华为IPCGB28181接入示例3.4、宇视4GGB28181接入示例4、硬件NVR设备接入4.1、NVR硬件GB28181接入示例5、下......
  • LiveGBS流媒体平台GB/T28181功能-获取GB28181接入的海康大华宇视华为摄像头硬件NVR设
    @目录1、背景2、视频流媒体集成2.1、页面集成2.1、视频流地址播放集成3、页面集成说明3.1、直播分享页集成3.1.1、查看通道3.1.2、开启分享3.1.3、分享页面传参3.1.4、分享页面播放3.2、时间轴回放分享页集成3.3、电子地图分享页集成4、视频流地址播放集成说明4.1、获取直播流地......
  • 为博客添加Live图
    为博客添加Live图Apple提供了很生动的Live实况图,在实际展示的过程中非常生动形象,在撰写博客的过程中,我自己也尝试将博客中嵌入实况图片其实Apple提供的iCloud网页版为我们提供了很好的示例,为了实现本文开始的效果,我们也将使用Apple官方所提供的方法资源准备在了解如何实现Live......
  • 在nginx的访问日志中输出响应时间(json格式)
    log_formatjsonescape=json'{''"time":"$time_iso8601",''"host":"$remote_addr",''"method......
  • Nginx SSL证书部署
    简介本文介绍在Nginx服务器配置SSL证书,配置成功后即可通过HTTPS加密通道安全访问Nginx服务器环境Nginx+阿里云SSL证书下载证书此处以阿里云证书为例登录控制台->数字证书管理服务选择SSL证书在列表中找到要下载的证书,操作列单机下载选择Nginx服务器类型下载解压......
  • 全网最详细且最容易理解的高可用集群KEEPALIVED
    一:高可用集群1.1集群类型LB:LoadBalance负载均衡LVS/HAProxy/nginx(http/upstream,stream/upstream)HA:HighAvailability高可用集群数据库、RedisSPoF:SinglePointofFailure,解决单点故障HPC:HighPerformanceComputing高性能集群1.2系统可用性SLA:Servic......
  • nginx的功能?部署前端代码的步骤?负载均衡的功能,说一下。
    nginx的功能?部署前端代码的步骤?负载均衡的功能,说一下。使用Nginx部署前端项目的详细步骤作者:rousong2024.01.2920:50浏览量:423使用Nginx部署前端项目的详细步骤(baidu.com)简介:本文将介绍使用Nginx部署前端项目的详细步骤,包括下载和安装Nginx、配置Nginx、部署前端项目等。......
  • Nginx Proxy Manager反向代理工具
    简介NginxProxyManager(以下简称NPM)就是一个Nginx的代理管理器,它最大的特点是简单方便。即使是没有Nginx基础的小伙伴,也能轻松地用它来完成反向代理的操作,不需要自己写复杂的nginx配置,而且因为自带面板,操作极其简单。NginxProxyManager后台还可以一键申请SSL证书,并......
  • 未来暴富都在看的高可用集群keepalived详解及常见实验
    目录一、高可用集群1.1集群类型1.2. 系统可用性1.3系统故障1.4实现高可用1.5VRRP(VirtualRouterRedundancyProtocol) 1.5.1VRRP相关术语1.5.2VRRP相关技术二、Keepalived部署 2.1keepalived简介2.2keepalived的优点三、实验详解实验环境3.1keepaliv......