OBS RTMP 推流实战教程:从第一次开播到稳定录制的完整新手配置
【免费下载链接】obs-studioOBS Studio - Free and open source software for live streaming and screen recording项目地址: https://gitcode.com/GitHub_Trending/ob/obs-studio
OBS Studio 最常用的两个能力就是 RTMP 推流和本地录制。推流键填错就连不上,录制格式选错,文件可能整个损坏。这篇文章按真实上线路径走一遍:先把流推起来,再把录制格式选对,最后看看常见的翻车点怎么解。
第一次推流为什么连不上
大多数的首次开播失败不是网络问题,而是「服务 + 推流密钥」这一对填错了。打开设置的「推流」页,OBS 已经内置了主流直播平台,登录账号即可自动带出密钥,对应实现在 frontend/settings/OBSBasicSettings_Stream.cpp;其他平台选自定义服务,手动填推流地址和密钥。三个最容易漏的点:推流地址一般以/app之类的路径结尾,别漏斜杠;密钥区分大小写;部分平台现在支持更轻量的 WHIP 方式,效果上就是 RTMP 的替代,有就直接选。
三步配好第一次 OBS RTMP 推流
连上流只需要回答三个问题:发到哪里、什么质量、缓冲多少。
- 选服务、贴密钥:内置平台直接登录,或选自定义后手动填 URL 和密钥;
- 码率跟着上传带宽走:先测一次上行带宽,推流码率取它的一半比较稳,平台有推荐值就按推荐值来;
- 别急着点「开始推流」:让预览窗口稳定跑十几秒,状态栏没有红色掉帧警告再开播。✅
这段推流的数据流程都在 plugins/obs-outputs/ 插件里完成:编码好的音视频被封装成 FLV 包,经 TCP 发往服务器,断线后会自动重试重连。
OBS 录制格式怎么选
结论先给:直播和日常录制用 MKV,最终交付才用 MP4,FLV 基本不用考虑本地录制。
MKV 什么时候用
MKV 按数据段写入,录制中途崩溃或断电,已录的内容依然完整——相当于给整场录制系了一张安全网 🛡️。这是它作为默认推荐格式的原因。
MP4 什么时候用
MP4 的文件索引写在文件末尾,中途崩溃就可能整个打不开,但兼容性最好,播放器、剪辑软件通吃。所以它适合「确定能录完」的场景,或者作为 MKV 录完之后的交付格式。想弄清 MP4 文件是怎么一块块拼起来的,可以看 plugins/obs-outputs/mp4-mux.c 里 OBS 自研的 MP4 封装实现。
FLV 什么时候用
FLV 在这里的定位是推流封装格式,本地录制选它意义不大,除非你的下游流程明确只认 FLV。
推流和录制同时进行怎么办
两条链路可以同时跑,瓶颈在 CPU 和磁盘而不是「能不能」——OBS 的输出系统把每个输出任务独立管理,libobs/obs-output.c 就是负责给各输出分发数据的中枢,推流和录制互不抢数据。真正要防的是负载叠加:
- 推流给硬件编码器(NVENC、AMF 这类),录制用 x264 选
ultrafast预设,别两条都用 CPU 硬扛; - 录制盘优先放 SSD,长录制盯一眼剩余空间;
- 多轨道录制别一上来就开,它把场景分开成多条轨写盘,磁盘压力翻倍。
OBS 推流中断的三个最常见翻车点
- 流突然断了:先看状态栏提示和日志。网络抖动导致的,先降码率别动分辨率;密钥过期或换过的,更新密钥重连——自动重连救得了网络,救不了密钥错误。
- 音画不同步:多半出在某个源的时间戳上,去来源属性里查「音频同步偏移」,并确认音频设备没被别的程序独占。
- 录制文件打不开:典型原因就是用了 MP4 却录到中途崩了,或者磁盘写满。改成 MKV 录,结束后用内置的「Remux」一键转 MP4,不重新编码、无损且很快。
下一步:先改成 MKV 再试一次
下次开播前只做两件事:把录制格式改成 MKV,保存路径指到 SSD;播完点一下 Remux 转成 MP4 备份。如果还翻车,去「帮助 → 日志文件 → 打开日志文件夹」,日志里写着卡在哪一步,从那里入手比到处猜快得多。
【免费下载链接】obs-studioOBS Studio - Free and open source software for live streaming and screen recording项目地址: https://gitcode.com/GitHub_Trending/ob/obs-studio
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考