srs文档全称

srs文档全称,第1张

SRS(Software Requirement Specification)全称为软件需求规格说明书,是为了软件开发系统而编写的,主要用来描述待开发系统的功能性需求和非功能性需求,以及系统所要实现的功能和目标,为项目开发人员提供基本思路,明确开发方向,节约时间提高开发效率,降低软件开发风险,节约成本。

SRS主要面向系统分析员,程序员,测试员,实施员和最终用户。

SRS是整个软件开发的依据,它对以后阶段的工作起指导作用,同时也是项目完成后系统验收的依据,还是《用户手册》和《测试计划》的编写依据。

公司最近在接入摄像头,但是摄像头返回的流地址是 rtsp 格式的,前端无法直接播放。经过调研后,决定采用 ffmpeg 进行转码,推流到 srs ,再由前端进行获取。 srs 可以支持集群、回调等功能,可以更好的进行以后需求的扩展。特此记录利用回调功能实现鉴权,指定流才能播放。

srs github

v4_CN_HTTPCallback

安装采用 docker 安装的方式比较快捷,但是因为需要回调需要修改配置,所以利用 docker 启动了 srs 后,需要将配置文件复制出来挂载到本地,再利用本地的配置进行启动。

简单测试一下推流:

使用 vlc ,选择 open network stream 填入 rtmp://127.0.0.1/live/livestream 可以播放。

将拉流的地址后面加上后缀,流可以可以播放,例如 rtmp://127.0.0.1/live/livestream?token=1 实际上也是没有影响的,如果设置了回调,那么 srs 会将原地址后的所有字符串(例如 ?token=1 )当做附加信息发送给回调方。

现在,假设需要判断当一个客户端打开某个流地址时,这个流是否真的可以播放,那么可以设置 on_play 回调;如果需要监听客户端何时断开连接,从而也可以回收先前起的 ffmpeg 进程,可以设置 on_close 回调,其他需求可以查看官方文档说明。

修改挂载在本地的 ~/Downloads/srs/conf/srs.conf 文件,在 vhost__defaultVhost__ 下添加 http_hooks :

更新完新的 conf 文件后,重启一下 srs 即可。

对于回调接口的限制,只需要在成功时返回 0 ,返回其他任何数字都认为是失败。在 controller 中添加对应的回调接口:

此时也可以在 srs 的日志中看到当有客户端连接时发送了请求:

request 里的内容会被发送到指定的回调接口。

关闭流的接口也是类似,在此不赘述了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12038921.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存