OBS 推流

最近更新时间:2024-10-10 11:32:42

我的收藏

方案背景

Open Broadcaster Software(简称 OBS)是一款好用的第三方开源程序直播流媒体内容制作软件,为用户提供免费使用,它可支持 OS X、Windows、Linux 操作系统,适用多种直播场景,满足大部分直播行为的操作需求,您可以到 OBS 官网下载 最新版本软件。

准备工作

安装 OBS 工具。
开通云直播服务,并准备已备案的域名,添加为推流域名(系统提供默认的推流域名可以使用,也可以添加自定义域名推流)
说明:
9.9元可享100GB直播流量包,入门级小额体验包,低成本快速体验音视频直播服务,更多规格资源包 立即前往选购

获取推流地址

1. 登录云直播控制台,进入常用工具 > 地址生成器
2. 进入地址生成器页面,进行如下配置:
2.1 选择地址类型:推流地址
2.2 选择您在域名管理中已添加的推流域名。
2.3 AppName 为区分同一个域名下多个 App 的地址路径,填写 AppName,默认为 live
2.4 填写自定义的流名称 StreamName,例如:liveteststream
2.5 您需要选择一种加密类型,请根据您的安全需求和性能考虑进行权衡。加密类型可以选择 MD5SHA256 ,默认 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)(超低延时直播)是标准直播在超低延时播放场景下的延伸,比传统直播协议延时更低,为观众提供毫秒级的直播观看体验。 能够满足一些对延迟性能要求更高的特定场景需求,例如在线教育、体育赛事直播、在线答题等。