在 Ubuntu 24.04 上使用 SRS (Simple Real-time Server) 搭建 RTMP 流媒体服务器是一个有效的解决方案,用于实现流媒体的实时传输。SRS 是一个开源的、轻量级的流媒体服务器,支持多种流媒体协议,包括 RTMP、HTTP-FLV 和 HLS。
以下是详细的步骤和配置说明,帮助您在 Ubuntu 24.04 上成功搭建 SRS RTMP 流媒体服务器。
在开始之前,确保系统是最新的。运行以下命令更新系统软件包:
sudo apt update
sudo apt upgrade -y
SRS 需要一些基本的开发工具和库。安装这些依赖项:
sudo apt install -y build-essential git
使用 Git 克隆 SRS 的源代码:
git clone https://github.com/ossrs/srs.git
进入 SRS 源代码目录,执行编译命令:
cd srs
./configure
make
如果编译成功,您将看到 objs/srs
可执行文件。
SRS 的配置文件位于 conf
目录中,默认文件名为 srs.conf
。您可以根据需求进行编辑和配置。
使用文本编辑器打开 srs.conf
文件:
nano conf/srs.conf
在文件中,配置 RTMP 流媒体服务器的基本设置:
# SRS main configuration file
# The HTTP server for SRS
http_server {
enabled on;
listen 1985;
# The request API server
dir ./objs/nginx/html;
}
# The RTMP server for SRS
rtmp_server {
listen 1935;
# Enable the RTMP server
max_connections 1000;
# Allow publish and play
play on;
}
http_server
配置 HTTP 服务器部分,包括监听端口和静态文件目录。rtmp_server
配置 RTMP 服务器部分,包括监听端口和连接限制。保存并关闭文件。
使用以下命令启动 SRS 服务器:
./objs/srs -c conf/srs.conf
SRS 服务器将开始运行,并监听配置文件中指定的端口。
您可以使用支持 RTMP 的工具(如 OBS Studio)来推送流到 SRS 服务器。使用以下 RTMP URL 作为推流地址:
rtmp://<your-server-ip>:1935/live/stream
其中 <your-server-ip>
是您的服务器 IP 地址,live
是应用名称,stream
是流名称。
SRS 的 HTTP API 可以通过以下 URL 访问:
http://<your-server-ip>:1985/api/v1/servers
该 API 允许您检查 SRS 服务器的状态。
确保服务器上的防火墙允许 HTTP 和 RTMP 端口的流量。使用 ufw
配置防火墙规则:
sudo ufw allow 1985/tcp
sudo ufw allow 1935/tcp
为了在系统启动时自动启动 SRS,可以将 SRS 配置为系统服务。
sudo nano /etc/systemd/system/srs.service
[Unit]
Description=SRS RTMP Server
After=network.target
[Service]
ExecStart=/path/to/srs/objs/srs -c /path/to/srs/conf/srs.conf
Restart=on-failure
User=your-username
[Install]
WantedBy=multi-user.target
请替换 /path/to/srs/
和 your-username
为实际路径和用户名。
sudo systemctl daemon-reload
sudo systemctl enable srs
sudo systemctl start srs
在 Ubuntu 24.04 上使用 SRS 搭建 RTMP 流媒体服务器涉及几个关键步骤:更新系统、安装依赖、下载和编译 SRS、配置服务器、启动 SRS、验证功能,以及配置防火墙和自动启动。通过上述步骤,您可以建立一个功能齐全的 RTMP 流媒体服务器,支持实时流媒体传输。
如果需要更多高级配置或功能,建议参考 SRS 官方文档。