首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >NGINX如何实现rtmp推流服务--视频缓存

NGINX如何实现rtmp推流服务--视频缓存

作者头像
大话swift
发布2020-04-01 17:18:41
发布2020-04-01 17:18:41
4.4K00
代码可运行
举报
文章被收录于专栏:大话swift大话swift
运行总次数:0
代码可运行

今天我们讲解NGINX如何实现视频缓存的,不了解NGINX如何推流的可以先去看一下我上篇文章

NGINX如何实现rtmp推流服务--鉴权篇

NGINX的rtmp推流部分的配置如下

代码语言:javascript
代码运行次数:0
运行
复制


rtmp {
    server {
        listen 1935;
        application live {
            live on;
      record all;
      record_unique on;
      record_path "C:/laragon/bin/nginx/nginx-rtmp/video";
      record_suffix -%Y-%m-%d-%H_%M_%S.flv;
      #on_publish http://127.0.0.1:8686/auth;
      #on_play http://127.0.0.1:8686/auth;
        }
    
        application hls {
            live on;
            hls on;  
            hls_path "C:/laragon/bin/nginx/nginx-rtmp/hls/";
            hls_fragment 8s;  
        }
    }
}



这里主要分了两个部分讲解,一个是live推流,一个是hls的推流。

代码语言:javascript
代码运行次数:0
运行
复制
        application live {
            live on;
      record all;
      record_unique on;
      record_path "C:/laragon/bin/nginx/nginx-rtmp/video";
      record_suffix -%Y-%m-%d-%H_%M_%S.flv;
      #on_publish http://127.0.0.1:8686/auth;
      #on_play http://127.0.0.1:8686/auth;
        }
代码语言:javascript
代码运行次数:0
运行
复制

记录所有数据

代码语言:javascript
代码运行次数:0
运行
复制
      record all;
代码语言:javascript
代码运行次数:0
运行
复制
记录值唯一
代码语言:javascript
代码运行次数:0
运行
复制
      record_unique on;
代码语言:javascript
代码运行次数:0
运行
复制
视频缓存路径
代码语言:javascript
代码运行次数:0
运行
复制
      record_path "C:/laragon/bin/nginx/nginx-rtmp/video";
代码语言:javascript
代码运行次数:0
运行
复制
缓存文件后缀
代码语言:javascript
代码运行次数:0
运行
复制
      record_suffix -%Y-%m-%d-%H_%M_%S.flv;
代码语言:javascript
代码运行次数:0
运行
复制
利用obs推流,配置如下

点击开始推流,结果如下

代码语言:javascript
代码运行次数:0
运行
复制

视频存放位置
代码语言:javascript
代码运行次数:0
运行
复制
C:\laragon\bin\nginx\nginx-rtmp\video
代码语言:javascript
代码运行次数:0
运行
复制
视频缓存
代码语言:javascript
代码运行次数:0
运行
复制
stream-1585622145-2020-03-31-10_35_45.flv
代码语言:javascript
代码运行次数:0
运行
复制
hls配置
代码语言:javascript
代码运行次数:0
运行
复制
 
代码语言:javascript
代码运行次数:0
运行
复制
        application hls {
            live on;
            hls on;  
            hls_path "C:/laragon/bin/nginx/nginx-rtmp/hls/";
            hls_fragment 8s;  
        }

视频保存路径

代码语言:javascript
代码运行次数:0
运行
复制
            hls_path "C:/laragon/bin/nginx/nginx-rtmp/hls/";

每一段视频的大小,也就是时长,这里保存了8秒

代码语言:javascript
代码运行次数:0
运行
复制
            hls_fragment 8s;

obs配置如下

结果如下

hls的推流会产生一个m3u8的索引,保存ts文件的索引,同时保存一个个视频片段。后端根据文件的缓存地址,可以拿到再次播放。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大话swift 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档