前言
异地恋的时候,总想给女朋友分享自己在游戏里的“高光时刻”,或者干脆就是想挂着屏幕让她看着我玩,甚至一起看个电影。
但市面上的解决方案总是不太完美:
-
抖音/B站直播:太公开了,我只想给一个人看,而且会有几秒到十几秒的延迟,互动性差。
-
微信/QQ视频:画质压缩严重,而且占用手机资源,甚至还会把游戏声音和麦克风混在一起,体验很差。
-
Discord/腾讯会议:虽然不错,但对网络要求高,且画质和码率受限(不充钱通常只有720p/30fps)。
作为一名折腾党,我决定用Tailscale组建虚拟局域网,配合MediaMTX搭建流媒体服务器,最后用OBS推流,实现点对点、高画质、低延迟、且完全隐私的专属直播间。
核心原理
-
Tailscale:把我和女朋友相隔千里的电脑,拉到一个虚拟的局域网(LAN)里,就像我们连着同一个WiFi。
-
MediaMTX:一个超轻量级的流媒体服务器(前身是rtsp-simple-server),负责接收我的画面并转发给她。
-
OBS:负责采集我的游戏画面和声音,推送到MediaMTX。
-
播放器(VLC/PotPlayer):女朋友通过虚拟局域网IP拉取直播流。
准备工作
-
推流端(我):一台玩游戏的Windows电脑。
-
观看端(女朋友):一台可以上网的电脑(Windows/Mac均可)。
-
软件清单:
-
Tailscale(两边都要装)
-
MediaMTX(只装我这边)
-
OBS Studio(只装我这边)
-
PotPlayer 或 VLC(只装她那边)
-
第一步:打通网络 (Tailscale)
Tailscale 是基于 WireGuard 的虚拟组网神器,配置简单到几乎不需要配置。
-
注册与安装:
-
去 Tailscale官网 注册一个账号。
-
在我的电脑和她的电脑上都下载并安装 Tailscale 客户端。
-
-
登录与连接:
-
两台电脑登录同一个账号(或者使用Share功能分享设备)。
-
启动后,你会看到每台设备都被分配了一个 100.x.y.z 开头的 IP 地址。
-
-
记录IP:
记下*我自己电脑**在 Tailscale 里的 IP 地址(例如 100.100.10.10),这个就是后面女朋友访问直播间的“门牌号”。
-
测试连通性:
- 在她电脑上打开命令行(CMD),输入 ping 100.100.10.10(换成你的IP)。如果能ping通,说明你们已经在一个虚拟局域网里了。
第二步:搭建直播基站 (MediaMTX)
不需要安装复杂的Nginx,MediaMTX 只有一个可执行文件,双击即用。
-
下载:
-
去 MediaMTX GitHub Releases 页面。
-
下载 mediamtx_vX.X.X_windows_amd64.zip。
-
-
运行:
-
解压后,你会看到一个 mediamtx.exe 和 mediamtx.yml。
-
直接双击运行 mediamtx.exe。
-
会弹出一个黑色命令行窗口,显示 [RTSP] listener opened on :8554 和 [RTMP] listener opened on :1935 等字样。
-
注意:直播期间这个黑色窗口不能关。
-
默认配置已经足够使用,它会自动接收 RTMP 推流并支持 RTMP/RTSP/HLS 等多种协议拉流。
第三步:配置 OBS 推流
OBS 是最强大的直播推流软件,我们要把画面推给本地运行的 MediaMTX。
-
打开 OBS,进入 设置 (Settings) -> 直播 (Stream)。
-
服务 (Service) 选择 自定义 (Custom)。
-
服务器 (Server) 填写rtmp://localhost:1935
- 解释:因为MediaMTX就在这台电脑上运行,所以填localhost。
-
推流码 (Stream Key) 随便填一个,例如love
- 解释:这个词就是直播间的“房间号”。
-
输出 (Output) 设置(关键点):
为了低延迟,建议将 关键帧间隔 (Keyframe Interval)* 设为 1 或 2 秒。
- 比特率 (Bitrate):取决于你家宽带的上行速度。通常 4000 Kbps 到 6000 Kbps 就能获得不错的 1080P 画质。
-
设置好画面源(游戏捕获)后,点击 OBS 主界面的 “开始直播”。
- 如果下方的状态栏变成了绿色方块,说明推流成功!
第四步:女朋友如何观看
终于到了最后一步,让异地的她看到画面。
-
让他打开 PotPlayer 或 VLC 播放器。
-
选择 打开链接/打开网络串流 (Ctrl+U / Ctrl+N)。
-
输入播放地址。这里推荐使用 RTSP 协议,延迟通常比 RTMP 更低。
-
地址格式rtsp://[你的Tailscale IP]:8554/[推流码]
-
例如rtsp://100.100.10.10:8554/love
-
-
点击播放。
见证奇迹的时刻:如果一切顺利,她现在的屏幕上就会出现你的游戏画面。根据网络状况(Tailscale 是否走了直连),延迟通常在 0.5秒到 2秒之间,远优于市面上的直播平台。
进阶调试与常见问题
Q: 画面很卡,经常缓冲怎么办?
-
原因1:Tailscale走了中继服务器(DERP)。
-
检查方法:在命令行输入 tailscale status。如果看到对方连接后面写着 relay,说明没打通P2P。
-
解决:尝试开启路由器 UPnP,或者手动做端口映射,尽量让连接变成 direct。
-
-
原因2:推流码率太高。
- 你的上行带宽不够,或者她的下行带宽不够。在 OBS 里把比特率降低到 2500 Kbps 试试。
Q: 有画面没声音?
- 检查 OBS 的“音频混音器”,确认桌面音频是有波动的,且没有被静音。
Q: 为什么不用浏览器直接看?
- MediaMTX 也支持 HLS (WebRTC),可以用浏览器看 http://100.100.10.10:8888/love。但浏览器播放 HLS 延迟通常较高(3-5秒以上),不如播放器拉取 RTSP 流实时性好。
总结
通过这套方案,我们利用 Tailscale 解决了内网穿透和隐私安全问题,利用 MediaMTX 解决了流媒体分发,利用 OBS 保证了画质。
这不仅仅是一个直播教程,更是维护异地感情的一条“私有光纤”。今晚,试试邀请她来你的专属频道吧!