跳转至内容

SRT Live Server

来自 ArchWiki

来自 SLS README

SRT Live Server (SLS) 是一个基于 Secure Reliable Tranport (SRT) 的开源低延迟直播服务器。通常,SLS 传输的延迟在互联网上小于 1 秒。
提示 如果您想设置一个简单的点对点 SRT 流,可以直接使用上游的 srt-live-transmit 工具,来自 srt 包,因为它目前提供了更多功能(例如加密)。请参阅 [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)。