由于b站停止对粉丝50以下的up开放三方推流,教程仅作参考
关于OBS
Open Broadcaster Software (OBS)是一款免费开源的视频录制和直播应用,支持 Windows、Mac 和 Linux 平台。
点击蓝色链接可以进入OBS官网,你可以从官网或从微软应用商店下载OBS
直播教程(以B站直播为例
获取B站推流地址与身份码
- 首先在浏览器打开B站官网登录你的B站账号
- 点击B站首页左上角的直播进入b站直播页
- 点击B站直播页右侧的开播设置
- 鼠标滚轮往下滑动
- 为自己的直播间设置直播分类、直播标题和直播封面
- 设置好后点击开始直播
- 点击开播后,原开始直播的位置下方出现了服务器地址、身份码和串流密钥
设置OBS推流地址与身份码
- 打开OBS(初次启动OBS会有初始化设置,初始化的过程中大致配置与直接去设置配置一致
- 点击左上角工具栏中的文件,点击设置
- 左侧列表中选择直播
- 服务选择自定义
- 将上面从B站开播设置中的服务器地址复制到OBS的服务器文本框中
- 将上面从B站开播设置中的串流密钥复制到OBS的推流码文本框中
- 点击OBS设置页右下角的应用以保存设置
设置直播推流的视频参数
设置页左侧列表中选择
输出
编码器的选择
- 编码器有很多种,OBS支持软件编码(x264)以及硬件编码(如NVENC,Intel QSV,AMD HW开头的编码器选择)
- 软件编码出来的视频内容相比硬件编码通常在相同码率下具有更好的画质表现,但是使用软件编码具有非常大的CPU性能开销,因此建议有硬件编码器优先使用硬件编码器
- 硬件编码器通常由核显,独显集成,且编码器也与芯片一样存在架构迭代,比如英伟达显卡在RTX 40系后才支持AV1硬件编码,比较老的核显或独显可能只支持AVC(H.264)硬件编码
- 目前主流使用的的编码格式有H.264、H.265,在效率上H.265>H.264
- 而在不同厂商的编码器中,通常Intel的QSV和英伟达的NVENC的效率要比AMD的HW编码器要更高,但无论如何,硬件编码器在效率上碾压软件编码器
因此请优先使用硬件编码器,如果你想在有限的上传带宽下追求比较好的画质,且支持h.265的编码的话请选择h.265的编码器。
如果你希望你的直播有更高的兼容性,请选择h.264的硬件编码,尽管h.264编码器的效率不如h.265,但这是比h.265更早的用的比较广的编码格式,所以用户的设备对h.264的兼容性更好,尤其是老设备。
编码器设置
在选择你要使用的编码器后才会展示这个内容
速率控制
一般来说这个设置项中有CBR、VBR、CQP这几个选项
这里主要说VBR和CBR这两个选项
CBR(恒定比特率):
- 编码过程中,比特率始终保持不变,不论内容的复杂程度如何。
- 这意味着无论视频或音频帧是简单的还是复杂的,分配给每个帧的比特数是相同的。
- CBR的优势在于其编码过程简单,易于流媒体传输,因为服务器和接收端能够准确预测所需的带宽,有利于网络稳定传输,且兼容性良好,特别对于那些仅支持固定码率解码的旧式或专用设备。
- 缺点是由于内容复杂度的差异,简单场景可能会浪费带宽,而复杂场景则可能因码率不足而导致质量下降。
VBR(可变比特率):
- 根据内容的复杂度实时调整比特率,复杂场景给予更多的比特数,简单场景则分配较少的比特数。
- VBR的目标是优化整体的编码质量,确保在文件大小允许的情况下尽可能提高视觉和听觉体验。
- 优点是可以实现更好的压缩效率和总体质量一致性,特别是在文件大小受限时,能够更灵活地分配资源,使得重要细节得到更好的保留。
- 缺点是文件大小不可预知,不利于严格的流媒体传输环境,可能需要较大的缓冲区来防止网络波动带来的影响,并且不是所有设备和平台都完全支持VBR编码的媒体文件。
比特率(码率)
在设置速率控制后,不同的选项有着不一样的设置,这里分CBR和VBR来讲。例子为1080p&60fps
CBR
- 由于CBR码率是固定的,所以这里的比特率决定了你最复杂画面的表现,对于画面变动频繁(如游戏视角频繁晃动)你在这里设置的数值就要高一点,比如设置为10240kbps(10MBps)
- 对于AMD的硬件编码器这个数值需要稍微设置大一点
- 如果编码器设置的为h.265,这个数值可以小一点
- 如果你只是固定的画面,画面变动不大甚至不明显,那么你的码率可以设置的低一些,比如6Mbps。
VBR
由于VBR是根据画面内容动态改变的,所以你通常需要设置一个平均码率,这里的平均码率的数值可以比CBR设置的数值小一点。但直播时CBR是一个最适合的选择。
关键帧间隔
一般设置为0s(自动)就可以了
预设
这个设置一般默认(质量)足够,如果设置为速度,那么你需要调高码率才能解决更快编码带来的画面质量问题
AMF/FFmpeg选项
如果你知道这里可以填什么,能起什么作用,那么欢迎你来纠正本教程中的错误
重新缩放输出
通常这个设置项最大可设置的分辨率为你的屏幕分辨率,如果你想指定输出画面的分辨率的话可以更改此项(不推荐使用此设置项,你可以使用视频
页中的输出(缩放)分辨率
设置页左侧列表中选择视频
基础(画布)分辨率
你所输出的画面就像是画布一样,分辨率决定了你直播画面的清晰度和画面比例,通常这个设置也与你的显示器分辨率有关
输出(缩放)分辨率
这个设置项大致作用与重新缩放输出一致,决定了你真正直播的画面的分辨率和画面比例
缩小方法
这个设置项有关了基础分辨率转换成输出分辨率后画面的展现,不同算法输出的画面可能在细节上有不同,一般用默认的即可
常用帧率、整数帧率、分数帧率
这个和你玩游戏时的帧率是同一个概念,即每秒钟输出多少帧图像,但对于直播视频来说,没必要设置的与你打游戏的帧数一致,因为这将导致更高的性能负担和带宽负担,同时B站应该也不支持过高的帧数,目前B站视频帧数最高支持60帧
一般我推荐你设置为常用帧数中的30帧和60帧(如果你的直播内容是画面变化频繁的例如第一人称的游戏画面,60帧会给观众带来更好的观感体验,但60帧在B站上需要选择原画
画质才能启用)
音频的设置
一般推荐默认,如果你需要更高的音质,你可以将采样率适当的拉高
直播画面
OBS初次打开没有任何使用的情况下,在预览界面是没有内容输出的,你需要
- 创建一个场景,你可以将场景命名为你想起的名字,每个场景的画面就是你直播时的画面,所以你可以创建多个场景,并在这些场景中切换(使用热键或控制台)
- 新建一个来源,来源有很多种,比如显示器采集,文本,窗口采集(游戏采集类似,但可以设置为采集全屏应用或前台应用),你也可以为这些来源命名
然后点击推流就可开始向B站输出你的直播画面了
B站开启直播后在一段时间内没有推流的话,B站会自动停止你的直播
录制字面意思,录制当前场景的画面
最后编辑:krfox 更新时间:2024-10-21 22:11