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

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

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

[直播技术实践]SRS直播服务器与APP用户服务器的交互_第1张图片
直播简单架构
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.直播的带宽与网络问题解析

你可能感兴趣的:([直播技术实践]SRS直播服务器与APP用户服务器的交互)