OBS Studio 直播推流完全指南:免费录屏与场景合成的终极方案
OBS Studio 直播推流完全指南:免费录屏与场景合成的终极方案
OBS Studio 直播推流与屏幕录制完全免费开源,核心能力是把摄像头、游戏画面、窗口、音频实时合成为一路可推流、可录制的专业画面。这篇指南只解决三件事:怎么装、怎么配、卡顿了怎么办。
为什么选它
收费直播软件绑定单一平台、功能阉割;很多开源工具只有录制没有推流,或只有推流没有多源合成。OBS Studio 两件事都做成了一等公民,GPLv2 协议、Windows / macOS / Linux 全平台支持。
它采用前后端分离的模块化架构,这也是插件生态能长这么丰富的原因:
- libobs:核心库,负责捕获、合成、编码,与界面无关,可被其他程序直接调用
- frontend/:Qt 前端,提供场景、源、属性面板等全部交互界面
- plugins/:每个捕获源、编码器、输出方式都是独立插件,可单独编译
- shared/obs-scripting/:Lua / Python 脚本接口,可自动化一切界面上能做的操作
5分钟跑起来 🚀
Windows:官网下载安装包 → 运行向导,首次启动跟随自动配置向导选"优化用于直播"即可。
macOS:下载 DMG → 拖入 Applications。首次运行需在"系统设置 → 隐私"里授予屏幕录制权限,否则捕获源是黑的。
Linux:
sudo apt install obs-studio # Debian/Ubuntu
sudo dnf install obs-studio # Fedora
sudo pacman -S obs-studio # Arch
源码编译(依赖较多,建议先看 INSTALL):
git clone https://gitcode.com/GitHub_Trending/ob/obs-studio && cd obs-studio
mkdir build && cd build
cmake .. && make -j$(nproc) && sudo make install
能力拆解:OBS Studio 画面合成、混音与推流编码
画面合成 场景 = 一张图层画布。典型用法:把游戏画面放底层,摄像头、Logo、文字提示叠在上面,热键一键切到"离开提示"场景。关键配置:场景间加一个默认淡入淡出过渡,观感立刻专业一档;仓库内置了整套 luma 擦除纹理,可做自定义过渡:
音频处理 多路音频(桌面、麦克风、外接)统一在"高级音频属性"里管:每路可独立设置音量、监听模式、同步偏移。关键配置:麦克风加噪声抑制 + 压缩器是性价比最高的组合;录制选多轨音频,后期能单独救某一路。
编码器怎么选
| 编码器 | 谁适合用 | 特点 |
|---|---|---|
| x264 | 所有人 | CPU 编码,兼容性最好,占用高 |
| NVENC | NVIDIA 显卡 | 硬件加速,CPU 占用低 |
| AMF | AMD 显卡 | 硬件加速,老驱动稳定性一般 |
| QSV | Intel 核显 | 低功耗,适合办公本 |
推流与录制 推流走 RTMP,设置向导能直接填 Twitch / YouTube 等服务地址;自定义服务只需 URL + 密钥。录制建议输出 MKV——进程崩溃不丢文件,录完用"工具 → 重封装"转 MP4,零损失。
真实场景配置
游戏直播
前置:已装好显卡驱动,麦克风可用。
- 自动配置向导选"优化用于直播",上传带宽填测速结果
- 添加"游戏捕获"源(不要选显示器捕获,CPU 占用低一半)
- 音频源加"桌面音频"(游戏声)+ "麦克风音频"(人声)
- 编码器选 NVENC/AMF,码率按平台建议(如 6000 kbps)
- 工具栏点"开始推流"
坑:多显卡笔记本上游戏捕获黑屏,把游戏固定到独显,或在捕获源里开多适配器兼容。
在线录课
前置:课件(PPT / 浏览器)单独一个窗口。
- 场景一:窗口捕获课件 + 摄像头画中画;场景二:全屏摄像头
- 输出模式选"录像",格式 MKV,编码器 x264(录课吃 CPU 没关系)
- 多轨音频开启,桌面声与麦克风分轨,后期可单独调
- 热键绑定场景切换,讲课时一键在"课件 / 摄像头"间跳
坑:课件窗口别最小化或切后台,捕获会丢帧;投影模式下用"捕获特定窗口"而非整屏。
踩坑与调优:OBS Studio 直播推流卡顿的 3 个解法 🔧
1. 掉帧、画面卡顿 原因:编码性能或上传带宽不够。
- 切硬件编码器(NVENC/AMF/QSV),释放 CPU
- 降分辨率到 720p 或帧率到 30,先保流畅再谈画质
- 看"统计信息"窗口:CPU 编码占用 > 80% 是编码瓶颈,"发送量"持续顶上传上限是带宽瓶颈
2. 直播中途中断,录了一晚上文件却是废的 原因:MP4 依赖文件尾部的索引,崩溃即损坏。
- 输出改 MKV
- 下播后"工具 → 重封装"批量转 MP4
3. 捕获源黑屏 原因:权限或保护窗口。
- Windows 以管理员运行 OBS(DPC 保护的游戏/视频窗口需要)
- macOS 检查隐私设置里"屏幕录制"是否勾了 OBS
- 更新显卡驱动
4. 音画不同步 原因:各路设备时钟偏差。
- "高级音频属性"里用监听实时对比
- 对偏移的那一路设同步偏移(±几十毫秒内微调)
硬件参考:
| 组件 | 最低 | 推荐 |
|---|---|---|
| CPU | 4 核 | 6 核以上 |
| 内存 | 8 GB | 16 GB |
| 显卡 | 核显 | 独立显卡(N/卡均可) |
| 上传带宽 | 5 Mbps | 10 Mbps 以上 |
生态与下一步
官方文档入口:docs/sphinx/index.rst(用户文档)与 docs/sphinx/backend-design.rst(libobs 后端设计),插件开发看 docs/sphinx/plugins.rst。
值得装的第三方插件:obs-websocket(外部程序远程控制 OBS,做弹幕互动、自动切换场景的标配)、obs-ndi(局域网内其他机器当摄像头/输入源)、StreamFX(高级特效与过渡)、Move Transition(画面元素跟随移动)。
脚本最小示例(Lua,监听场景切换事件):
obs_frontend_add_event_callback(function(event)
if event == obs.OBS_FRONTEND_EVENT_SCENE_CHANGED then
print("scene changed")
end
end)
如果你只有 10 分钟,先做这 3 件事:
- 跑完自动配置向导(选直播或录像,二选一,之后随时可改)
- 建一个场景,加一个捕获源,先录 1 分钟 MKV 验证链路
- 把编码器换成你显卡对应的硬件编码器,再看一眼"统计信息"确认 CPU 占用正常
火山引擎视频云技术社区,是面向 AI 音视频开发者的技术交流平台。这里汇聚源自抖音、豆包等亿级 DAU 产品的 RTC、直播、点播、AI 媒体处理、音视频互动技术,提供接入指南、最佳实践、性能调优、场景案例、Demo 代码、开源项目、白皮书和 API 文档。社区汇聚官方工程师与一线开发者,为 AI 视频通话、数字人、AI 视频处理等应用的开发与落地提供技术支持。
更多推荐


所有评论(0)