SRS 是一个开源的流媒体集群,主要应用在直播和 WebRTC,支持 RTMP、WebRTC、HLS、HTTP-FLV 和 SRT 等常用协议。
轻量应用服务器提供了 SRS 应用镜像,使您无需再关注繁杂的部署操作,即可通过该镜像在轻量应用服务器上一键搭建个人直播间。在本地下载推流客户端并且填写推流地址后,即可进行直播。除此之外,超清实时直播、多平台转播、直播录制等服务一应俱全,您可按需选择。
相关协议
1、HTTP-FLV
HTTP-FLV 是 Adobe 公司推出的另一种视频格式(在网络上传输的流媒体数据存储容器格式),相对简单轻量,无需大量的媒体头部信息,整个 FLV 由 The FLV Header、The FLV Body 以及其他 Tag 组成,因此加载速度极快。
FLV(全称 FlashVideo)是一种网络视频格式,以体积小、加载速度极快的特性著称,采用 FLV 格式封装的文件后缀为 .flv
。而 HTTP-FLV 即将流媒体数据封装成 FLV 格式,再通过 HTTP 协议传输给客户端。
2、HLS
HLS(全称 HTTP Live Streaming)是 Apple 的动态码率自适应技术,主要应用在 PC 以及 Apple 终端的音视频服务。HLS 并不是一次请求完整的数据流,它会在服务器端将流媒体数据切割成连续的时长较短的 ts 小文件,并通过 M3U8 索引文件按序访问 ts 文件。客户端只需不停的按序播放从服务器获取到的文件,从而实现播放音视频。
相比于 HTTP-FLV,HLS 的优势如下:
但由于传输协议的特点,造成以下不足:
综合两种传输协议特点,HTTP-FLV 会在互动直播(例如直播带货)的场景下发挥最优效果,而 HLS 在一些对时延不敏感的场景(例如一般直播)会更加适用。
说明
- 若您想使用已创建的实例搭建直播间,则可使用 SRS 应用镜像 重装系统。
- 本文以使用应用镜像 SRS 音视频服务器 4.5 版本为例,镜像可能会进行版本升级与更新,请您以购买页实际版本为准。
若私人直播间的流量已无法满足您的需求,可参考本步骤使用 SRS 提供的多平台转播功能。
说明
您需已在目标直播平台创建直播。
若您需将录制的直播内容存储在 SRS 实例磁盘中,可参考以下步骤使用本地录制功能。
1、云录制
若您的使用场景相对单一,例如希望将直播内容保存,并且后续进行剪辑等操作,建议您使用云录制。
在直播的场景下,录制同样是重要的。直播的内容在录制并存储后,可进行二次创作并再次分发。但如果将录制的内容存储在本地磁盘,则会造成空间不足或数据丢失的压力。SRS 并不直接对接云存储,而是 SRS 服务器使用 SRS 的回调 on_hls,将 HLS 切片保存在 Local Disk 或 Cloud Storage。Local Disk 指 SRS 服务器的本地磁盘。Cloud Storage 则是指对象存储 COS 或云点播 VoD。
此时可通过 SRS 近期更新的重磅功能云录制,来很好的解决该问题。云录制将直播内容以 HLS 格式存储在了 COS 中,可以认为 COS 是个无限容量的磁盘(消耗存储空间遵循 COS 计费规则),使用云录制可避免录制内容撑爆 SRS 云服务器的磁盘。
2、云点播
如果业务场景比较丰富,建议您选择云点播。
云点播是指转换视频流到腾讯云云点播 VoD 服务,只要推送至服务器的流均可以对接云点播。除了提供基础的存储服务外,还具备媒体 AI、媒体处理以及版权保护的能力。
3、云录制操作示例
SRS 云录制及云点播使用简单且操作步骤接近,本文以云录制为例,介绍如何在 SRS 中使用云录制功能。步骤如下:
说明
SecretId 及 SecretKey 可前往 API密钥管理 页面获取。
在 SRS 后台管理页中,单击播放的流 HTTP-FLV 流或 HLS 流中的简易或西瓜,即可进入直播画面。
说明
此时您用浏览器或手机浏览器打开链接时,可能会查看“网站连接不安全”的类似提示。您可参考 一键设置 HTTPS 进行处理。
将链接分享给粉丝和观众后,即可收看您的直播。画面如下图所示:
此时您的 SRS 实例未设置 HTTPS,在使用浏览器或手机浏览器打开链接时,可能会查看“网站连接不安全”的类似提示。您可参考以下步骤,使用 SRS 提供的自动设置 HTTPS 功能。
说明
使用一键设置 HTTPS 功能前,您需具备域名,并已将域名解析至 SRS 实例。