教程 · 用于直播视频的 OBS Studio
OBS Studio 教程 你的摄像头,在你自己的频道上直播
本 OBS Studio 教程将带你从空白的 OBS 窗口走到直播,只需五步:搭建场景、添加摄像头和麦克风、粘贴服务器和推流码、设置编码器,然后点击开始直播。
本教程针对 OBS Studio 32.2 编写,这是适用于 Windows、macOS 和 Linux 的当前版本,你输入的每个值都来自你的 Primcast 控制面板。
- 服务
- Custom...
- 服务器
- rtmp://HOST:1935/APP
- 推流码
- livestream
- 身份验证
- 使用身份验证
- 用户名
- USERNAME
- 密码
- ••••••••••
安装 OBS 并从面板复制四个数值
OBS Studio 是免费的开源软件。将它安装到摄像头所连接的电脑上,然后在设置过程中让控制面板保持在一个浏览器标签页中打开。
获取 OBS Studio
从 obsproject.com 下载,或从终端安装:
# Windowswinget install OBSProject.OBSStudio# macOS (Homebrew)brew install --cask obs# Linux (Flatpak)flatpak install flathub com.obsproject.Studio
首次打开时,OBS 会提供自动配置向导。你可以关闭它:本页面会手动完成所有设置。
你频道的编码器设置
登录后,打开你的视频账户并前往 直播 卡片。在 编码器设置 下,你会找到:
- 服务器
- 一个类似
rtmp://HOST:1935/APP的地址。它填入 OBS 的服务器框中。 - 流名称
- 通常是
livestream。OBS 将其称为推流码。 - 用户名
- OBS 用于发布到你的频道的登录名。
- 密码
- 点击显示前处于隐藏状态。新密码会生成一个新的。
有些面板还会列出 最近服务器。将该地址填入 OBS 而不是服务器行:OBS 随后会连接到离你最近的位置(纽约、迈阿密、旧金山、阿姆斯特丹或布加勒斯特),我们会将流传输到你的频道。你的流名称、用户名和密码不会改变。
如何使用 OBS Studio:场景及其来源
OBS 发送预览中的任何内容。场景是一种布局,来源是其中的内容:摄像头、麦克风、屏幕、标志。先构建一个场景,之后再添加更多。
创建场景
- 在左下角的 场景 停靠区中,点击 + 并为场景命名,例如“直播”。
- 在旁边的 来源 停靠区中,点击 +,在打开的窗口中选择 视频采集设备,用于网络摄像头或采集卡。选择你的设备并点击确定。
- 再次点击 +,为麦克风添加 音频输入采集,除非摄像头或采集卡已经携带声音。
- 在预览中拖动红色边框来调整摄像头大小。右键点击它并选择 变换,然后选择 适配屏幕,即可快速获得全帧画面。
你会用到的其他来源
- 显示器采集
- 你的整个屏幕。在 Mac 上称为 macOS 屏幕采集。
- 窗口采集
- 一个应用程序窗口,例如幻灯片或浏览器。
- 媒体源
- 一个视频文件,或者如果你取消勾选本地文件,则是一个流地址。
- 图像
- 一个标志或“稍后回来”卡片。
说话时观察 音频混音器。电平表应在响亮词语时进入黄色区域,并保持在红色区域之外。
设置 OBS RTMP 流到你的频道
打开 设置(右下角,控件下方),然后在左侧选择 推流。OBS 在这里学习将画面发送到哪里。
Settings › Stream
- 将 服务 设置为 自定义...,即列表中的第一项。
- 将面板中的服务器地址粘贴到 服务器 中,完全按照所示,末尾不要加流名称。
- 将你的流名称(通常是
livestream)输入到 推流码 中。 - 勾选 使用身份验证,然后输入面板中的 用户名 和 密码。
- 点击 应用。
阻止大多数首次直播的三个错误
- 流名称被粘贴到服务器地址的末尾。OBS 需要将它们放在两个框中。
- 使用身份验证未勾选。你的频道只接受登录的发布者,因此 OBS 会被拒绝。
- 旧密码。如果你在面板中点击了新密码,OBS 在下一次连接前需要新的密码。
OBS 还需要在出站方向上访问端口 1935。办公室和学校网络有时会阻止它;如果没有其他问题,请尝试其他连接。
OBS 推流设置,让画面不卡顿
三个设置页面决定推流的稳定性:输出用于编码器,视频用于画面尺寸,高级用于断线时的处理。三个页面一次设好。
Settings › Output
将输出模式切换为高级,这样关键帧设置才会出现,然后在推流选项卡中:
- 视频编码器
- 选择 H.264 编码器。如果有显卡编码器就用它(NVIDIA NVENC H.264、AMD HW H.264、QuickSync H.264 或 Apple VT H264 硬件编码器),否则用 x264。
- 速率控制
CBR,恒定比特率。- 比特率
- 参照下方表格。
- 关键帧间隔
2 s。切勿设为 0,那会让 OBS 自行决定。
然后打开音频选项卡,将音轨 1 设为 128 kbps AAC。
Settings › Video · Advanced
在视频下,将基础(画布)分辨率保持为你的屏幕尺寸,并将输出(缩放)分辨率和FPS设为你在下方选择的那一行。OBS 会替你缩小画面。
在高级下,保持勾选自动重连。当你的网络短暂中断时,OBS 会自动重试,你的频道会重新接上推流。
为什么 2 秒很重要:我们在每个关键帧处将推流切成播放片段。间隔过长或不稳定会产生不均匀的片段,观众就会看到像服务器问题一样的缓冲。
| 画面 | 输出(缩放)分辨率 | 视频比特率 | 音频 | 所需上传带宽 |
|---|---|---|---|---|
| 1080p,30 fps | 1920x1080 | 4500 Kbps | 128 | 7 Mbps |
| 720p,30 fps | 1280x720 | 2500 Kbps | 128 | 4 Mbps |
| 480p,30 fps | 854x480 | 1200 Kbps | 96 | 2 Mbps |
在推流电脑上运行测速,发送不超过其显示上传带宽的三分之二。如果不确定,就从 720p 开始:它在手机和笔记本上看起来都不错,还能为网络不佳的时刻留出余地。付费直播视频套餐最高可接收 5 Mbps 的输入,足以覆盖 1080p 那一行。
开始推流,并从观众视角检查
开始直播
- 在控制面板中点击开始推流。
- 查看 OBS 底部的状态栏。绿色方块和稳定的 kb/s 数值表示推流正在正常传输。
- 从“停靠窗口”菜单打开统计。网络下的丢帧指向你的上传带宽;渲染或编码下的跳帧指向电脑负载过高。前者降低比特率或分辨率,后者使用硬件编码器。
- 如果需要在本地保留一份副本,也点击开始录制。OBS 会将其保存到输出下设置的录制路径。
看看观众看到的效果
回到你的直播推流卡片,状态会显示频道正在直播以及 OBS 正在发送的内容。再往下,观看会提供播放链接和用于网站或应用的嵌入代码。在手机上关闭 Wi-Fi 打开链接,就能以观众的视角查看推流。
同一张卡片还可以将你的推流转发到 YouTube、Facebook、Twitch 或其他 RTMP 服务器,最多同时五个目的地。OBS 始终只发送一路推流,因此你的上传带宽无需承担额外的副本。
OBS SRT 和 WHIP:另外两种接入方式
RTMP 对大多数人来说都适用。如果你的面板显示以下任一板块,就可以在同一个“设置 › 推流”页面中使用它。
SRT 适用于长距离或不稳定的连接
SRT 能在场馆 Wi-Fi、移动上行链路或远距离信号源下保持画面稳定。它包含在我们的视频 CDN 的 Pro 和 Platinum 套餐中,届时你的卡片会显示一个 SRT 接入板块。
- 保持服务为“自定义...”,将面板中的单行 URL 粘贴到服务器中。
- 将推流密钥留空,并取消勾选“使用身份验证”。URL 中的密码短语会完成验证。
srt://HOST:PORT?passphrase=PASSPHRASE&pbkeylen=16
通过 SRT 发送的推流以其自己的名称播放。使用面板在“播放地址”下显示的链接。
WHIP 延迟约半秒
当你的频道开启 WebRTC 后,卡片会列出一个 WHIP (WebRTC) 地址。OBS 从 30 版本开始支持 WHIP。
- 将服务设为 WHIP。
- 将 WHIP 地址粘贴到服务器中。
- 将频道密码填入Bearer Token。
面板显示 WebRTC 发布的延迟约为半秒。场景、来源以及上述输出设置均保持不变。
人们常问我们的 OBS Studio 问题
如何从 OBS 推流到 RTMP 服务器?
打开“设置”,然后进入“直播”,将“服务”设为“自定义...”选项。在“服务器”中填入服务器地址,在“推流码”中填入流名称。如果服务器需要登录(例如 Primcast 频道),请勾选“使用身份验证”并输入用户名和密码。点击“应用”,然后点击“开始直播”。
在哪里可以找到我的服务器、推流码和密码?
在您的账户中,视频账户的“直播”卡片下,位于“编码器设置”部分。点击“显示”可查看密码。“生成新密码”会创建另一个密码;正在直播的流会继续运行,OBS 下次连接时需要新的密码。
为什么 OBS 提示“无法连接到服务器”?
几乎总是以下三种情况之一:流名称被粘贴到了“服务器”框中,未勾选“使用身份验证”,或者密码已过期。请对照您的面板检查这些内容。如果都正确,您的网络可能阻止了出站端口 1935;请尝试其他连接,然后在聊天中联系我们,我们可以查看您频道侧的情况。
在 OBS 中应该使用什么关键帧间隔?
2 秒,在“设置”的“输出”中设置,并将“输出模式”设为“高级”。默认值 0 会让 OBS 自行选择,而较长的间隔会导致观众的播放器缓冲,因为播放会在每个关键帧处被切分成片段。
在 OBS 中应该以什么码率直播?
720p 约 2500 Kbps,1080p 30 帧每秒约 4500 Kbps,搭配 128 kbps 的 AAC 音频和 CBR 速率控制。请将总码率保持在测速显示的上传速度的三分之二以下,这样线路出现短暂波动时也不会中断直播。
OBS 可以将 RTMP 或 HLS 流作为来源显示吗?
可以。添加“媒体源”,取消勾选“本地文件”,然后将流地址粘贴到“输入”中。对于您自己的频道,请使用面板“观看”部分中的播放链接。这是检查直播流或将第二个地点接入节目的便捷方式。
我可以同时从 OBS 推流到 YouTube 和自己的频道吗?
可以,无需插件。像平常一样将 OBS 发送到您的 Primcast 频道,然后在“直播”卡片上将 YouTube、Facebook、Twitch 或任何 RTMP 服务器添加为目标,最多五个。OBS 上传一个流,我们的服务器会发送副本。
OBS 需要我自己的流媒体服务器吗?
不需要。您的 Primcast 频道就是服务器:OBS 向它发送一个流,观众通过您嵌入的链接在浏览器或应用中播放。直播视频套餐可同时容纳多达 1,000 名观众,因此观看人数永远不会影响您自己的上传。
使用其他编码器?
每个支持 RTMP 的编码器都使用相同的四个值连接到您的频道。这些教程展示了它们的位置,我们的直播视频教程也涵盖了硬件编码器。
还没有频道?获取一个并点击“开始直播”
选择一个直播视频套餐,将四个值复制到 OBS 中,几分钟后即可在手机上看到自己。如果无法连接,我们的聊天会在几秒内回复,可以在您等待时检查您的频道,并在您需要时随时转接给人工客服。