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做的简单流媒体服务器