前言

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:5

2. 创建 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 个切片
    }
}
EOF

3. 启动 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:5

4. 验证 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/test

2. 验证流状态

# 检查流参数
ffprobe -v error -show_streams http://127.0.0.1:8080/live/test.flv

# 应该看到:
# codec_name=h264
# width=1280
# height=720
# pix_fmt=yuv420p

3. 播放测试

VLC 播放器:

打开网络流:http://服务器IP:8080/live/test.flv