前言
SRS 不用多介绍了,开干就行。
一、安装 Docker
# 安装 Docker
sudo dnf install -y docker
# 启动 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
# 验证安装
docker --version二、部署 SRS 流媒体服务器
1. 拉取 SRS Docker 镜像
docker pull ossrs/srs:52. 创建 SRS 配置文件
mkdir -p /etc/srs
cat > /etc/srs/srs.conf << 'EOF'
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
http_api {
enabled on;
listen 1985;
}
stats {
network 0;
}
vhost __defaultVhost__ {
# 直播优化配置
tcp_nodelay on;
min_latency on;
# 播放配置
play {
gop_cache off; # 关闭 GOP 缓存,降低延迟
queue_length 10; # 播放队列长度
mw_latency 100; # 最小等待延迟 100ms
}
# HTTP-FLV 配置
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
# HLS 配置(可选)
hls {
enabled on;
hls_path ./objs/nginx/html;
hls_fragment 2; # 每个 TS 切片 2 秒
hls_window 10; # 保留 10 个切片
}
}
EOF3. 启动 SRS 容器
docker run -d \
--name srs \
--restart always \
-p 1935:1935 \
-p 8080:8080 \
-p 1985:1985 \
-v /etc/srs/srs.conf:/usr/local/srs/conf/srs.conf \
ossrs/srs:54. 验证 SRS 运行状态
# 查看容器日志
docker logs srs
# 查看容器状态
docker ps | grep srs
# 访问 Web 管理界面
# http://服务器IP:8080三、测试推流
需要先安装 ffmpeg,没有的,来我这里看一下。
1. 推流测试(彩条 + 实时时间)
ffmpeg -re -f lavfi -i testsrc=size=1280x720:rate=30 \
-f lavfi -i sine=frequency=1000:sample_rate=44100 \
-vf "drawtext=fontsize=60:fontcolor=white:box=1:boxcolor=black@0.7:x=(w-text_w)/2:y=(h-text_h)/2:text='%{localtime}'" \
-c:v libx264 -pix_fmt yuv420p -preset ultrafast -tune zerolatency \
-profile:v baseline -g 60 -b:v 800k \
-c:a aac -b:a 128k \
-f flv rtmp://127.0.0.1:1935/live/test2. 验证流状态
# 检查流参数
ffprobe -v error -show_streams http://127.0.0.1:8080/live/test.flv
# 应该看到:
# codec_name=h264
# width=1280
# height=720
# pix_fmt=yuv420p3. 播放测试
VLC 播放器:
打开网络流:http://服务器IP:8080/live/test.flv