✅ 一、推流地址格式(Push URL)

推流是指 将音视频流从本地发送到服务器,比如用 OBS 推送给 SRS。

🎯 推流常用协议:

RTMP(最常用)

SRT(安全、抗丢包)

RTSP(轻量,但不太适合公网直播)

📌 推流地址格式(以 RTMP 为例):

rtmp://<服务器地址>/<应用名>/<流名>

🌐 示例:

rtmp://localhost/live/2

localhost:服务器地址(可换成 IP 或域名)

live:应用名(App,SRS 配置中定义)

2:流名(Stream name,自定义,例如摄像头 ID)

🔧 OBS 设置中,“服务器”填 RTMP 地址,“串流密钥”填流名,比如:

服务器:rtmp://localhost/live 串流密钥:2

✅ 二、拉流地址格式(Play URL)

拉流是指 客户端从服务器获取直播流进行播放。SRS 支持多种拉流协议。

🎥 常见拉流协议及地址格式:

协议播放地址格式优点常用场景HTTP-FLVhttp://host:8080/app/stream.flv低延迟,适合直播浏览器 + flv.js 播放HLShttp://host:8080/app/stream.m3u8高兼容,但延迟高(10s+)浏览器、iOSRTMPrtmp://host/app/stream延迟低旧播放器、Flash(已过时)WebRTCwebrtc://host/live/stream超低延迟(<1s),难配置互动、低延迟直播SRTsrt://host:port?streamid=...(非 SRS 播放)抗丢包强,延迟可控专业视频系统

🧠 三、推流 + 拉流实现原理(以 SRS 为例)

启动 SRS 容器或服务(监听 RTMP、HTTP-FLV、HLS 等端口)。

推流客户端(如 OBS) 把视频用 RTMP 推给 SRS:

rtmp://localhost/live/2

SRS 接收流后:

自动转码(可选);

转封装为 FLV/HLS/WebRTC 等格式。

浏览器客户端 用 HTTP-FLV 地址拉流播放:

http://localhost:8080/live/2.flv

✅ 四、测试流程示意:

1. 启动 SRS Docker: docker run -d -p 1935:1935 -p 8080:8080 registry.cn-hangzhou.aliyuncs.com/ossrs/srs:5

2. OBS 设置: 服务器:rtmp://localhost/live 串流密钥:2

3. 打开浏览器播放: http://localhost:8080/live/2.flv (使用 flv.js 播放器)