9.5 KiB
9.5 KiB
如何获取 RTMP 推流地址
方法 1:通过 Android 应用获取(最简单)✅
步骤 1:启动后端服务器
cd live-streaming
node server/index.js
重要:保持这个窗口打开!
步骤 2:在 Android 应用中创建直播间
步骤 3:获取 RTMP 地址
创建成功后会弹出对话框,显示:
推流地址:
rtmp://10.0.2.2:1935/live/868c49cc-1021-4664-95a3-ed71e789adb2
电脑本机 OBS 可用:
rtmp://localhost:1935/live/868c49cc-1021-4664-95a3-ed71e789adb2
步骤 4:复制地址
- 点击 "复制地址" 按钮
- 地址已复制到剪贴板
- 可以直接粘贴到 OBS 中使用
⚠️ 重要提示
在 OBS 中使用时:
- ✅ 使用:
rtmp://localhost:1935/live/868c49cc-1021-4664-95a3-ed71e789adb2 - ❌ 不要用:
rtmp://10.0.2.2:1935/live/...(这是给 Android 模拟器用的)
地址说明:
rtmp://- 协议localhost- 本机地址1935- RTMP 端口/live/- 应用名称868c49cc-1021-4664-95a3-ed71e789adb2- 你的 streamKey(每个直播间不同)
方法 2:查看已创建的直播间
如果你已经创建过直播间,想再次查看 RTMP 地址:
在 Android 应用中查看
- 打开应用,在首页看到直播间列表
- 点击任意直播间进入详情页
- 向下滚动,找到 "推流信息" 区域
- 可以看到:
推流地址 rtmp://10.0.2.2:1935/live/868c49cc-1021-4664-95a3-ed71e789adb2 电脑本机 OBS 可用(等价地址) rtmp://localhost:1935/live/868c49cc-1021-4664-95a3-ed71e789adb2 推流密钥 868c49cc-1021-4664-95a3-ed71e789adb2 - 点击 "复制地址" 按钮
方法 3:通过 API 获取(技术方式)
如果你想通过代码或命令行获取:
查看所有直播间
curl http://localhost:3001/api/rooms
返回示例:
{
"success": true,
"data": [
{
"id": "868c49cc-1021-4664-95a3-ed71e789adb2",
"title": "我的直播间",
"streamerName": "小明",
"streamKey": "868c49cc-1021-4664-95a3-ed71e789adb2",
"isLive": false,
"streamUrls": {
"rtmp": "rtmp://localhost:1935/live/868c49cc-1021-4664-95a3-ed71e789adb2",
"flv": "http://localhost:8080/live/868c49cc-1021-4664-95a3-ed71e789adb2.flv",
"hls": "http://localhost:8080/live/868c49cc-1021-4664-95a3-ed71e789adb2.m3u8"
}
}
]
}
查看特定直播间
curl http://localhost:3001/api/rooms/868c49cc-1021-4664-95a3-ed71e789adb2
方法 4:查看持久化文件
直播间数据保存在文件中,可以直接查看:
文件位置
live-streaming/data/rooms.json
打开文件
用记事本或 VS Code 打开,内容示例:
[
{
"id": "868c49cc-1021-4664-95a3-ed71e789adb2",
"title": "我的直播间",
"streamerName": "小明",
"streamKey": "868c49cc-1021-4664-95a3-ed71e789adb2",
"isLive": false,
"viewerCount": 0,
"createdAt": "2025-12-16T09:20:00.000Z",
"startedAt": null
}
]
构建 RTMP 地址
根据 streamKey 构建:
rtmp://localhost:1935/live/{streamKey}
例如:
rtmp://localhost:1935/live/868c49cc-1021-4664-95a3-ed71e789adb2
在 OBS 中使用 RTMP 地址
方式 A:完整地址(推荐)
- 打开 OBS Studio
- 点击 "设置" → "推流"
- 服务:选择 "自定义..."
- 服务器:粘贴完整地址
rtmp://localhost:1935/live/868c49cc-1021-4664-95a3-ed71e789adb2 - 串流密钥:留空
- 点击 "确定"
方式 B:分开填写
- 打开 OBS Studio
- 点击 "设置" → "推流"
- 服务:选择 "自定义..."
- 服务器:
rtmp://localhost:1935/live - 串流密钥:
868c49cc-1021-4664-95a3-ed71e789adb2 - 点击 "确定"
两种方式效果相同,选择你喜欢的即可。
快速参考
RTMP 地址格式
rtmp://[主机]:[端口]/[应用]/[streamKey]
示例
rtmp://localhost:1935/live/868c49cc-1021-4664-95a3-ed71e789adb2
│ │ │ │ │
│ │ │ │ └─ streamKey(每个直播间唯一)
│ │ │ └────── 应用名称(固定为 live)
│ │ └──────────── RTMP 端口(固定为 1935)
│ └────────────────────── 主机地址(OBS 用 localhost)
└───────────────────────────── 协议(固定为 rtmp)
地址对照表
| 使用场景 | 地址 |
|---|---|
| OBS 推流 | rtmp://localhost:1935/live/{streamKey} |
| Android 模拟器 | rtmp://10.0.2.2:1935/live/{streamKey} |
| 局域网其他设备 | rtmp://192.168.x.x:1935/live/{streamKey} |
常见问题
❓ 为什么有两个不同的地址?
答:
rtmp://localhost:1935/...- 给电脑上的 OBS 用rtmp://10.0.2.2:1935/...- 给 Android 模拟器用
在 Android 模拟器中,10.0.2.2 代表宿主机(你的电脑)的 localhost。
❓ streamKey 是什么?
答:streamKey 是每个直播间的唯一标识符,就像房间号。每创建一个直播间,系统会自动生成一个新的 streamKey。
❓ 可以自定义 streamKey 吗?
答:当前版本不支持自定义,系统会自动生成 UUID 作为 streamKey。如果需要自定义,需要修改后端代码。
❓ 忘记了 RTMP 地址怎么办?
答:
- 在 Android 应用中点击直播间查看
- 或者查看
live-streaming/data/rooms.json文件 - 或者通过 API 查询:
curl http://localhost:3001/api/rooms
❓ 可以同时创建多个直播间吗?
答:可以!每个直播间有独立的 streamKey,可以同时推流到不同的直播间。
❓ RTMP 地址会变吗?
答:不会!只要不删除直播间,RTMP 地址(streamKey)就不会改变。即使重启服务器,地址也会保持不变(因为已经持久化保存)。
图文演示
📱 Android 应用界面
┌─────────────────────────────┐
│ 直播系统 [开始直播] │ ← 点击这里
├─────────────────────────────┤
│ │
│ ┌─────────────────────┐ │
│ │ 我的直播间 │ │
│ │ 主播: 小明 │ │
│ │ [直播中] │ │ ← 点击进入查看地址
│ └─────────────────────┘ │
│ │
└─────────────────────────────┘
📋 创建直播间对话框
┌─────────────────────────────┐
│ 创建直播间 │
├─────────────────────────────┤
│ │
│ 直播间标题 │
│ ┌─────────────────────┐ │
│ │ 我的直播间 │ │
│ └─────────────────────┘ │
│ │
│ 主播名称 │
│ ┌─────────────────────┐ │
│ │ 小明 │ │
│ └─────────────────────┘ │
│ │
│ [取消] [创建] │ ← 点击创建
└─────────────────────────────┘
📺 推流信息对话框
┌─────────────────────────────┐
│ 已创建直播间 │
├─────────────────────────────┤
│ │
│ 推流地址: │
│ rtmp://10.0.2.2:1935/... │
│ │
│ 电脑本机 OBS 可用: │
│ rtmp://localhost:1935/... │ ← 这个地址用于 OBS
│ │
│ ⚠️ 注意: │
│ 1. Android 应用只能观看 │
│ 2. 需要用 OBS 在电脑上推流 │
│ 3. OBS 设置:服务器填上面 │
│ 4. 推流后在应用中观看 │
│ │
│ [复制地址] [知道了] │ ← 点击复制
└─────────────────────────────┘
总结
最简单的方法 🎯
- 打开 Android 应用
- 点击"开始直播"
- 填写信息并创建
- 点击"复制地址"
- 粘贴到 OBS 中(记得把
10.0.2.2改成localhost)
就这么简单!🎉
需要帮助?
- 查看
使用教程.md获取完整教程 - 查看
android-app/问题修复总结.md解决常见问题