使用 OBS Studio 开启 RTMP 直播推流是直播的常见操作,适用于将本地画面(如游戏、摄像头、PPT 等)推送到 RTMP 流媒体服务器(如 NGINX-RTMP、SRS、Red5 等),最终通过直播平台(如抖音、B站、YouTube 等)或自定义播放器播放。以下是详细步骤:
一、准备工作
-
安装 OBS Studio
- 从 OBS 官网 下载对应系统的安装包(Windows/macOS/Linux),按提示完成安装。
- 推荐使用最新稳定版(如 OBS 29+),功能更完善且兼容性强。
-
准备 RTMP 流媒体服务器
RTMP 推流需要一个接收流的服务器(如本地测试用的localhost
或远程服务器)。常见服务器方案:- 本地测试:使用 NGINX-RTMP(需自行搭建)或 SRS(轻量易用)。
- 远程服务器:购买云服务器(如阿里云、腾讯云)并部署 RTMP 服务(参考服务器厂商文档)。
二、配置 OBS 推流设置
1. 打开 OBS 并进入设置
启动 OBS 后,点击右下角 “设置”(齿轮图标),进入全局设置界面。
2. 配置推流输出(关键步骤)
在设置界面左侧导航栏选择 “输出”(Output),右侧切换到 “直播”(Streaming)标签页:
参数 | 说明 | 示例值 |
---|---|---|
服务 | 选择推流协议(必须选 RTMP ) | RTMP |
服务器 | RTMP 服务器地址(格式:rtmp://<服务器IP>:<端口>/<应用名> ) | rtmp://localhost/live (本地测试) |
流密钥 | 推流的唯一标识(由服务器分配,用于区分不同直播间) | my_stream (自定义) |
视频编码器 | 选择视频编码格式(推荐 x264 或硬件加速编码如 NVENC 、QSV ) | x264 (CPU 编码)或 NVENC (NVIDIA GPU) |
音频编码器 | 选择音频编码格式(推荐 aac ) | aac |
视频比特率 | 视频码率(影响画质和带宽,建议 4000-8000 kbps 用于 1080p) | 6000 |
音频比特率 | 音频码率(推荐 128-192 kbps) | 128 |
关键帧间隔 | 视频关键帧间隔(单位:秒,建议 2-4 秒) | 2 |
3. 配置视频与音频源
在设置界面左侧导航栏选择 “视频”(Video)和 “音频”(Audio),调整画面和声音参数:
-
视频设置:
- 分辨率(Base Canvas):根据需求选择(如 1920x1080、1280x720)。
- 输出分辨率(Output Resolution):通常与画布分辨率一致(或按比例缩小以降低码率)。
- 帧率(FPS):推荐 30 或 60 FPS(游戏直播建议 60 FPS)。
-
音频设置:
- 采样率:默认 48000 Hz(兼容大多数设备)。
- 音频格式:选择
AAC
(推荐)或PCM
(仅调试用)。
4. 添加画面源(场景与源)
OBS 的核心是“场景(Scene)”和“源(Source)”,用于组合不同的画面元素(如摄像头、窗口、图片等):
- 创建场景:点击底部 “+” 图标添加新场景(如
直播场景
)。 - 添加源:在场景中点击 “+” 图标添加源(如:
- 摄像头:选择
视频捕获设备
,选择电脑摄像头。 - 窗口捕获:选择
窗口捕获
,选择需要直播的软件窗口(如游戏、PPT)。 - 图像/文字:添加背景图、LOGO 或动态文字(通过
图像
或文本
源)。
- 摄像头:选择
三、测试推流
完成设置后,点击 OBS 右下角 “开始推流”(三角形图标),开始直播。以下是验证推流是否成功的方法:
1. 检查 OBS 状态
- 推流按钮变为 “停止推流”(红色方形图标),表示已成功连接服务器。
- 底部状态栏显示 “已连接” 和当前码率、帧率等信息。
2. 用播放器验证
使用支持 RTMP 的播放器(如 VLC、FFplay)验证推流是否正常:
# 使用 FFplay 播放(需先安装 FFmpeg)
ffplay rtmp://localhost/live/my_stream
若播放器能正常显示画面和声音,说明推流成功。
3. 远程服务器推流验证
若使用远程 RTMP 服务器(如 SRS),需确保:
- 服务器公网 IP 或域名可访问(无防火墙拦截)。
- 推流 URL 正确(如
rtmp://your-server-ip:1935/live/my_stream
)。
四、常见问题与解决
问题 1:OBS 无法连接 RTMP 服务器
- 原因:服务器地址错误、端口未开放、网络不通或服务器未启动。
- 解决:
- 检查服务器 URL 是否正确(如
rtmp://localhost:1935/live
中端口是否为 1935)。 - 确认服务器已启动(如 NGINX-RTMP 需运行
nginx -c /path/to/nginx.conf
)。 - 测试网络连通性(如用
telnet your-server-ip 1935
检查端口是否开放)。
- 检查服务器 URL 是否正确(如
问题 2:推流画面卡顿或延迟高
- 原因:码率过高、网络带宽不足、编码效率低或服务器性能差。
- 解决:
- 降低视频码率(如从 8000 kbps 降至 4000 kbps)。
- 启用硬件加速编码(如 NVIDIA NVENC、Intel QSV)。
- 检查服务器带宽(确保服务器上行带宽足够,如 10Mbps 以上)。
问题 3:音频无声或杂音
- 原因:麦克风未正确选择、音频源静音或编码参数错误。
- 解决:
- 在 OBS 音频设置中检查麦克风是否选中(点击
音频混合器
确认音量条有波动)。 - 关闭其他占用麦克风的应用程序。
- 调整音频编码器参数(如降低比特率或采样率)。
- 在 OBS 音频设置中检查麦克风是否选中(点击
问题 4:推流中断或闪退
- 原因:OBS 版本兼容性问题、显卡驱动过旧或系统资源不足。
- 解决:
- 更新 OBS 到最新稳定版。
- 更新显卡驱动(NVIDIA/AMD/Intel 官方驱动)。
- 关闭不必要的后台程序,释放内存和 CPU 资源。
五、进阶操作(可选)
- 多平台推流:通过 OBS 插件(如 OBS WebSocket 或 Multi-RTMP)同时推送到多个 RTMP 服务器(如抖音、B站)。
- 虚拟摄像头:将 OBS 画面作为虚拟摄像头输出(通过
工具 → 虚拟摄像头
),用于视频会议(如 Zoom、腾讯会议)。 - 场景切换:通过
快捷键
或脚本
实现多场景自动切换(如游戏切换、广告插入)。
通过以上步骤,你可以使用 OBS Studio 顺利开启 RTMP 直播推流,将本地内容实时传输到直播平台或自定义播放器。