分布式直播系统(十二)【nginx-rtmp-module动态转推和动态回源】

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

转载请注明出处:https://blog.csdn.net/impingo
项目地址:https://github.com/im-pingo/pingos
项目官网:https://pingos.io

上篇文章分布式直播系统(十一)【nginx-rtmp-module鉴权接口】已经介绍了oclp_play和oclp_publish的鉴权使用方法。这篇文章将介绍如何利用oclp_push和oclp_pull实现动态转推和动态回源的方法,用法与oclp_play和oclp_publish非常类似,对配置不熟悉的朋友可以参考前面的文章。

动态转推oclp_push

动态转推是通过push通知实现的,利用oclp_push配置可以实现将本机器上的流转推到其他rtmp服务器。
之所以称此种操作为动态转推是因为转推地址可以通过查询结果动态指定。

oclp_push http://xxx.xxx.xxx.xxx/xxx stage=start,update,done args=k=v update=2s timeout=3s;

oclp_push最多可配置8条,每条都会触发一路转推。
服务器收到实时流的发布消息(如rtmp推流、rtmp回源和http-flv回源,总之只要有流输入进来就会触发oclp_push操作)之后马上向配置的http://xxx.xxx.xxx.xxx/xxx 发送http get请求 并且携带uri参数call=push&act=start&domain=$domain&app=$app&name=$name

返回值:

http 200 : 不转推,不触发update(act=update)和done(act=done)

http 302 :读取http header中的location一栏中的rtmp地址,并且向该地址推流。
如果配置了stage=update,则会周期性地触发参数call=push&act=update的http请求,直到推流结束。

其他值:结束推流请求

动态回源oclp_pull

拉流端 PingOS 业务服务器 源站 rtmp/http-flv/http-ts/hls+播放 发送http get 请求 uri参数call=pull&act=start 如果返回 http 200 什么都不做 如果返回4xx或5xx 断开所有拉流端 断开所有拉流端 如果返回302(location字段携带视频源地址) 解析出http header中的location字段 请求http-flv或rtmp拉流 周期性地发送call=pull&act=update的请求 如果update返回 4xx 或 5xx 断开http-flv或rtmp拉流 断开所有拉流端 当http-flv或rtmp流结束时 发送call=pull&act=done的请求 拉流端 PingOS 业务服务器 源站

配置语法

Syntax: oclp_pull url [args=string] [stage=[start][,update][,done]] [timeout=time] [update=time];
Default: -
Context: application

具体参数含义可以参考上一篇文章,这里不再赘述。

QQ交流群:697773082

微信(cczjp1989)

在这里插入图片描述

直播系统架构演进:从FFmpeg到高发优化的6年实践 流媒体技术作为实时音视频传输的核心,通过编码压缩、网络传输终端解码实现内容分发。其技术原理涉及H.264/HEVC编码标准、RTMP/WebRTC传输协议等关键技术。在工程实践中,直播系统需要平衡延迟、画质兼容性,通过CDN分发、自适应码率边缘计算优化用户体验。FFmpeg作为开源多媒体框架,结合Nginx-RTMP模块可构建基础直播服务,而WebRTC技术则实现了低延迟互动能力。在应用场景上,直播系统广泛应用于在线教育、电商带货娱乐互动等领域,其中高发架构设计性能优化成为技术挑战的重点。本文基 阅读详情

相关推荐

RTSPWeb直播:无插件低延迟方案与SRS+FFmpeg+flv.js实战

流媒体协议是音视频实时传输的技术基础,其核心原理在于通过特定的控制与传输协议实现媒体数据的连续送。在安防监控、物联网直播领域,RTSP协议因其稳定性广泛设备支持而成为主流。然而,现代Web浏览器基于安全与性能考量,普遍不支持直接播放RTSP流,这构成了协议与平台间的技术鸿沟。为解决此问题,产生了‘协议换’这一关键技术价值,即在服务器端将RTSP流码或封装为Web原生支持的格式(如HTTP-FLV、HLS),从而打破壁垒,实现无插件播放。其典型应用场景包括智慧园区监控大屏、远程巡检在线教育内容采

cuanmo8775的博客 508

403 forbidden nginx_分布式直播系统(四)【nginx-rtmp流媒体直播服务器单集群实现方式】...

载请注明出处:https://blog.csdn.net/impingo项目地址:https://github.com/im-pingo/nginx-rtmp-module关键词调度服务器:调度服务器是一个http接口服务器,它用来记录一路直播流在哪台服务器上发布,且提供http接口用来查询流对应的服务器地址。回源:假设当前有两台服务器AB,服务器A上存在某条流S,此时有播放端向服务器B请求...

weixin_39948442的博客 407

Nginx+RTMP 拉流集群方案

基于Nginx+RTMP 配置拉流服务器,以及设置回调功能

使用nginx进行rtmp直播流拉流

服务器我们选用高稳定性、高发的web服务器nginx,利用nginx中的rtmp模块进行流,使得nginx成为rtmp流媒体服务器。现在社会,直播越来越普通,网红流量社会,到底直播是怎么进行的呢,我们来尝试在本地搭建直播环境。cmd在nginx.exe所在的目录启动nginx,输入命令: start nginx。下载地址http://nginx-win.ecsds.eu/download/OK,到此,我们简单的流服务器就搭起来了,小伙伴们,开始直播吧。下载地址:http://ffmpeg.org/

做你想做的人,没有时间的限制,只要愿意,什么时候都可以start。 1944

nginx+rtmp+livePush实现视频

需要的工具:一台电脑。一个美美的心情。centos环境nginx(linux下部署)rtmp模块(linux下部署)livePush.war包(windows下部署)OBS(测试流工具)VLC(测试拉流工具)-----------------------我的分割线--------------------先安装nginx+rtmp模块( nginx-rtmp-module-maste),没什么好说...

日落东山的基地 1万+

Nginx-rtmp模块实现流媒体play、push、pull功能

官方wiki:https://github.com/arut/nginx-rtmp-module#readme Nginx rtmp功能特点 1. 支持音视频直播 2. 支持flv/mp4视频格式,输入可以是文件或者HTTP流 3. 支持两种流的分发模式 pushand pull 4. 可以将直播流录制成flv文件 5. H264/AAC编码 6. 支持在线码 Onlinetranscoding with FFmpeg 7. 支持HLS (HTTP LiveS......

莫失莫忘的博客 1488

分布式直播系统(四)【nginx-rtmp流媒体直播服务器单集群实现方式】

载请注明出处:https://blog.csdn.net/impingo 项目地址:https://github.com/im-pingo/nginx-rtmp-module 目录关键词单集群方案静态回源QQ交流群:697773082(流媒体人) 关键词 回源:假设当前有两台服务器AB,服务器A上存在某条流S,此时有播放端向服务器B请求流S,由于服务器B上不存在该条流所以服务器B只有向服务...

impingo的博客 6671

分布式直播系统(十一)【nginx-rtmp-module鉴权接口】

使用pingos媒体服务器快速实现鉴权功能

impingo的博客 3212

分布式直播系统(二)【搭建单点rtmp\http-flv\hls流媒体服务器】

使用nginx-rtmp-module搭建http-flv、rtmp、hls、http-ts、hls+(内存切片或虚拟切片)直播服务器

impingo的博客 1万+

ffmpeg nginx flv_分布式直播系统(二)【搭建单点rtmp\http-flv\hls流媒体服务器】

声明载请注明出处:https://blog.csdn.net/impingo 项目地址:https://github.com/im-pingo/nginx-rtmp-module服务器介绍本系列博客中所用到的流媒体服务器是nginx-rtmp-module,文章头部有项目地址。 https://github.com/im-pingo/nginx-rtmp-module是在AlexWoo的基础上进...

weixin_39611049的博客 350

分布式直播系统(五)【nginx-rtmp多进程模式下拉流失败的问题(进程间回源)】

载请注明出处:https://blog.csdn.net/impingo 项目地址:https://github.com/im-pingo/nginx-rtmp-module 目录多进程问题背景进程间回源实现原理使用nginx-rtmp-module实现进程间回源QQ交流群:697773082(流媒体人) 多进程问题背景 由于nginx的架构设计是多进程模式,即一个master进程创建一个或者多...

impingo的博客 3817

媒体码切片_分布式直播系统(二)【搭建单点rtmp\http-flv\hls流媒体服务器】...

声明载请注明出处:https://blog.csdn.net/impingo 项目地址:https://github.com/im-pingo/nginx-rtmp-module服务器介绍本系列博客中所用到的流媒体服务器是nginx-rtmp-module,文章头部有项目地址。 https://github.com/im-pingo/nginx-rtmp-module是在AlexWoo的基础上进...

weixin_33891343的博客 457

使用nginx部署rtmp流媒体服务器完成直播

nginx搭建rtmp流媒体服务器

qq_38580583的博客 4674

Nginx+rtmp模块实现直播

服务器环境:CentOS8+宝塔7.5.1 服务器配置: 1C 1G 30M@1T 腾讯云轻量应用服务器东京地区(联通电信NTT 移动KDDI) Step 1 安装宝塔 安装过程就不细讲了,如果需要跳登录可以参考这里→https://lty.pw/bt_skip_login Step 2 配置Nginx环境及安装Nginx SSH中输入以下命令,配置环境 yum install -y gcc-c++ ncurses ncurses-devel cmake make perl bison o...

weixin_37758297的博客 1426

Nginx rtmp

Nginx rtmp 获取流有两种方式,一种是别的server push给自己流,一种是pull拉流。 有两种情况触发:一种是在终端publish之后,一种是在relay server pull之后的. 流程图 原理: 1) 信令交互: 的流程终端publish的流程是一样的. 接收流的nginx rtmp信令交互流程,参见流篇. handshake,connect,createStream都一样的流程。 2)audio/video 将远端(remote)server注册成为..

fdsafwagdagadg6576的专栏 2235

Nginx搭建RTMP拉流服务器

如题,今天就来实现一个拉流服务器,模拟下流后被客户端拉流看到效果。 详细步骤如下 - 安装Nginx - 安装FFmpeg - 安装VLC客户端 安装Nginx 在Mac上有一个很好用的包管理插件,名为homebrew。 具体的安装可以自行去搜索下。下面就借助Homebrew来安装Nginx。 首先是拉取...

weixin_33751566的博客 1095

Nginx rtmp pushrelay(pull)

push,pull config:Nginx-rtmp模块实现流媒体play、push、pull功能_莫失莫忘的博客-CSDN博客 config: 启用push功能,将本机(172.16.6.36)/mypush,app中的数据流送至172.16.6.39服务器下的/myapp app中 application mypush { live on; push rtmp://172.16.6.39:1935/myapp; } 配置实现pull功能,172.16.6.39服务器能够从1...

fdsafwagdagadg6576的专栏 2671

nginx-rtmp-module: 实时流媒体服务器模块

是一个用于 Nginx 的实时流媒体服务器模块,它支持 RTMP 协议的直播点播功能。 ## 什么是 RTMPRTMP(Real-Time Messaging Protocol)是一种实时数据传输协议,主要用于在互联网上传输音频、视频其他实时数据。它广泛应用于在线直播视频点播服务。 ## nginx-rtmp-module 能做什么? 通过安装配置 ,您可以实现以下功能: 1

gitblog_00058的博客 701
上一篇: 分布式直播系统(十一)【nginx-rtmp-module鉴权接口】
下一篇: owt-server接口总结
im-pingo
博客等级 码龄7年 304粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值