秦绍鹏
秦绍鹏
Published on 2025-12-02 / 11 Visits
0
0

【异地恋神器】拒绝社死与卡顿:用 Tailscale + MediaMTX + OBS 搭建私有零延迟游戏直播间

前言

异地恋的时候,总想给女朋友分享自己在游戏里的“高光时刻”,或者干脆就是想挂着屏幕让她看着我玩,甚至一起看个电影。

但市面上的解决方案总是不太完美:

  • 抖音/B站直播:太公开了,我只想给一个人看,而且会有几秒到十几秒的延迟,互动性差。

  • 微信/QQ视频:画质压缩严重,而且占用手机资源,甚至还会把游戏声音和麦克风混在一起,体验很差。

  • Discord/腾讯会议:虽然不错,但对网络要求高,且画质和码率受限(不充钱通常只有720p/30fps)。

作为一名折腾党,我决定用Tailscale组建虚拟局域网,配合MediaMTX搭建流媒体服务器,最后用OBS推流,实现点对点、高画质、低延迟、且完全隐私的专属直播间。

核心原理

  1. Tailscale:把我和女朋友相隔千里的电脑,拉到一个虚拟的局域网(LAN)里,就像我们连着同一个WiFi。

  2. MediaMTX:一个超轻量级的流媒体服务器(前身是rtsp-simple-server),负责接收我的画面并转发给她。

  3. OBS:负责采集我的游戏画面和声音,推送到MediaMTX。

  4. 播放器(VLC/PotPlayer):女朋友通过虚拟局域网IP拉取直播流。


准备工作

  • 推流端(我):一台玩游戏的Windows电脑。

  • 观看端(女朋友):一台可以上网的电脑(Windows/Mac均可)。

  • 软件清单:

    • Tailscale(两边都要装)

    • MediaMTX(只装我这边)

    • OBS Studio(只装我这边)

    • PotPlayer 或 VLC(只装她那边)


第一步:打通网络 (Tailscale)

Tailscale 是基于 WireGuard 的虚拟组网神器,配置简单到几乎不需要配置。

  1. 注册与安装:

    • Tailscale官网 注册一个账号。

    • 在我的电脑和她的电脑上都下载并安装 Tailscale 客户端。

  2. 登录与连接:

    • 两台电脑登录同一个账号(或者使用Share功能分享设备)。

    • 启动后,你会看到每台设备都被分配了一个 100.x.y.z 开头的 IP 地址。

  3. 记录IP:

    记下*我自己电脑**在 Tailscale 里的 IP 地址(例如 100.100.10.10),这个就是后面女朋友访问直播间的“门牌号”。

  4. 测试连通性:

    • 在她电脑上打开命令行(CMD),输入 ping 100.100.10.10(换成你的IP)。如果能ping通,说明你们已经在一个虚拟局域网里了。

第二步:搭建直播基站 (MediaMTX)

不需要安装复杂的Nginx,MediaMTX 只有一个可执行文件,双击即用。

  1. 下载:

  2. 运行:

    • 解压后,你会看到一个 mediamtx.exe 和 mediamtx.yml。

    • 直接双击运行 mediamtx.exe。

    • 会弹出一个黑色命令行窗口,显示 [RTSP] listener opened on :8554 和 [RTMP] listener opened on :1935 等字样。

    • 注意:直播期间这个黑色窗口不能关。

默认配置已经足够使用,它会自动接收 RTMP 推流并支持 RTMP/RTSP/HLS 等多种协议拉流。


第三步:配置 OBS 推流

OBS 是最强大的直播推流软件,我们要把画面推给本地运行的 MediaMTX。

  1. 打开 OBS,进入 设置 (Settings) -> 直播 (Stream)。

  2. 服务 (Service) 选择 自定义 (Custom)。

  3. 服务器 (Server) 填写rtmp://localhost:1935

    • 解释:因为MediaMTX就在这台电脑上运行,所以填localhost。
  4. 推流码 (Stream Key) 随便填一个,例如love

    • 解释:这个词就是直播间的“房间号”。
  5. 输出 (Output) 设置(关键点):

    为了低延迟,建议将 关键帧间隔 (Keyframe Interval)* 设为 1 或 2 秒。

    • 比特率 (Bitrate):取决于你家宽带的上行速度。通常 4000 Kbps 到 6000 Kbps 就能获得不错的 1080P 画质。
  6. 设置好画面源(游戏捕获)后,点击 OBS 主界面的 “开始直播”。

    • 如果下方的状态栏变成了绿色方块,说明推流成功!

第四步:女朋友如何观看

终于到了最后一步,让异地的她看到画面。

  1. 让他打开 PotPlayer 或 VLC 播放器。

  2. 选择 打开链接/打开网络串流 (Ctrl+U / Ctrl+N)。

  3. 输入播放地址。这里推荐使用 RTSP 协议,延迟通常比 RTMP 更低。

    • 地址格式rtsp://[你的Tailscale IP]:8554/[推流码]

    • 例如rtsp://100.100.10.10:8554/love

  4. 点击播放。

见证奇迹的时刻:如果一切顺利,她现在的屏幕上就会出现你的游戏画面。根据网络状况(Tailscale 是否走了直连),延迟通常在 0.5秒到 2秒之间,远优于市面上的直播平台。


进阶调试与常见问题

Q: 画面很卡,经常缓冲怎么办?

  • 原因1:Tailscale走了中继服务器(DERP)。

    • 检查方法:在命令行输入 tailscale status。如果看到对方连接后面写着 relay,说明没打通P2P。

    • 解决:尝试开启路由器 UPnP,或者手动做端口映射,尽量让连接变成 direct。

  • 原因2:推流码率太高。

    • 你的上行带宽不够,或者她的下行带宽不够。在 OBS 里把比特率降低到 2500 Kbps 试试。

Q: 有画面没声音?

  • 检查 OBS 的“音频混音器”,确认桌面音频是有波动的,且没有被静音。

Q: 为什么不用浏览器直接看?

总结

通过这套方案,我们利用 Tailscale 解决了内网穿透和隐私安全问题,利用 MediaMTX 解决了流媒体分发,利用 OBS 保证了画质。

这不仅仅是一个直播教程,更是维护异地感情的一条“私有光纤”。今晚,试试邀请她来你的专属频道吧!


Comment