SRT Live Server
来自 SLS README
- SRT Live Server (SLS) 是一个开源的低延迟直播服务器,基于安全可靠传输协议 (SRT)。通常情况下,SLS 的传输延迟在互联网中少于 1 秒。
安装
安装 srt-live-serverAUR。
配置
默认配置文件是 /etc/sls.conf
,您可以根据自己的喜好编辑它或提供您自己的配置文件。有关配置指令的信息,请参阅上游 wiki 页面。
运行服务器
要运行服务器,您需要使用 -c
选项提供一个配置文件。要使用默认
$ sls -c /etc/sls.conf
推流到服务器
您可以使用任何可以输出 SRT 协议媒体的解决方案。
注意: SLS 仅支持 MPEG-TS 格式的流媒体。
使用 slc
slc
是 srt-live-serverAUR 软件包的客户端部分,可用于将 MPEG-TS 格式的文件推送到服务器
$ slc -r srt://your.sls.ip:8080?streamid=uplive.sls.com/live/test -i filename
使用 FFmpeg
您可以使用 FFmpeg 将媒体流式传输到服务器,方法是将其用作输出文件。例如,使用 x11grab 和 ALSA 虚拟设备流式传输您的屏幕
$ 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
您可以使用来自 ffmpeg 的 ffplay
播放流
$ 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
)。