方案背景
Open Broadcaster Software(简称 OBS)是一款好用的第三方开源程序直播流媒体内容制作软件,为用户提供免费使用,它可支持 OS X、Windows、Linux 操作系统,适用多种直播场景,满足大部分直播行为的操作需求,您可以到 OBS 官网下载 最新版本软件。
准备工作
安装 OBS 工具。
说明:
获取推流地址
1. 登录云直播控制台,进入常用工具 > 地址生成器。
2. 进入地址生成器页面,进行如下配置:
2.1 选择地址类型:推流地址。
2.2 选择您在域名管理中已添加的推流域名。
2.3 AppName 为区分同一个域名下多个 App 的地址路径,填写 AppName,默认为
live
。2.4 填写自定义的流名称 StreamName,例如:
liveteststream
。2.5 您需要选择一种加密类型,请根据您的安全需求和性能考虑进行权衡。加密类型可以选择 MD5 或 SHA256 ,默认 MD5 。
2.6 选择地址过期时间,例如:
2024-09-30 17:10:06
。3. 单击生成地址即可获取 OBS 推流地址。
OBS 在线推流
步骤一:设置推流地址
1. 打开 OBS,您可通过底部工具栏的控件 > 设置进入设置界面。
2. 单击直播进入流设置页签,选择服务类型为自定义流媒体服务器。
3. 将获取所得的推流地址填写到服务器和推流码中。
服务器:对应"OBS 服务器",即
rtmp://domain/AppName/
。推流码:对应“OBS推流码”,即
StreamName?txSecret=xxxxx&txTime=liveteststream
。
4. 单击确定保存设置信息。
步骤二:推流引导设置
说明
若您需进行码率、录像等配置,可单击顶部工具栏,选择工具 > 自动配置向导,按 OBS 的引导进行推流设置。
1. 查看底部工具栏的来源标签。
2. 单击 + ,按需选择输入源,例如:显示器采集。
常用直播来源输入介绍
输入源 | 说明 |
VLC 视频源 | 安装 VLC 才能启用本来源。 |
图像 | 适用于单张图像直播。 |
图像幻灯片放映 | 可循环或者顺序多张播放图片。 |
场景 | 实现各种强大的直播效果。此时,另一个场景是作为来源被添加进当前场景的,可以实现整个场景的插入。 |
媒体源 | 可上传本地视频,并对本地点播视频文件进行直播化处理。 |
文本 | 实时添加文字在直播窗口中。 |
显示器采集 | 可实时动态捕捉您电脑桌面的操作,电脑桌面中所有的操作均执行直播。 |
浏览器 | 以浏览器方式显示网址内容或打开本地 html 文件。 |
游戏采集 | 允许对指定来源的游戏进行直播。适用于大小游戏的实况直播。 |
窗口采集 | 可根据您选择的窗口进行实时捕获,直播仅显示您当前窗口内容,其他窗口不会进行直播捕获。 |
色源 | 使用这个来源可以添加一个色块到您的场景中,作为一个背景色。该色块可以调节透明度,成为全屏透明色彩。 |
视频采集设备 | 实时动态捕捉摄像设备,可将摄像后的画面进行直播。 |
音频输入采集 | 用于音频直播活动(音频输入设备)。 |
音频输出采集 | 用于音频直播活动(音频输出设备)。 |
步骤三:开启工作室模式
工作室模式下可以对当前直播的内容进行实时编辑,并在编辑过程中进行过渡动画的场景切换,从而实现在对用户体验影响最低的程度下进行直播内容的编辑。
1. 查看底部工具栏的控件标签,单击工作室模式。
2. 单击转场动画即可将预览窗的直播画面过渡到输出窗口。
步骤四:直播推流
1. 查看底部工具栏的控件。
2. 单击开始直播,即可将视频流推送到设置的推流地址。
说明
底部出现
绿灯,表示推流成功。若需停止推流,单击停止推流即可。
其他推流相关配置
影响直播延迟相关设置
1. 通过控件 > 设置 > 输出。
2. 选择输出模式为
高级
,即可对关键帧间隔等进行配置,关键帧间隔(GOP)过大会影响快直播体验,大小建议设置 2s。设置方法如下图:
关于快直播去除 B 帧设置
快直播 Web 方案不支持 B 帧解码播放,所以如果原始流存在 B 帧,则后台会自动进行转码去掉 B 帧,但这样会引入额外的转码延迟,并且会产生转码费用。建议尽量不推包含 B 帧的流,用户可以通过调整推流端软件(如 OBS)的视频编码参数来去除 B 帧。如果使用 OBS 推流,可以通过设置,关闭 B 帧。如下图:
本地直播录制相关设置
若您有直播时进行本地录制的需求,可以选择直播时在本地进行录制备份,设置方法如下:
1. 单击控件 > 设置 > 输出进入输出设置页签。
2. 在录像设置栏中进行对应的配置,单击确定即可将录制文件进行本地保存。
3. 单击视频设置视频分辨率与帧率信息,如下图所示:
说明
分辨率决定了观众看到的画面清晰程度,分辨率越高画面越清晰。FPS 是视频帧率,它控制观看视频的流畅,普通视频帧率有24帧 - 30帧,低于16帧画面看起来有卡顿感,而游戏对帧率要求比较高,一般小于30帧游戏会显得不连贯。
推流转码相关设置
若您在推流过程中需要修改视频的码率,具体操作如下:
1. 通过底部的控件 > 设置进入设置界面。
2. 单击输出页签,选择输出模式为“简单”。
3. 填写视频比特率,单击确定即可。
Enhanced RTMP 推流
目前 OBS:OBS 29.1及以上版本支持 Enhanced RTMP(增强型 RTMP)格式推流,具体操作步骤如下:
1. 通过控件 > 设置 > 输出。
2. 输出模式设置为
高级
后,您即可在视频编码器中选择“AOM AV1”或“HEVC”。设置方法如下图:
3. 在直播中输入推流地址,跟 OBS 推普通流一样流程。
更多操作说明
纯音频推流
根据 OBS 官方论坛的解答,当前 OBS Studio 23.2.1 以及之前版本不支持纯音频推流。
为实现近似音频推流,您可以参考下面的步骤进行设置。此方法的主要思路是采用静态画布(黑屏或者图片)替代视频。如果您需要降低带宽,可以降低视频的帧率和码率,以此来逼近纯音频推流,但直播流中仍会有视频数据。
1. 参照 推流引导设置,添加音频输入采集输入源作为输入源,不能添加视频输入源或者添加图片作为视频输入源。
2. 进入控件 > 设置 > 视频页面。
3. 将输出(缩放)分辨率选到最小,同时将常用 FPS 值(帧率)选到最小,单击确定保存配置。
4. 单击输出进入输入设置页面,按下图配置,此处需将比特率设置到最低。单击确定保存配置。
5. 参照 OBS 在线推流 中的步骤实现直播推流,这样能听到音频,视频的内容是黑屏或者一张图片。于此同时,视频的码率最低,占用的带宽显著降低。
视频轮播
1. 在底部工具栏的来源标签中,单击 + 添加媒体源,在弹出框中的本地文件选择要轮播的视频文件,勾选循环,然后单击确定即可。
2. 按照 OBS 在线推流 步骤,设置推流页面中的服务器和推流码项,开始推流即可实现单个文件轮播。
拉流
推流完成后,您可生成与推流地址相同的 StreamName 的播放地址,通过以下方式拉流播放来验证流是否推成功:
PC 端:支持使用 VLC 播放器 进行拉流。
移动端:支持通过集成 腾讯云视立方·直播 SDK 来实现播放。
说明
腾讯云视立方·直播 SDK 是云直播服务(CSS)在移动场景的延伸。相比于主要面向云对接的直播(CSS) 服务,直播 SDK 既提供了基于 RTMP SDK 的“快速集成方案”,也提供了集标准直播(LVB)、快直播(LEB)、云点播(VOD)、即时通信(IM) 和对象存储(COS) 等多云端服务的“一体化解决方案”。
其中, 快直播 (Live Event Broadcasting,LEB)(超低延时直播)是标准直播在超低延时播放场景下的延伸,比传统直播协议延时更低,为观众提供毫秒级的直播观看体验。 能够满足一些对延迟性能要求更高的特定场景需求,例如在线教育、体育赛事直播、在线答题等。