SRT Live Server
外观
来自 SLS README
- SRT Live Server (SLS) 是一个基于 Secure Reliable Tranport (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)。