什么是串流
串流(Streaming)是指数据或信息在持续传输和接收过程中逐步被处理和使用的技术。与传统的“下载”方式不同,串流通常允许用户在数据传输过程中就可以开始观看、听取或处理内容,而不需要等待整个文件完全下载完成。
-【此解释由 ChatGPT 生成,请注意甄别】
简单点说,在线视频、在线音乐、远程桌面等需要从对端传输数据至本地设备的过程,都存在串流。其中音视频主要包括自建影音库、alist,而远程桌面,则是字面意思,也是本文要讨论的重点。
常用串流软件
如果不是追求能够远程在家里电脑玩黑猴,高分刷新率拉满,免费方案就已经够用了。典型的比如我,只是偶尔需要远程家里电脑拷贝个文件过来,“出去”查点东西或者其它什么在自己电脑上处理更方便的内容等,时延画质要求不高的需求。反之,如果免费方案满足不了,自然可以加钱获得更好的体验。
就我自己上手用过的几个方案如下:
- ToDesk
- Sunshine & Moonlight
- Frp
- ZeroTier
🎗️: 我的使用环境
- 宿主机:电信有线(20M 上行),Win10,笔记本
- 客户端:无线(20M 下行),Win10,笔记本
ToDesk
-
分辨率:最高 1080P30 帧(取决与网络环境):在我这边 20M 条件下基本只有 720P 可以比较流畅使用
-
时间限制:120h/月 300 次/月
-
文件传输:支持,速度一般
-
剪贴板共享:支持
-
客户端:
-
主控客户端:需要
- 被控客户端:需要
-
- 登录:需要
☘️ 使用体验:
每天约 8h 连接时间(活动时间约 2h),经常性 720P,临时性使用尚可,较长时间使用很容易攒怒气。需要主控设备均安装客户端并登录账号。
🍀 使用建议:
作为备用方案,临时的时候用一下还行。如果作为主要方案,免费版确实不够看。
Sunshine & Moonlight
参考资料:
这套应该是搜索 “远程桌面串流” 结果最多的,一是免费,二是性能足够好,可以作为主推方案,只不过这套选择在我的手上并没有发挥出应有的水平:使用 moonlight 串流之后的鼠标加速很奇怪,也没有找到怎么调整,只得作罢。
基本情况:
- 分辨率与帧率:最大支持 4K 60 帧(取决于硬件和网络环境),条件允许,轻薄本畅玩黑猴也不是不行诶
- 时间限制:最多 744h/月 👻,没有次数限制
- 文件传输:不支持
- 剪贴板共享:支持
- 客户端:
- 主控:需要安装 Moonlight,并配对
- 被控:需要安装 Sunshine
- 登录:不需要,但需要配对码配对。
☘️ 使用体验:
Sunshine + Moonlight 的组合比较适合高质量的游戏串流,理想条件下,画质可以达到 4K,时延也是毫秒级。只是配置起来,稍微比上面的开箱即用麻烦一点。
🍀 使用建议:
如果网络环境不错,不嫌麻烦,很推荐这种方式(如果没遇到奇奇怪怪的东西的话)。
Frp
参考资料:
推荐两个项目,官方手册已经很详细了:
frp 是一个反向代理的应用,主要是做内网穿透,来做远程其实也还不错。
这种方式需要一个两边都能访问到的服务端,所以如果正好手头有服务器可以试试,没有的话就不推荐了。
- 分辨率与帧率:本质是反代宿主机 3389 端口(RDP 协议),也就是利用 Windows 本身的远程桌面服务,可以支持 60Hz(出门 bing 一下)
- 时间限制:无
- 文件传输:支持(RDP)
- 剪贴板共享:支持(RDP)
- 客户端:主控:需部署 frpc 服务
- 被控:需部署 frpc 服务
- 服务端:需部署 frps 服务
- 登录:不需要,需配置
SakuraFrp 有图形化界面,新建通道简单配置就可以使用了,goFrp 稍微麻烦一点,~~简要说明一下。~~新版本好久没实际用过了,纸上谈兵肯定不行,所以干脆先不写了,后面用上了再补充。
☘️ 使用体验:
采用的是第一个 goFrp 的方式,通过 P2P 的方式建立隧道,然后使用 Windows 自带的 RDP,分辨率和帧率能达到 1080P60 帧(需修改配置),体验倒还不错,唯一的问题就是不算稳定,经常掉线,一掉就不太好连上了。整体比 ToDesk 评价高一点。
🍀 使用建议:
可以折腾玩玩,如果实际体验不错,也建议使用。
ZeroTier
参考资料:
ZeroTier 是将多个客户端关联到一个专用虚拟局域网(VPN)中的 P2P 工具,在设备间时间点对点连接,保证了安全性和速度。然后就可以用 Windows RDP 做远程了。
提供免费和付费服务,个人使用免费版就足够了,三个虚拟网,每个最多 10 个客户端。
- 分辨率:可以 1080P60Hz
- 时间限制:最多 744h/月
- 文件传输:都在一个局域网了,开了共享就可以使用 ftp/smb 传输了。或者用 RDP 的
- 剪贴板共享:RDP 可共享
- 客户端要求:
- 主控:需要
- 被控:需要
- 登录:不需要,但是第一次需要登录后台创建网络、管理设备。
☘️ 使用体验:
目前主要方案,使用自建行星服务器。画质帧率、稳定性都还不错,只要两边网络能跟得上。。。
🍀 使用建议:
最推荐的方式。
基本概念
- PLANET(行星服务器):ZeroTier 网络核心根服务器,用于网络设备发现和初始连接,整个网络中枢。
- MOON(卫星服务器):作为 PLANET 的区域代理,帮助就近设备快速建立连接
- LEAF(叶子节点):所有接入 ZeroTier 网络的终端设备,如电脑、手机、服务器等。这些设备通过 PLANET 和 MOON 的协调来相互发现和通信。
官方服务器
- 注册并登录到 [ZeroTier](https://www.zerotier.com/) 管理页面;
- 选择【Create A Nerwork】创建一个虚拟网络,记录**Network ID**
- 在每个设备下载 Zerotier 客户端,启动后在任务栏找到图标,右键-【Join New Network】,输入上面的网络 ID;
或者直接管理员身份打开命令终端加入:# 可以 tab 补全 zerotier-cli join <network ID>
提示 `200 Successfully` 表示成功加入。
-
回到 ZeroTier 的管理页面,进入刚才创建的网络详情页,可以看到新加入的设备,勾选【Auth】进行认证,认证后会获得一个 IP,所有加入到这个网络的设备都可以使用这里出现的 IP 互访。比如使用 Windows RDP 访问家里的电脑。
-
【可选】下面高级部分可以自定义局域网网段、路由转发等,需要可自行查阅资料。
自建 Planet 服务器
自建 PLANET 服务器主要是为了:
- 提升网络稳定性:官方服务器位于海外,延迟较高不稳定
- 加快连接速度:本地化 PLANET 服务器可以加快连接
- 增强网络控制和安全性:私有化部署流量不经过三方
- 降低对官方服务器依赖:除开网络波动,个人部署稳定性应该是比不上官方的 🥹
- 环境准备:
- 拥有公网 IP 的服务器
- 防火墙开放以下端口:
- 3443/TCP 管理面板,根据实际调整
- 9994/TCP ZeroTier 通信,根据实际调整
- 9994/udp ZeroTier 通信,根据实际调整
- Docker 环境:请参考官方安装教程,2min 搞定
- git 软件包
- 【可选】docker 加速镜像
sudo tee /etc/docker/daemon.json <<EOF { "registry-mirrors": [ "https://docker.mirrors.aster.edu.pl", "https://docker.mirrors.imoyuapp.win" ] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
-
下载源码
# 官方地址 git clone https://github.com/xubiaolin/docker-zerotier-planet.git # 加速地址 git clone https://ghproxy.imoyuapp.win/https://github.com/xubiaolin/docker-zerotier-planet.git
- 执行安装
# 进入项目目录 cd docker-zerotier-planet # 运行安装脚本 ./deploy.sh
选择【1】安装,自动获取公网地址即可。
- 下载 planet 文件
安装完成后,会在项目目录 `./data/zerotier/dist` 目录下生成 `planet ` 和 `moon` 文件,通过 SSH 工具下载到本地 - 新建网络
- 打开管理面板 `http://<ip>:3443`,默认账密: `admin/password`
- 选择【Add Network】新建网络,输入网络名称,其它可保持默认。创建成功后会生成一个网络 ID
- 进入网络详情页,选择【Easy setup】-【Generate network address】随机生成 ip 范围
- 添加客户端
- Windows
- 下载安装好 ZeroTier 客户端,将生成的 `planet` 文件覆盖到 `C:\ProgramData\ZeroTier\One` 目录(先重命名备份),如果看不到就打开显示隐藏文件;
- 重启 【ZeroTier One】服务/直接重启客户端。
- 管理员身份打开 PowerShell,执行命令加入网络
> zerotier-cli.bat join <ID> 200 join OK
加入成功后,管理页面会显示客户端,勾选【Authorized】认证即可。
- 执行
> zerotier-cli.bat peers
可以看到 PLANET 和 LEAF 角色,连接方式为 DIRECT(直连),至此加入网络成功。
- Linux & MacOS
操作步骤和上面类似:安装客户端,替换 `planet` 文件,重启服务,加入网络。
- Windows
Tailscale
还有一种自建服务的选择——Tailscale,待补充。
总结
以上仅提出一点参考和个人使用体验,但毕竟每个人环境、设备、需求都不尽相同,很难说我觉得完全够用的方案对你来说不过勉勉强强,具体还是需要实际上手体验为准。
😶🌫️ 一点碎碎念~~
什么时候能够支持 Markdown 编辑啊,站长大大!现在这种编辑方式对于部分人可能很好用,可是也有人是喜欢编辑 Markdown 的。
© 版权声明
禁止商业用途!转载&二次分发,需标注来源!谢谢合作。
THE END
请登录后查看评论内容