[直播技术实践]SRS直播服务器与APP用户服务器的交互

SRS本身提供http callback
比如鉴权,客户端开启直播流,关闭直播流等的状态可以以回调的方式通知到APP用户服务器

假设使用环信的IM,简单的架构图和流程如下图所示

直播简单架构
1.生成RoomID并在环信服务器IMServer上申请成功

2.appserver 根据RoomID生成推流地址liveURL

3.APP推流端根据liveURL像SRS申请推流

4.推流成功SRS直接回调给appserver一个on_publish消息

5.APP拉流端向appserver获取到拉流地址liveURL

6.APP拉流端根据liveURL向SRS申请rtmp视频流

7.拉流成功on_connet成功回调至APPServer,房间人数+1

8.APPServer可以通过IMServer向众拉流端和本推流端广播xxx进入房间消息

9.各推流端可以通过IMServer在聊天室里发送文字,礼物和红包等互动消息

10.推流端停止直播

11.SRS回调on_unpublish到appserver

SRS要实现与http server交互需要做两点

1.在 compile时开启编译参数 --with-http-callback

2.在config中加入交互状态的回调地址,比如

on_connect   http://127.0.0.1:8085/api/v1/clients 
on_close  http://127.0.0.1:8085/api/v1/clients http://localhost:8085/api/v1/clients;

官方wiki已经提供比较完整的例子

请参考
https://github.com/ossrs/srs/wiki/v3_CN_HTTPCallback

有兴趣的来一起啃源码,直播开源qq交流群:230586765

其他相关文档:
1.较为完整的开源直播框架[服务器,iOS,android]
2.直播的带宽与网络问题解析

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容