OBS Studio 免费录屏与直播完整指南:从安装到一场不丢帧的推流
【免费下载链接】obs-studioOBS Studio - Free and open source software for live streaming and screen recording项目地址: https://gitcode.com/GitHub_Trending/ob/obs-studio
OBS Studio 是一款免费开源的直播与录屏软件,Windows、macOS、Linux 三端通用。它把"录一段干净的屏幕视频"和"把画面实时推给直播平台"这两件事放进同一个界面里完成,不需要付费订阅。本文按一条完整工作流推进:装好软件、搭出第一个场景、录出第一段 MP4,再扩成带转场和干净人声的直播,最后教你用两个计数器定位丢帧问题,每个步骤都给出可直接照抄的数值。
装好软件后,先用设置向导解决一半的问题
- 安装:Windows 装官方安装包,macOS 拖入应用程序文件夹,Linux 用发行版包管理器(
sudo apt install obs-studio或对应命令)。 - 首次启动会弹出设置向导。"使用模式"先选仅用于录制;如果你打算直接开播,选仅用于直播/推流。
- 点自动配置。它会跑一次编码压力测试,然后替你选好分辨率、帧率和编码器,你只需确认。想手动定:输出分辨率 1920×1080、帧率 60 fps 是比较稳的组合。
- 向导会问推流服务商和地址,纯录制的这一步可以跳过,留待后面直播时再填。
向导背后的自动推荐逻辑在 frontend/wizards/ 目录的 AutoConfig 系列文件里,想知道它替你做了什么可以翻源码。
搭第一个场景:让录进去的只有你想录的
主界面下方有三个关键面板:场景、来源、预览。
- 在场景面板点"+",建一个场景,命名如"游戏"。
- 在来源面板点"+",按目的选来源类型:
- 窗口捕获:只录某个窗口,桌面通知、聊天弹窗都不入镜;
- 游戏捕获:直接挂游戏进程,适合全屏游戏;
- 显示捕获:录整块屏幕,注意桌面上所有东西都会被录进去。
- 预览窗口出画面即成功。若摄像头/采集卡位置显示一块纯色占位图,说明没选中设备或设备没插好,双击来源重新选设备。
然后改两处全局设置(设置 → 视频):
| 项目 | 建议值 | 为什么 |
|---|---|---|
| 基础(画布)分辨率 | 1920×1080 | 与显示器一致,避免放大模糊 |
| 输出(缩放)分辨率 | 1920×1080;目标平台吃紧时 1280×720 | 缩放会先降分辨率再推流,720p 带宽压力约为 1080p 的 44% |
| 常用帧率 | 游戏/操作演示 60,讲解类 30 | 帧率越高越吃编码算力,先确认你的编码器撑得住再上 60 |
| 色彩格式/空间/范围 | NV12 / 709 / 部分 | 默认值兼容性最好,别动 |
录出第一段 MP4:优先用恒定质量模式
设置 → 输出(输出模式选"高级"),切到录制标签页:
- 格式:MP4。MP4 断电不毁整个文件的风险比 FLV 低,但录制中途崩溃仍可能丢尾部几秒,重要内容录完立刻确认文件能播放。
- 编码器:有 NVIDIA/AMD/Intel 硬件编码就选它,没有就选 x264。
- 速率控制:选恒定质量(CQ)。CQ 是"编码器自己决定花多少码率"的模式,数值越小画质越高、文件越大,18~22 是常用区间,20 是画质与体积的均衡点。固定码率录制(如写死 6000 kbps)简单画面会白白浪费体积,复杂画面又可能不够。
录完点文件 → 显示录像直接打开录像文件夹。基准:CQ 20 下 10 分钟 1080p 约 300~600 MB,画面越静态越小。
从录制成片扩到直播:转场、推流地址与快捷键
场景切换:场景面板再建第二个场景(比如"片尾"),放图片和文本来源。上方过渡面板控制切换动画:
- 内置 7 种:切出、淡入淡出、滑动、擦除、Luma 擦除、Stinger(插入动画)、淡入纯色;
- 时长填300 ms,观众感知为"平滑不拖";填 0 等于硬切,适合快切风格。
Luma 擦除靠一张 PNG 图案做遮罩,38 张内置图案放在plugins/obs-transitions/data/luma_wipes/下,实现见 plugins/obs-transitions/。把 PNG 图案换成自己的 logo 形状,就能做出品牌转场。
接推流地址:设置 → 流,服务商选 RTMP,填入平台给你的地址和密钥。
码率按平台要求填(设置 → 输出 → 直播,速率控制选 CBR):
| 分辨率/帧率 | 码率 | 说明 |
|---|---|---|
| 1080p / 60 | 6000 kbps | 多数平台 1080p60 的上限附近 |
| 720p / 60 | 4500 kbps | 上行带宽 10 Mbps 以下的稳妥档 |
| 720p / 30 | 3000 kbps | 弱网保底档,先保证不断流 |
超过平台上限会被限速或断流,开播前先查你所在服务商的要求。
绑定快捷键:工具 → 快捷键管理器,找到"场景切换",给场景 1、场景 2 分别设 Ctrl+1、Ctrl+2。直播中直接按数字键切换,不用切窗口找鼠标。
把麦克风调干净:三个滤镜按顺序加
桌面音频和麦克风设备在设置 → 音频里指对,采样率全部保持48 kHz(混音时所有源采样率必须一致,不一致会引发音画错位或爆音)。
混音器里右键麦克风 →滤镜,按下面顺序添加(顺序不能乱:先去噪、再压动态、最后封顶):
- 噪声抑制:模式选 RNNoise(基于神经网络的降噪,效果好,单核占用约 2%);CPU 吃紧就选 Speex,占用更低。
- 压缩器:保持默认参数,阈值 -20 dB、比率 3:1。它把超过 -20 dB 的声音按 3:1 压回去,小声被相对抬起来,说话音量就稳了。
- 限幅器:阈值 -3 dB,最后一道闸门,保证任何情况下不越过 -3 dB 爆顶。
判断标准:正常说话时混音器电平表峰值落在-10 dB ~ -6 dB。持续贴 0 dB 说明麦克风增益太大,回设备属性把增益往下拧。这三个滤镜的实现在 plugins/obs-filters/,参数想深挖可以直接读源码。
出问题时先看统计窗口里的两个计数器
工具 → 统计,盯编码丢帧和网络丢帧这两个数字。它们把"画面卡"这一个症状拆成了两个完全不同的故障域,先读数再动手。
| 症状 | 先查什么 | 读数指向 | 修复动作 |
|---|---|---|---|
| 编码丢帧持续上涨 | 任务管理器看 CPU/GPU 占用 | 编码端算力不够 | 软件编码 x264 换硬件编码;仍不行就 1080p→720p、60→30 |
| 网络丢帧持续上涨 | 统计窗口底部实时上传速率 | 上行带宽贴着上限跑 | 换有线连接;码率降一档(6000→4500→3000 kbps) |
| 声音对不上画面 | 混音器是否所有源都 48 kHz | 采样率不一致或设备延迟 | 统一到 48 kHz;音频源属性里用"同步偏移"按 ±10 ms 微调 |
| 录像文件过大 | 输出设置里速率控制模式 | 用了固定码率且数值偏高 | 改恒定质量 CQ 20,或固定码率减半试画质 |
编码器选型速查:
| 编码器 | 由谁干活 | 什么时候选 | 什么时候别选 |
|---|---|---|---|
| x264 | CPU | 纯录制、没有独显 | 边打游戏边直播,CPU 会先顶满 |
| NVENC H.264 | NVIDIA 独显 | 游戏直播主力 | 无 NVIDIA 显卡 |
| AMD HW H.264 | AMD 独显 | 同上 | 无 AMD 显卡 |
| QuickSync H.264 | Intel 核显 | 办公机直播,CPU 负担小 | 高码率下细粒度画面略逊硬件独显 |
直播封装与推流逻辑在 plugins/obs-outputs/,RTMP 会话断线重连行为想确认时可读rtmp-stream.c。
交付前逐项核对这七项
- 输出分辨率与帧率 = 目标平台要求(1080p60 或 720p60),不是向导默认值
- 录制:恒定质量 CQ 20;直播:CBR 码率不超平台上限
- 所有音频源采样率 48 kHz,桌面/麦克风设备指向正确
- 麦克风滤镜链完整:噪声抑制 → 压缩器 → 限幅器,说话峰值 -10 ~ -6 dB
- 工具 → 统计空跑 1 分钟:编码丢帧、网络丢帧都不增长,CPU < 70%
- 场景切换过渡时长 300 ms(或 0),快捷键绑定后实际按过一遍
- 录完 1 分钟测试片并完整播放,确认音画同步、无爆音
进阶想改后端行为(音频缓冲、封装细节)时,架构文档在 docs/,从backend-design.rst入手即可。
【免费下载链接】obs-studioOBS Studio - Free and open source software for live streaming and screen recording项目地址: https://gitcode.com/GitHub_Trending/ob/obs-studio
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考