Open Broadcaster Software(简称 OBS)是一款强大的免费开源直播流媒体内容制作软件,兼容 macOS、Windows 和 Linux 操作系统,本文以在 macOS 上的使用操作为例为您介绍如何使用 OBS 进行推流。
直播支持多种推流地址生成方式,包括手动拼接、地址生成器生成和使用 API 生成。您可以根据业务需要选择合适的方式生成直播推流地址,详细说明请参见生成直播地址最佳实践。
视频直播当前提供 RTMP、TS over SRT、RTMP over SRT、RTM 和 WebTransport 协议的推流地址。您可以使用 OBS 进行 RTMP 和 TS over SRT 协议的推流。
在 OBS 软件控制按钮功能区,单击设置进入设置界面。
在设置模块的左侧目录中单击直播配置直播推流地址,RTMP 和 SRT 的推流地址配置如下。
RTMP 推流
配置项 | 说明 |
---|---|
服务 | 自定义 |
服务器 | RTMP://{推流域名}/{ AppName}/ |
推流码 |
说明 配置示例:
|
TS over SRT 推流
配置项 | 说明 |
---|---|
服务 | 自定义 |
服务器 | srt://{推流域名}:9000?streamid=#!::h={推流域名},r={AppName}/{StreamName},m=publish,{鉴权参数} |
推流码 | SRT 推流时,推流码不生效无需配置。 |
单击确定,保存设置。
在 OBS 软件的来源功能区,您可以通过各种素材源编排推流画面,单击添加源 “➕” 按钮,根据实际需求选择输入源。您可以参考 OBS Source Guide 了解各种源类型的说明介绍。
添加来源后,右键单击来源中已添加的源,在弹出的菜单中对单个源进行配置,包括重命名、排序和变换等常见操作。
在 OBS 软件的控制按钮功能区,单击开始直播,开始直播推流。
推流请求连接成功后,会在 OBS 软件最下方展示推流帧率和码率等信息。
在直播开始前,您可以提前修改以下常见直播配置,直播过程中不支持修改配置。
在 OBS 软件的控制按钮功能区,单击设置进入设置对话框。
在输出、音频、视频和高级模块修改以下常见配置。
模块 | 参数 | 说明 |
---|---|---|
输出 | 视频码率 | 视频码率指的是视频数据在单位时间内传输的数据量,码率越高画质越清晰,但同时下行播放时容易卡顿,如使用过大的码率时需要更大的带宽支持,您可以参考以下场景进行配置。
|
关键帧间隔 | GOP 设置过大会导致观众观看延迟变大,一般设置为 2-4。设置为 0 是表示自动,表示视频编码算法会根据视频内容的复杂度和变化情况自动决定关键帧的插入位置和间隔。 说明
| |
CPU 使用预设 | 用于控制 OBS 编码时对 CPU 资源的利用程度。 说明
| |
配置(Profile) | Profile 指的是图像的压缩率,baseline、main、high 的压缩率依次增加,但对 CPU 计算能力的要求也依次增加。 说明
| |
微调(Tune) | Tune 是一个用于优化视频编码的参数选项。它主要是在已经确定的编码配置文件(Profile)基础上,进一步对视频编码进行微调,以适应特定的视频内容类型或传输环境。可以把 Tune 看作是一种精细调整工具,让编码更加贴合实际的直播场景需求。 说明
| |
音频码率 | 音频码率指的是音频数据在单位时间内传输的数据量,使用 OBS 推流时建议使用默认配置 160 kbps。 | |
音频 | 采样率 | 音频采样率则是指每秒对声音信号采样的次数。常见的采样率有 44100Hz(44.1kHz)、48000Hz 等。采样率越高,所能捕捉到的声音频率范围就越广,声音的还原度就越精确和真实。但高采样率也会增加数据量。 |
视频 | 基础(画布)分辨率 | 直播的原始分辨率,一般使用 1920x1080。 |
输出(缩放)分辨率 | 指最后编码发送给外部的分辨率,输出分辨率总是小于等于基础分辨率。 说明 输出分辨率小于基础分辨率时,画面会被缩小至输出分辨率。 | |
帧率 | 帧率越大画面越流畅,直播场景帧率不宜设置过大,保证 20fps 以上即可,设置过大,同样码率下会有损直播清晰度。 | |
高级 | 自动重连 | 支持开启自动重连,并设置重试延迟和重试次数。 |
网络 | 支持开启动态码率,用来应对网络拥堵。 |