SRS云服务器:一键搞定流鉴权、公网IP和直播间

2022-03-18 17:14:57 浏览数 (1)

Story

经常听到一些故事:

•我只想有个能推拉流的服务器,却要被迫看一堆的文档,就不能三分钟给我一台已经准备好的流媒体服务器么?•我在公网部署了一台SRS,竟然没有鉴权?谁都能推流上来啊?要用HTTP Callback自己搞啊?好难,还要学Nodejs/Go。•WebRTC要跑通太难了,要开放特殊的端口,不仅有HTTPS,还有特殊的API,而且还有CANDIDATE,跑不起来太难了。

这次发布的LightHouse SRS产品,解决了这些问题:

•只要会点鼠标,三分钟就可以有一台SRS,带公网IP,专用BGP网络可随时访问。•带鉴权能力,支持OBS和FFmpeg推拉流地址格式,复制粘贴就可以用起来。•WebRTC,RTMP和WebRTC转换,默认都可用,除了证书需要大家搞定之外(涉及备案搞不定)。

你如果对这些故事感兴趣(不感兴趣可以跳过),我展开讲讲:

•三分钟搭好SRS:有时候只是为了快速看下哪个方案更合适,有时候是根本就只是想使用,有时候是客户端的研发不想了解服务器怎么搭,有时候就是验证和测试下自己的想法,这些时候都不想也不需要详细的看文档,三分钟能搞定的事情何必要三个小时呢。•鉴权能力:如果要在线上使用SRS,必须在公网部署服务器,有时候只希望简单的鉴权,别让所有人随便推流可能可以。播放相对比较容易防猜测,可以流名称就是个UUID,一般人是猜不到这个地址。•WebRTC:不必说了,都懂,最装逼以及最难的,也是最恶心的,但是有时候就是需要这个玩意儿,要连麦要聊天,只要有需要就应该被满足。

你如果有自己的故事,可以讲给我听,没有不能解决的问题,只有不为人知的故事。

Why

为什么SRS要解决这些问题?因为现在音视频的门槛,已经从单点到了整体。

能够三分钟下载和编译SRS,算降低了门槛,但是这对于更广泛的开发者来说,要实现的并不是一个服务器,而是端到端的方案,单独一个服务器并不能实现业务能力。

往往单独看每个部分都很简单,H5的播放器简单,SRS也简单,FFmpeg有下载的也简单,对于分别熟悉这些组件的朋友来说,都非常简单。而换个思路,客户端SDK研发要自己搞服务器,服务器研发要搭客户端环境,网络运维要看前端代码,都非常非常难。

从SRS的鉴权来看,需要的是后端(Nodejs/Go) SRS(CC/ ),单独从两个领域看都不难,而熟悉SRS的不懂后端,搞后端的看不懂SRS音视频。需要的不仅仅是接口文档和DEMO,而是能线上开箱即用的方案。

用户需要开箱即用的方案,开发者可以从这个方案为起点定制自己的业务。

How

这次发布的是LightHouse的SRS镜像,LightHouse是腾讯云的轻量服务器(云服务器)。咱们可以一键完成购买,使用逻辑非常简单,不需要复杂的姿势。运行图大概如下:

详细的使用方法,请观看下面B站的视频:

特别提醒几点:

•记得防火墙开特定端口哈,开防火墙也很容易。•关于云服务器有问题,可以扫视频中的二维码加群。•请注意SRS和音视频的相关问题,还是请提到开源社区。

Note: 这不是SRS的商业版本哈,也不是售后支持群,镜像中涉及的组件都是开源的,大伙儿可以自己随便修改。

如果不方便看视频,我把要点摘录到下面:

1.首先登录腾讯云控制台,选择轻量应用服务器[1],可阅读原文直达。2.点击购买新建按钮,在镜像中选择SRS 4.1 Release,点购买就可以了。3.等服务器创建完成后,点击进入管理,在应用管理中,可以看到需要开的端口,在防火墙开放对应端口。4.在应用管理中,点击进入访问地址,首次需要设置密码,然后就看各位的造化了。

Note: WebRTC需要HTTPS,详细的就请观看视频了哈,可以在进度条看预览小图,找WebRTC那一小节。

Note: 如果你已经有了轻量服务器,也可以选择重装系统,选择镜像,然后继续操作。

Next

分享下为何我期待这个期待了几年了,因为:

代码语言:javascript复制
这是个可以更新的音视频底座

目前,在这个底座上只跑了SRS和鉴权服务,支持了几个基本的功能:

1.支持设置后台密码。2.支持流鉴权,可以在后台获取带鉴权的推流地址。3.支持升级后台,新功能发布会更快。4.支持OBS、FFmpeg、WebRTC推流详细引导。5.支持播放器链接,打开就能看。6.SRS的源代码下载链接。

实际上还可以跑更多的容器服务,支持更强大的功能,比如:

1.直播多路转推,可以配置转推不同的平台,可以指定特定的流,是不是挺方便。2.直播转码,比如推上来264转265,或者推265转264,或者给手机转一路小码率的流,或者WebRTC的流用FFmpeg给薅撑妥了(WebRTC流有各种奇怪问题)。3.云录制,把切片扔到云存储上去,不用SRS做,用独立服务做,再也不用担心磁盘满了,也方便后续处理。4.按需推流,没有人观看一定的时间,就把流给踢掉,这些在外围系统做,是不是很容易。5.直播间的管理,比如名单列表,房间热度,踢人,发消息啥的。6.音视频的开发工具和源码,比如一般由于网络问题无法下载的WebRTC代码。

其他的我就不啰嗦了,只有你想不到的,没有做不到的。

最后,我也说几点我的想法:

1.这些独立服务都是开源的,方便大家修改和贡献,当然如果有用到云服务(有些可能真的很难用开源做)会标出来。2.由于是开源的,所以还是走社区维护,没有商业支持团队,大家可以继续白嫖,当然有啥问题要得自己搞定。3.LightHouse真的非常的简单,很适合单台独立主机场景,配合上docker可以让这个平台简单可靠。

我想我之所以这么激动,也是因为推翻了自己的一些认知,之前一直以为云原生等价于K8s,都是给洗脑洗的,结果发现其实K8s并不是唯一路径,云服务器在docker以及一些管理系统(比如宝塔)的加持下,没有了虚拟机难以部署和维护的问题,相反在中小企业中非常的方便。

如果你是大企业的开发者,动不动就要千万并发,请出门右拐。

References

[1] 轻量应用服务器: https://console.cloud.tencent.com/lighthouse

0 人点赞