OBS Studio 直播录制:从安装到第一次成功的 5 步做法
【免费下载链接】obs-studioOBS Studio - Free and open source software for live streaming and screen recording项目地址: https://gitcode.com/GitHub_Trending/ob/obs-studio
OBS Studio 是一款免费开源的直播与录屏软件:采集屏幕、摄像头和音频,把它们合成一路画面,再编码成录制文件或推流到直播平台。适合想开播、录教程、录会议,又不想为商业软件付费的人。本文带你从安装走到跑通,并说清参数怎么调、出错怎么查。
🎬 先跑通:最短路径录下第一段画面
本节解决"装好后到底算不算成功"的问题:只走最短路径,先录下 10 秒自己的屏幕,再谈别的。
下载并安装 OBS Studio
- 从官网 obsproject.com 下载对应操作系统的安装包(Windows 为 exe/MSI,macOS 为 dmg,Linux 走发行版软件源),双击安装,全部保持默认。
- 启动后,若弹出"自动配置向导",选择"录制模式",一路下一步。它会自动读取你的显示器分辨率并填好基础设置。此时设置向导页面应显示"设置已完成"。
- 在主界面左侧"来源"面板,右键 → 添加 → 选择"显示器采集"(macOS 需要先在系统设置里给 OBS 授予屏幕录制权限)。
- 此时右侧预览窗口应出现你的整个桌面画面——这是第一次成功的标志。
- 点右上角"开始录制",等 5 秒,点"停止录制"。弹窗会让你选保存路径,确认后会生成一个
.mkv文件(在设置里可改成.mp4)。用播放器打开它,能看到刚才的桌面画面和声音,即全流程跑通。
如果第 4 步预览是黑屏:Windows 下检查"来源"里显示器采集是否指向了正确显示器;macOS 下基本是屏幕录制权限没给,授权后重启 OBS 即可。
🗺️ 能力地图:按使用场景找功能
本节解决"我的用途对应哪个功能"的问题。OBS 不按菜单找功能,按场景找才高效。先看对照表:
| 使用场景 | 对应功能/设置 | 所在位置 |
|---|---|---|
| 游戏直播 | 游戏捕获 + 硬件编码(NVENC/AMF) | 来源 → 添加 → 游戏捕获;设置 → 输出 |
| 录屏做教程 | 显示器采集 + 高质量录制编码器 | 来源 → 添加 → 显示器采集 |
| 摄像头出镜 | 视频采集设备(摄像头) | 来源 → 添加 → 视频采集设备 |
| 多场景切换 | 场景面板 + 转场效果 | 场景面板、设置 → 转场 |
| 把 OBS 当摄像头用 | 虚拟摄像头,让 Zoom/会议软件看到 OBS 画面 | 工具菜单 → 虚拟摄像头 |
| 自动录制/定时开关 | 内置 Python/Lua 脚本 | 工具 → 脚本 |
游戏直播场景:捕获画面加转场
游戏直播的核心是"游戏捕获"来源而不是"显示器捕获":游戏捕获只抓游戏窗口,CPU/GPU 开销更小,还能在游戏最小化时继续推送。建好两个来源——游戏捕获(画面)+ 视频采集设备(你自己),把摄像头拖到预览窗口右下角并缩到 1/4 大小即可。
场景之间切换时不要干跳,给场景配转场:OBS 自带 34 种亮度擦除遮罩(luma wipe),存放于plugins/obs-transitions/data/luma_wipes/。例如 clock 遮罩是"时钟扫过"式露出:
watercolor 遮罩是水彩晕染感,适合课程、访谈这类柔和风格:
在"设置 → 转场"里选择转场类型和时长(默认 300ms),切换场景时画面就按遮罩渐变过去。
录屏做教程场景:显示器采集加高质量录制
录制和直播走两条独立的输出通道:直播受平台带宽限制,码率通常压在几 M 以内;录制文件则追求画质,可以放开码率。在"设置 → 输出"里把输出模式设为"简单","录制格式"选mkv(录制中途崩溃时 mkv 能救回已录部分),录制完成后用"文件 → 重封装"一键转成 mp4,不重新编码、秒级完成。
⚙️ 关键参数一次说清
本节解决"默认值哪些该动、哪些别碰"的问题。三张表覆盖视频、音频、输出三块。
视频与音频基准值
| 参数 | 推荐值 | 依据 | 适用条件 |
|---|---|---|---|
| 基础(画布)分辨率 | 1920×1080 | 与主流显示器一致,来源摆放坐标以它为基准 | 所有场景;4K 显示器建议仍设 1080p 画布再放大输出 |
| 输出(缩放)分辨率 | 与画布一致,直播可降为 1280×720 | 直播端平台限流,720p 更稳 | 显卡较弱或网络上行不足时 |
| 帧率 | 30 或 60 | 直播/录屏 30 够用,游戏直播 60 | 游戏直播选 60;纯屏幕演示选 30 |
| 音频采样率 | 48 kHz | OBS 默认值(源码OBSBasicSettings.cpp中默认写入 48000) | 全部场景;与直播平台的 AAC 音频标准对齐 |
| 声道格式 | 立体声 | 默认值;单声道仅录音棚场景 | 默认不动 |
输出与编码参数
| 参数 | 推荐值 | 依据 | 适用条件 |
|---|---|---|---|
| 直播编码器 | NVENC / AMF / QuickSync(按你的显卡选) | 硬件编码占用 CPU 极低,x264 软件编码吃满 CPU | 有独显就选对应硬编;老机器才用 x264 |
| 直播视频码率 | 平台推荐值的 90% 左右,常见 3000–6000 kbps | 超过平台上行能力只会触发丢包 | 跑一次自动配置向导(设置 → 自动配置向导 → 流模式 → 运行测试)拿实测值 |
| 录制编码器 | x264(高质量) | 录制不吃网络,CPU 换画质 | 长会议录制可改硬编省电 |
什么时候该改默认值:
- 预览窗口出现丢帧计数(主界面左下角状态栏会显示 dropped frames)时,先降输出分辨率到 720p,而不是先动码率。
- 直播平台提示码率超限时,改码率而不是改分辨率——分辨率降了画面布局全乱,码率降了只是清晰度略降。
- 麦克风声音和系统声音都正常、但录出来偏小时,在"设置 → 音频 → 高级"里启用增益,或在来源属性里加"压缩器"滤镜,别直接开大系统音量。
🛠️ 出问题时按这张表查
本节解决"画面/声音不对劲时先查哪"的问题。按现象对号入座:
| 现象 | 最可能原因 | 处理动作 |
|---|---|---|
| 直播卡顿、观众端丢帧 | 码率超过上行带宽 | 跑自动配置向导测速;改有线网络;降码率 |
| 预览就卡、本地丢帧 | x264 软件编码 + 滤镜过多 | 换硬件编码器;移除用不到的滤镜和来源 |
| 录出来没声音 | 默认音频设备选错或来源被静音 | 设置 → 音频里核对桌面音频/麦克风设备;检查混音器里该来源的静音按钮 |
| 录制文件几个 G | 录制码率按直播值或全默认跑高 | 设置 → 输出 → 录制里单独调录制码率(与直播码率是两个字段) |
| 虚拟摄像头里看不到 OBS 画面 | 目标软件没选对设备或设备未启动 | 工具菜单启动虚拟摄像头后,重启目标软件再选设备 |
| 麦克风有电流声/底噪 | 声卡增益过大或环境噪声 | 在麦克风来源加"降噪"滤镜;降低系统输入音量再在 OBS 里补增益 |
卡顿问题按这张判断图走
直播卡顿 ├─ 本地预览也卡(左下角丢帧计数在涨)? │ ├─ 是 → 本机性能问题 │ │ 1) 编码器换硬件编码 2) 关掉多余来源/滤镜 3) 降输出分辨率 │ └─ 否 → 本机没问题,往网络查 │ 1) 换有线 2) 跑向导实测带宽 3) 码率降到实测 90% └─ 只有个别观众卡? └─ 对方网络问题,不是你的设置虚拟摄像头无画面怎么诊断
当你把 OBS 画面投给会议软件,目标软件里出现下面这张"相机被划掉"的占位图时,说明虚拟摄像头设备没接上:
按顺序排查:1)确认工具菜单里的虚拟摄像头已启动;2)确认目标软件里选的设备名是 OBS 虚拟摄像头而不是你的物理摄像头;3)重启目标软件——多数软件在启动后才枚举摄像头列表,热插拔不生效;4)Windows 下若完全看不到该设备,检查是否在系统"隐私 → 相机"里允许了桌面应用访问相机。
⚡ 效率升级:配置复用与自动化
本节解决"同一台机器多种用途、重复手动操作"的问题。
用配置和场景集合分开管理
"设置 → 配置文件"用来存一整套参数(输出码率、音频设备、分辨率):"设置 → 场景集合"用来存一组场景和来源布局。给"游戏直播"和"会议录制"各建一个配置文件,顶部的下拉框一键切换,参数互不污染。场景集合同理:会议场景的布局不会影响直播场景。改完配置后,用顶栏菜单把当前配置导出成文件,换机器或重装时导入即可,不用重填。
用 15 行 Python 脚本实现自动录制
OBS 内置 Python/Lua 脚本支持(21.0 起),入口在"工具 → 脚本",脚本可以边运行边增删。下面这个脚本的效果是:加载后立即开始录制,5 分钟后自动停止——适合"打开 OBS 就去开会,回来收录像"这类固定流程。把脚本保存为auto_record.py,在脚本对话框里点"添加"选它即可,加载后无需再操作。
# auto_record.py:加载即开始录制,5 分钟后自动停止 import obspython as obs def script_load(settings): # 脚本加载时执行一次:这里启动录制 obs.log_message("自动录制脚本已加载,开始录制") obs.obs_frontend_start_record() # 注册一次性定时器:300000 毫秒(5 分钟)后触发 obs.timer_add(stop_record, 300000) def stop_record(): # 定时器回调:停止录制,并在日志里留一条记录 obs.obs_frontend_stop_record() obs.log_message("5 分钟已到,已自动停止录制")注意:脚本能调用完整 API,写错可能崩溃或泄漏内存;用完后在脚本窗口里"卸载"它,并用"帮助 → 日志"确认日志文件末尾的内存计数器没有持续增长。更多脚本函数(定时器、回调、设置项)见仓库文档 docs/sphinx/scripting.rst。
📅 下一步:7 天练熟计划
本节解决"跑通之后怎么稳步用熟"的问题。每天 10–15 分钟,完成一项就勾一项。
- 第 1 天:用自动配置向导完成一次"流模式"测试,记录实测推荐码率
- 第 2 天:建第二个场景,加一个文字来源,配好转场并切换练习
- 第 3 天:给麦克风加降噪和压缩器两个滤镜,对比处理前后的录音
- 第 4 天:建"直播"和"录制"两个配置文件,各存一套参数并互相切换
- 第 5 天:启动虚拟摄像头,在会议软件里看到 OBS 画面
- 第 6 天:把上面的
auto_record.py跑通一次,用日志确认自动停止 - 第 7 天:完整录制一段 10 分钟内容,重封装为 mp4 并复盘参数
练到第 7 天的验收标准:产出一个能正常播放、音画同步的 mp4 文件,且"开始录制"到"停止"全程不超过 5 次点击。
延伸阅读:核心对象(场景、来源、编码器)的数据结构说明在 docs/sphinx/reference-core.rst;转场遮罩素材与转场插件源码在 plugins/obs-transitions/,需要源码级理解可从这里入手。
【免费下载链接】obs-studioOBS Studio - Free and open source software for live streaming and screen recording项目地址: https://gitcode.com/GitHub_Trending/ob/obs-studio
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考