SRT Live Server

来自 ArchWiki

来自 SLS README

SRT Live Server (SLS) 是一个开源的低延迟直播服务器,基于安全可靠传输协议 (SRT)。通常情况下,SLS 的传输延迟在互联网中少于 1 秒。
提示: 如果您想设置一个简单的点对点 SRT 流,您可以直接使用来自 srt 的上游 srt-live-transmit 工具,因为它目前提供了更多功能(例如加密)。请参阅 [1]

安装

安装 srt-live-serverAUR

配置

默认配置文件是 /etc/sls.conf,您可以根据自己的喜好编辑它或提供您自己的配置文件。有关配置指令的信息,请参阅上游 wiki 页面

运行服务器

要运行服务器,您需要使用 -c 选项提供一个配置文件。要使用默认

$ sls -c /etc/sls.conf

推流到服务器

您可以使用任何可以输出 SRT 协议媒体的解决方案。

注意: SLS 仅支持 MPEG-TS 格式的流媒体。

使用 slc

slcsrt-live-serverAUR 软件包的客户端部分,可用于将 MPEG-TS 格式的文件推送到服务器

$ slc -r srt://your.sls.ip:8080?streamid=uplive.sls.com/live/test -i filename

使用 FFmpeg

您可以使用 FFmpeg 将媒体流式传输到服务器,方法是将其用作输出文件。例如,使用 x11grabALSA 虚拟设备流式传输您的屏幕

$ ffmpeg -f x11grab -framerate 30 -i $DISPLAY -f alsa -i default -c:v libx264 -preset ultrafast -c:a aac -flush_packets 0 -f mpegts "srt://your.sls.ip:8080?streamid=uplive.sls.com/live/test"

使用 Open Broadcaster Software

Open Broadcaster Software 在版本高于 v25.0 时支持 SRT 协议发布流。您可以通过将 URL 设置为您的 SLS 实例 (例如 srt://your.sls.ip:8080?streamid=uplive.sls.com/live/test),流式传输到自定义服务选项。

消费流

在客户端,您可以使用您喜欢的支持 SRT 协议的客户端。这里有一些例子。

使用 slc

提供的客户端 slc 可用于将流保存到文件

$ slc -r srt://your.sls.ip:8080?streamid=live.sls.com/live/test -o filename

使用 FFmpeg

您可以使用来自 ffmpegffplay 播放流

$ ffplay -fflags nobuffer -i "srt://your.sls.ip:8080?streamid=live.sls.com/live/test"

使用 Open Broadcaster Software

您可以使用 OBS Studio 和媒体源,方法是指向服务器的 URL。添加一个新的媒体源,取消勾选本地文件选项,并在属性对话框的输入字段中设置 URL (例如 srt://your.sls.ip:8080?streamid=uplive.sls.com/live/test)。