zhibo/Log/服务搭建/直播-SRS和API服务.md
xiao12feng8 7376df609d 主题:添加聊天室
功能:聊天室功能添加
2026-01-11 14:07:50 +08:00

3.9 KiB

直播服务部署文档 (SRS + API)

服务信息

服务 端口 用途
SRS RTMP 25002 (映射到1935) 推流地址
SRS HTTP-FLV 25003 (映射到8080) 拉流播放
SRS API 1985 SRS管理接口
API Server 25001 (映射到3001) 后端接口

一、目录结构

/opt/live-streaming/
├── docker/
│   └── srs/
│       └── srs.conf          # SRS配置文件
├── docker-compose.yml        # Docker编排文件
└── server/                   # API服务代码

二、SRS配置文件

位置:/opt/live-streaming/docker/srs/srs.conf

listen              1935;
max_connections     1000;
srs_log_tank        console;
daemon              off;

http_api {
    enabled         on;
    listen          1985;
}

http_server {
    enabled         on;
    listen          8080;
    dir             ./objs/nginx/html;
}

rtc_server {
    enabled on;
    listen 8000;
    candidate $CANDIDATE;
}

vhost __defaultVhost__ {
    hls {
        enabled         on;
    }
    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
    }
    rtc {
        enabled     on;
        rtmp_to_rtc on;
        rtc_to_rtmp on;
    }
}

三、Docker启动命令

SRS服务

docker run -d \
  --name srs-server \
  --restart always \
  -p 25002:1935 \
  -p 25003:8080 \
  -p 1985:1985 \
  -v /opt/live-streaming/docker/srs/srs.conf:/usr/local/srs/conf/srs.conf \
  ossrs/srs:5

API服务

docker run -d \
  --name api-server \
  --restart always \
  -p 25001:3001 \
  -e PUBLIC_SRS_HOST=1.15.149.240 \
  -e PUBLIC_SRS_RTMP_PORT=25002 \
  -e PUBLIC_SRS_HTTP_PORT=25003 \
  -e SRS_HOST=srs \
  -e SRS_HTTP_PORT=8080 \
  -e NODE_ENV=production \
  live-streaming-api-server

四、推流/拉流地址

推流地址 (OBS/手机)

rtmp://1.15.149.240:25002/live/{streamKey}

拉流地址 (播放器)

# HTTP-FLV (推荐,低延迟)
http://1.15.149.240:25003/live/{streamKey}.flv

# HLS (兼容性好)
http://1.15.149.240:25003/live/{streamKey}.m3u8

五、常用命令

# 查看服务状态
docker ps | grep -E "srs|api"

# 查看SRS日志
docker logs srs-server
docker logs -f srs-server  # 实时

# 查看API日志
docker logs api-server

# 重启服务
docker restart srs-server
docker restart api-server

# 停止服务
docker stop srs-server api-server

# 启动服务
docker start srs-server api-server

# 查看SRS统计信息
curl http://localhost:1985/api/v1/streams

六、在新服务器部署

1. 创建目录和配置

mkdir -p /opt/live-streaming/docker/srs

# 创建SRS配置文件
cat > /opt/live-streaming/docker/srs/srs.conf << 'EOF'
listen              1935;
max_connections     1000;
srs_log_tank        console;
daemon              off;

http_api {
    enabled         on;
    listen          1985;
}

http_server {
    enabled         on;
    listen          8080;
    dir             ./objs/nginx/html;
}

vhost __defaultVhost__ {
    hls {
        enabled         on;
    }
    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
    }
}
EOF

2. 启动SRS

docker run -d \
  --name srs-server \
  --restart always \
  -p 25002:1935 \
  -p 25003:8080 \
  -p 1985:1985 \
  -v /opt/live-streaming/docker/srs/srs.conf:/usr/local/srs/conf/srs.conf \
  ossrs/srs:5

3. 开放防火墙端口

# TCP端口
firewall-cmd --permanent --add-port=25002/tcp
firewall-cmd --permanent --add-port=25003/tcp
firewall-cmd --permanent --add-port=1985/tcp
firewall-cmd --reload

4. 云服务器安全组

开放以下端口:

  • TCP 25002 (RTMP推流)
  • TCP 25003 (HTTP-FLV播放)
  • TCP 1985 (SRS API)

七、验证服务

# 检查SRS版本
curl http://localhost:1985/api/v1/versions

# 检查当前直播流
curl http://localhost:1985/api/v1/streams