news 2026/9/12 23:15:41

OBS Multi RTMP 多平台同时推流插件快速上手:如何一次向多个 RTMP 平台推流

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OBS Multi RTMP 多平台同时推流插件快速上手:如何一次向多个 RTMP 平台推流

OBS Multi RTMP 多平台同时推流插件快速上手:如何一次向多个 RTMP 平台推流

【免费下载链接】obs-multi-rtmpOBS複数サイト同時配信プラグイン项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp

两个 OBS 实例同时推 YouTube 和 B 站,CPU 直接吃满?OBS Multi RTMP 是免费的 OBS 插件,从单个 OBS 实例同时向多个 RTMP 平台推流,每个平台还能用独立的编码器预设。

🚀 快速上手:3 步完成安装

插件免费,源码拿过来把文件放对位置就行。

  1. 获取插件文件:
git clone https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp
  1. 把插件文件复制到 OBS 安装目录。标准安装放在C:\Program Files\obs-studio\下,保持插件目录结构不变;使用安装器的话直接安装,不要改安装路径。
  2. 重启 OBS Studio。插件以 Dock 停靠窗口的形式存在,主界面看不到时,去「视图」→「Docks」里勾选「多路推流」。

首次打开的界面很简单:上方是「新增目标」按钮,中间是「开始所有」和「停止所有」,下面是所有已配置推流目标的列表,第一次打开时列表为空。

🎯 核心工作流:第一次多平台同时推流的 5 个步骤

  1. 打开插件界面。OBS 菜单栏「视图」→「Docks」→ 勾选「多路推流」。预期看到:插件停靠窗口,内含「新增目标」「开始所有」「停止所有」按钮。
  2. 添加推流目标。点「新增目标」,弹出编辑对话框。填平台名称(如 YouTube、Bilibili),选协议,填 RTMP 服务器地址和推流密钥。预期看到:对话框提供 RTMP、SRT/RIST、WebRTC (WHIP) 三种协议可选,填完密钥即可保存。
  3. 创建视频编码器预设。在编码区选编码器(x264、NVENC、AMD 等),设分辨率、帧率、比特率、关键帧间隔。主平台建 1080p60 高质量预设,副平台单独建一个 720p 低码率预设。预期看到:每个预设都有唯一id,供推流目标引用。
  4. 创建音频编码器预设。选音频编码器;需要复杂路由时,用音频轨道映射把 OBS 的不同音频轨道送到不同推流目标。
  5. 开始推流。点「开始所有」全部启动,或点单个目标右侧的按钮只推一路;「停止所有」或单目标按钮结束。预期看到:各目标状态变为推流中,OBS 统计栏能看到每路码率。

🧩 功能拆解:各平台独立编码器预设怎么实现

源码在src/下,结构如下:

src/ ├── obs-multi-rtmp.cpp # 插件入口与主停靠窗口界面 ├── push-widget.cpp # 单个推流目标的控制组件 ├── edit-widget.cpp # 推流目标编辑对话框 ├── output-config.cpp # 配置结构体定义与保存/加载 ├── protocols.cpp # 协议表(RTMP / SRT / WHIP) ├── obs-properties-widget.cpp # 基于 OBS 属性系统的参数编辑 └── helpers.cpp # 工具函数

每目标独立编码器预设:主平台高清、副平台低码率

做什么:每个推流目标独立引用视频、音频编码器预设,还能按目标覆盖分辨率。这是插件的核心价值——主平台 1080p60,副平台 720p,一次编码配置多处复用。

怎么配:预设定义在src/output-config.h,目标按id引用:

struct VideoEncoderConfig { std::string id; std::string encoderId; // x264 / NVENC 等 int fpsDenumerator = 1; nlohmann::json encoderParams; // 编码器参数 std::optional<std::string> outputScene; std::optional<std::string> resolution; // 可被目标单独覆盖 }; struct OutputTargetConfig { std::string id; std::string name; std::string protocol; // RTMP / SRT_RIST / WHIP bool syncStart = false; bool syncStop = false; nlohmann::json serviceParam; // 服务参数(地址、密钥) nlohmann::json outputParam; // 输出参数(码率等) std::optional<std::string> videoConfig; std::optional<std::string> audioConfig; };

适合谁:多平台同时直播、想让副平台降码率省带宽的创作者。

三种协议:RTMP / SRT / WHIP 怎么切换

做什么:除标准 RTMP 外,支持 SRT/RIST(抗丢包、更稳)和 WebRTC (WHIP)(低延迟),分别对应不同的 OBS 输出模块。

怎么配:协议表在src/protocols.cpp,把协议映射到对应的输出与服务模块,编辑对话框里选协议即可,表单字段自动跟随:

{ "RTMP", "RTMP", "rtmp_output", "rtmp_custom" }, { "SRT_RIST", "SRT/RIST", "ffmpeg_mpegts_muxer", "rtmp_custom" }, { "WHIP", "WebRTC (WHIP)","whip_output", "whip_custom" }

适合谁:线路不稳用 SRT,追求低延迟用 WHIP,其余场景直接用 RTMP。

批量启动与同步控制:多平台同开播

做什么:「开始所有」「停止所有」批量控制全部目标;单个目标带syncStart/syncStop标志,勾选后手动推某一路时,同步目标会跟随启动或停止。

怎么配:编辑目标时勾选同步项即可,无需脚本。

适合谁:要求多平台同一秒开播、同一秒下播的直播。

配置自动保存:换电脑怎么迁移

做什么:所有目标和预设存于 OBS 用户数据目录的obs-multi-rtmp配置节(%appdata%\obs-studio\下),OBS 退出时自动保存,切换 Profile 时自动重载。

怎么配:零配置。迁移时整体备份 OBS 用户数据目录即可。

适合谁:换机、重装系统前想保留全部推流配置的人。

⚖️ 调优与对比:带宽和编码器怎么分配

调优建议:

  1. 先算带宽。总上传需求 = 各目标码率之和 × 1.2。3 个平台各 8000kbps 需要约 29Mbps 上传,不够就先压副平台码率。
  2. 编码器分配:主平台用硬件,副平台用软件。主平台指 NVENC/QSV/AMF 保画质,副平台给 x264 降到 720p 并把 preset 调快,避免多个 x264 把 CPU 吃满。
  3. 用分辨率覆盖省预设。预设里的resolution是可选字段,同一个编码器预设服务多个目标、按目标覆盖分辨率,不用复制一堆预设。
  4. WHIP 别用于超长直播。延迟低但连接维持成本高,长时间开播用 RTMP 或 SRT 更稳。
  5. 开播前看统计栏。观察各路码率是否稳定,某路持续掉帧先降它的码率,再查网络。

和本插件常见的替代方案对比:

维度OBS Multi RTMP多 OBS 实例方案
编码资源单实例共享场景,按目标独立编码每平台一个实例,场景重复搭建
同步精度同实例启停,毫秒级手动操作,秒级偏差常见
配置复杂度统一界面管理预设与目标每个实例分别配置
带宽占用相同(由总码率决定)相同
维护成本更新一个插件多个实例分别维护

推荐用本插件,因为多实例方案的场景搭建、配置维护和同步误差都是线性增长的。

❓ 问题速查:6 个高频故障

Q: 重启后看不到「多路推流」窗口?A: 先查「视图」→「Docks」是否被取消勾选。还不行就切到工作室模式试试;仍无窗口则退出 OBS,打开%appdata%\obs-studio\global.ini,删掉DockState=那一行再重启。

Q: 怎么确认插件文件放对了?A: 看 OBS 日志(帮助 → 日志文件)里有没有插件加载记录。没有就检查文件是否放在C:\Program Files\obs-studio\下,以及插件构建对应的 OBS 版本(项目基于 31.0.0)与本机是否匹配。

Q: 部分平台推流失败?A: 先核对该平台的推流密钥和地址,再降这一路的码率,最后查 OBS 日志里的具体报错。

Q: 不想用 RTMP 怎么办?A: 插件支持 SRT/RIST 和 WebRTC (WHIP),在编辑对话框里切换协议后按新协议填参数即可。

Q: 界面语言显示不对?A: 插件在data/locale/下带完整多语言文件,切换 OBS 界面语言后插件会跟随。

Q: 重装后推流配置怎么恢复?A: 配置在 OBS 用户数据目录的obs-multi-rtmp配置节里,重装前把该配置文件备份一份即可。

🛠️ 给开发者的延伸:编译与扩展

编译依赖:CMake 3.28+、libobs(项目基于 obs-studio 31.0.0)、Qt6 Widgets;dep/目录已内置 nlohmann-json,不用额外装。源码入口是src/obs-multi-rtmp.cppobs_module_load()。要加新协议:在src/protocols.cpps_infoList里加一行,指向对应输出与服务模块 id,再补 UI 参数项,编辑对话框会自动适配。

插件把「一个实例一路流」变成「一个实例多平台」,独立编码器预设加批量启停是它的核心价值。最实用的落地建议:正式开播前用两个目标做一遍低码率推流测试,把密钥和带宽都验一遍,开播时才不会翻车。

【免费下载链接】obs-multi-rtmpOBS複数サイト同時配信プラグイン项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/30 23:02:48

商超蔬菜销售分析:R语言与LINGO协同建模实战方法论

1. 这不是一份“交差式”论文&#xff0c;而是一套可复用的商超蔬菜销售分析方法论 你打开这份特辑时&#xff0c;大概率正处在数模竞赛冲刺阶段——可能是刚拿到2023年C题题干&#xff0c;对着“某连锁商超16种蔬菜连续180天的日销售、进货、价格、损耗数据”发懵&#xff1b;…

作者头像 李华
网站建设 2026/9/2 14:59:01

大模型/agent便于理解的技术交接报告skill

大模型/agent便于理解的技术交接报告skill前言skill正文前言 我发现“技术报告难读&#xff0c;往往不是因为术语太多&#xff0c;而是因为知识出现顺序错了”。我发现大模型很多时候抓不准问题&#xff0c;是因为我们脑子里知道我们整体在解决什么问题&#xff0c;而大模型则…

作者头像 李华
网站建设 2026/8/31 12:48:52

目录与文件管理0825

Linux与Windows的文件系统组织方式存在本质区别&#xff0c;Linux采用单一的树形目录结构&#xff0c;所有分区&#xff0c;文件目录均以根目录&#xff08;/&#xff09;为唯一起点&#xff0c;根目录所在的分区称为根分区&#xff0c;而Windows为每个磁盘分区设置独立的根目录…

作者头像 李华
网站建设 2026/8/30 9:54:15

海康videowebplugin插件失效原因与实战排障指南

简介&#xff1a;ActiveX插件是传统安防视频调阅的核心技术组件&#xff0c;其本质是基于IE内核的私有协议封装方案&#xff0c;依赖Windows系统、DirectX硬件解码与COM组件注册机制。随着现代浏览器逐步淘汰ActiveX支持&#xff0c;该技术面临兼容性断层&#xff0c;典型表现为…

作者头像 李华
网站建设 2026/9/2 13:38:55

Spark 4.x Variant深入解析:半结构化数据处理的灵活与高效

在近期的 Spark 技术调研里&#xff0c;我发现讨论最多、也最容易让人误解的新特性就是 Spark 4.x 中的 Variant 类型。很多读者问&#xff1a;Variant 是不是就是“升级版 JSON”&#xff1f;它的性能真的比原来好很多吗&#xff1f;项目里到底什么时候该换&#xff0c;什么时…

作者头像 李华
网站建设 2026/9/2 8:18:28

Vibe Coding一人即团队系列12: 提示词的四类编写范式与结构化实践

纲要 普通自然语言提示词 角色与背景定义目标与诉求描述输出格式约束 Markdown 格式提示词 标题层级与粗体标记段落化组织方式大模型的结构化偏好 优雅风格化提示词 方括号标记法编号与列表规范可维护性与团队协作 XML/HTML 标签格式提示词 起始标签与结束标签标签嵌套机制自定…

作者头像 李华