Go语言流媒体服务lalserver中转推模块PullRtmpPushRtmp实现分享

Posted TSINGSEE

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言流媒体服务lalserver中转推模块PullRtmpPushRtmp实现分享相关的知识,希望对你有一定的参考价值。

作为视频推拉流直播的流媒体开发团队,TSINGSEE青犀视频会尝试用很多方式去增强推拉流的服务便捷性和实用性,基于各种考虑,我们决定采用PullRtmpPushRtmp模块来进行lalserver中转推测试。本文就分享一下我们的实现过程。

PullRtmpPushRtmp模块是从远端服务器拉取RTMP流,并使用RTMP转推出去,支持1对n转推。引用代码github地址:https://github.com/q191201771/lal

具体实现参考代码如下:

判断远端rtmp流是否正常:

根据拉流RTMP地址和推流的RTMP地址创建通道:

最后根据需要分发的RTMP地址创建session,再逐个开启push session,若多个RTMP输出地址,其中一个失败则直接退出,主要代码如下:

以上是关于Go语言流媒体服务lalserver中转推模块PullRtmpPushRtmp实现分享的主要内容,如果未能解决你的问题,请参考以下文章

go语言调用上下文拉起ffmpeg,并引入livego做的简单流媒体服务器

Golang 流媒体音视频网络传输开源项目-LAL

方圆-罗辑思维Go语言微服务改造实践

LAL-开源Go语言音视频流媒体服务器

一个开源的Go语言实现的流媒体服务器开发框架——Monibuca

2023-03-05:ffmpeg推送本地视频至lal流媒体服务器(以RTMP为例),请用go语言编写。