前言
朋友们!有没有人跟我一样?
有时候只是想和异地朋友一起追个剧、看场 比赛,或者给同事演示一下电脑上的东西。明明只需要分享一个屏幕,结果准备工作比正片还长!先下载软件、注册账号、登录,再创建会议、发送邀请……好不容易两个人都进去了,画面糊得像打了马赛克,声音还时大时小。
最离谱的是,有些软件明明只是想共享个屏幕,却非要搞得像在召开什么跨国董事会。我只是想和朋友看个视频啊!怎么还整出一套办公流程来了?
直到最近,我挖到了一款相当有意思的开源工具——Piik。
它的玩法特别简单:
你负责分享屏幕,朋友负责打开链接。不用让朋友下载客户端,也不用注册账号、添加好友。
只要有浏览器,就能加入你的共享房间。而且它还支持语音聊天、文字互动、表情、弹幕,甚至可以让最多20位观众同时观看!
更有意思的是,我们还能把它部署在自己的 Windows 电脑上,搭配 cpolar 实现远程访问。
以后不管朋友在隔壁小区,还是隔着几座城市,都能通过浏览器加入房间。
今天就带大家从零开始,把这套玩法安排明白!
一、关于 Piik:这才是熟人之间该有的屏幕共享体验!
Piik 是一款面向轻量级实时屏幕共享的开源工具。
它不像传统会议软件那样,把各种会议管理、日程安排、成员权限一股脑塞给你。
它的核心思路非常直接:
把屏幕共享这件事,做得足够简单。
尤其适合情侣异地追剧、朋友一起看比赛、游戏画面分享,以及远程演示代码、设计稿等场景。
1. 朋友不用安装软件,打开浏览器就能看
这是我最喜欢的一点!
传统屏幕共享软件经常需要双方都安装客户端。而 Piik 只需要我们提前部署好服务端。分享者创建房间,生成邀请链接,再把链接发给朋友。
朋友直接通过浏览器访问,就能加入房间观看共享画面。不需要为了看个屏幕,专门给手机或电脑塞进去一个新软件。
真正做到了:链接一发,点开就看!
2. 最多支持20位观众,熟人小圈子刚刚好
Piik 支持配置房间观众人数上限,项目介绍的最高上限为20位观众。如果只是两三个人一起追剧,完全够用。
就算是拉上一群朋友,一起围观游戏操作、分享比赛画面,也能满足不少小型聚会场景。
当然,实际能流畅承载多少人,还要看分享者的电脑性能、网络上行带宽以及连接方式。
尤其是在 P2P 模式下,观看人数越多,对分享者的网络要求通常也越高。
所以后面的教程中,我们先把观众上限设置成5人,方便测试。
3. 想分享哪里,就分享哪里
Piik 可以通过浏览器的屏幕捕获功能选择共享内容,包括:
- 整个电脑屏幕
- 某一个应用程序窗口
- 单独的浏览器标签页
- 摄像头画面
比如你想和朋友一起看视频,就选择正在播放视频的浏览器标签页。
如果你是程序员,想给同事演示代码,只需要共享编辑器窗口。
至于桌面上那些还没整理的文件夹?
放心,它们不用跟着一起公开处刑了!
不过要注意,某些受版权保护的视频可能会限制屏幕捕获或音频共享,实际效果取决于浏览器和内容平台。
4. 自带语音、聊天和表情互动
Piik 不只是一个单纯的屏幕播放器。
它还提供了语音通话、文字聊天和表情互动等功能。
一边看视频,一边和朋友聊天吐槽,氛围感直接拉满!
而且进入房间时,麦克风默认处于关闭状态。
不用担心刚进房间,就把自己正在唱歌、吃零食的声音现场直播出去。
还有一个特别贴心的设计:
你可以单独静音房间里的某个人。
这个静音只对你自己生效,不会影响其他观众。
朋友那边有杂音?自己静音就行,不用麻烦房主挨个管理。
5. 不共享屏幕,也能当语音房使用
有时候聊着聊着,视频看完了。
难道还要退出房间,再换一个语音软件?
完全没必要!
Piik 支持在没有画面共享的情况下继续使用语音功能。
所以它不仅适合共享屏幕,也能充当一个轻量级的熟人语音房。
6. P2P 传输,支持查看连接状态
Piik 支持 P2P 点对点传输,也就是在网络条件允许时,让分享者和观看者直接建立媒体连接。
这样可以减少不必要的媒体中转。
不过需要说明的是,P2P 不代表任何网络环境下都能直接连接。如果双方处于复杂的 NAT 或防火墙环境中,连接仍可能失败,或者需要额外的中转能力。
Piik 还提供连接拓扑视图,可以帮助我们查看当前的连接情况,排查网络问题。
除此之外,它还有深色、浅色主题,以及更适合沉浸式观看的剧场模式。
小窗观看也很实用,边看朋友分享的画面,边处理自己的事情,两不耽误。
总之,Piik 的魅力就在于:
没有一大堆花里胡哨的操作,却把朋友之间真正需要的共享、聊天、互动功能都安排上了。
接下来进入实操!
二、Windows 安装部署 Piik:几分钟拥有自己的屏幕共享站点
这次我们使用 Windows 电脑作为 Piik 服务端。
不需要 Docker,也不需要提前搭建复杂的运行环境。
本次教程以 Piik v2.3.0 为例。
github地址:https://github.com/TNTcraftHIM/Piik
第一步:下载 Piik 服务端
首先打开 Piik 项目的 GitHub Releases 版本发布页面。
在版本列表中找到 v2.3.0。
进入该版本的下载资源列表,也就是 Assets 区域。
我们需要找到适用于 Windows 64 位系统的服务端压缩包。
这里的 amd64 指的是常见的 x86-64 电脑架构,并不是说只有 AMD 处理器才能使用。
大部分 Intel 和 AMD 的64位 Windows 电脑都可以选择这一架构的版本。
下载完成以后,将压缩包完整解压。
建议放到一个容易找到的位置,例如:
C:\Piik
打开解压后的文件夹,找到服务端程序:
piik-server.exe
这就是我们接下来要运行的 Piik 服务端。
小提醒: 尽量不要直接在压缩包里运行程序,先完整解压,避免缺少运行文件。
第二步:启动 Piik
接下来双击:
piik-server.exe
正常情况下,会弹出一个终端窗口。
这个窗口就是 Piik 服务端的运行窗口。
注意!先不要把它关闭!
因为关闭终端窗口,通常就意味着服务端进程停止运行。
接着打开电脑浏览器,在地址栏输入:
http://localhost:8787
按下回车。
如果成功进入 Piik 页面,就说明我们的本地服务已经启动啦!
这里简单解释一下:
localhost 代表当前这台电脑。8787 是 Piik 当前使用的网页服务端口。
所以这个地址的意思就是:
通过8787端口,访问运行在自己电脑上的 Piik 服务。
是不是比想象中简单?到这里,我们已经有了一套可以在本机使用的屏幕共享服务。
三、Piik 怎么用?创建房间、分享屏幕、邀请朋友
部署成功以后,当然要先体验一下!
打开 Piik 首页,你会看到一个非常有趣的界面。
中间有一个小电视,下面坐着一个可爱的小人。
比起那些严肃得像要开年度总结大会的会议软件,这个界面明显轻松多了。
1. 创建自己的共享房间
首页最重要的就是两个功能:开始分享 和 加入房间。
我们先点击「开始分享」。
浏览器会弹出屏幕共享选择窗口。
你可以选择分享整个屏幕、应用窗口,或者某一个浏览器标签页。
比如我想给朋友分享正在播放的视频,就选择对应的浏览器标签页。
确认以后,Piik 就会开始捕获所选画面。
如果需要共享声音,记得检查浏览器弹窗中是否有音频共享选项。
不同浏览器对系统音频和标签页音频的支持可能不同,建议优先使用最新版 Chrome 或 Edge 测试。
2. 复制邀请链接
创建房间以后,Piik 会提供对应的房间信息。
我们可以复制邀请链接,也可以把房间码发给朋友。
如果使用房间码,对方需要先打开 Piik 页面,再输入房间码加入。
如果直接使用邀请链接,就能省去手动输入房间号的步骤。
不过这里有一个需要注意的地方:
目前我们访问的是:
http://localhost:8787
这个地址只指向当前电脑。
所以不要直接把带有 localhost 的邀请链接发给外地朋友。
因为在朋友的电脑上,localhost 指向的是朋友自己的设备,而不是我们的电脑。
至于怎么让外网朋友也能打开,后面会专门解决!
3. 观看模式和互动功能
朋友加入房间以后,可以根据自己的需求调整观看体验。
例如使用剧场模式,减少页面上其他元素的干扰,让画面更加集中。
或者使用小窗模式,一边观看共享内容,一边处理其他任务。
除了观看画面,大家还可以在聊天面板中发送文字和表情。
如果开启语音功能,还能边看边交流。
比如一起看比赛的时候,进球瞬间大家同时开麦欢呼。
这才有一起看比赛的感觉嘛!
4. 修改昵称和查看连接情况
在房间里,我们还可以修改自己的显示名称。
点击对应的角色区域,也能进行表情互动。
如果想检查网络连接情况,可以打开连接拓扑视图。
这里能够帮助我们了解房间中的连接状态。
遇到画面卡顿、连接失败等问题时,也可以优先从这里检查。
另外,房间的语音功能不依赖于持续共享画面。
就算暂时停止屏幕共享,也可以继续和朋友语音聊天。
到这里,Piik 的基础玩法我们就已经掌握了!
不过接下来,我发现了一个问题……
四、本地用着挺香,可朋友不在同一个局域网怎么办?
前面我们已经成功在 Windows 电脑上运行了 Piik。
自己打开浏览器,访问页面、创建房间,都没有问题。
如果朋友和我们连接的是同一个局域网,在服务监听地址和防火墙允许的情况下,还可以通过电脑的局域网 IP 访问。
但如果朋友在外地呢?
比如你在家里用电脑分享屏幕,朋友在学校用手机流量观看。
这时候,localhost 显然就派不上用场了。
因为 Piik 服务运行在我们的本地电脑上,外网用户通常无法直接访问这个地址。
想让外网朋友连接,传统方法可能需要研究公网 IP、路由器端口映射、防火墙规则等配置。
如果家里的宽带还处于运营商 CGNAT 网络环境,事情就更麻烦了。
明明只是想和朋友分享一个屏幕,结果又要开始研究网络工程。
有没有办法不折腾路由器,就让朋 友直接通过公网链接打开我们的 Piik?
还真有!
这次我用到的是 cpolar 内网穿透工具。
五、安装 cpolar:给本地 Piik 一个外网也能打开的地址
简单理解,cpolar 就像是在我们的本地电脑和公网之间搭建了一条访问通道。
原本只能在本机打开的 Piik 页面,可以通过 cpolar 提供的公网地址访问。
这样一来,即使朋友和我们不在同一个局域网,也可以尝试通过公网地址进入 Piik 站点。
而且不需要自己去申请公网 IP,也不用手动配置路由器端口转发。
这里需要区分两个概念:
cpolar 负责让外网用户访问 Piik 网页服务,而 Piik 的屏幕和语音媒体连接仍然要由其自身的 WebRTC/P2P 机制建立。
因此,公网网页能够打开,并不自动代表所有网络环境下都能成功观看画面。我们后面还会进行实际测试。
第一步:下载 cpolar
首先打开 cpolar 官网:https://www.cpolar.com/
进入下载页面,选择 Windows 版本。下载完成以后,双击安装程序。根据安装向导完成安装即可。整个过程和安装普通 Windows 软件差不多,不需要额外配置 Docker 或 Linux 环境。
第二步:注册并登录 cpolar
安装完成以后,打开浏览器,输入:
http://localhost:9200
这是 cpolar 的本地 Web 管理界面。
首次使用时,需要使用 cpolar 账号登录。
如果还没有账号,可以先前往官网注册。
注册并登录以后,就能进入 cpolar 的隧道管理页面。
接下来我们要做的事情很简单:
把本地 Piik 的8787端口,通过 cpolar 映射到一个公网地址。
第三步:创建 Piik 公网隧道
进入 cpolar 管理界面以后,依次点击:
隧道管理 → 创建隧道
接下来填写相关参数。
| 配置项目 | 填写内容 |
|---|---|
| 隧道名称 | piik |
| 协议 | http |
| 本地地址 | 8787 |
| 域名类型 | 随机域名(先测试) |
| 地区 | 根据实际可用线路选择 |
这里有一个我觉得特别值得注意的细节。
cpolar 提供随机公网域名,适合临时测试。
但是按照本次教程采用的服务规则,免费随机域名可能会在24小时左右发生变化,实际以当前套餐规则为准。
如果只是偶尔测试一下,随机域名当然够用了。
但如果你打算长期使用 Piik,就会遇到一个问题:
今天把邀请地址发给朋友,明天域名变了,还得重新发。
朋友可能会问:
“昨天那个链接怎么打不开了?”
你只能解释:
“等一下,我再给你发一个新的。”
偶尔一次还好,每次都这样就有点麻烦了。
所以如果准备长期使用,我更建议考虑 cpolar 支持的固定二级子域名。
这样就能保留一个相对固定的站点入口,不用频繁更换访问地址。
第五步:预留固定二级子域名
如果你决定使用固定地址,可以打开 cpolar 官网后台。
找到:
预留 → 保留二级子域名
接下来设置:
- 地区:选择与隧道匹配的可用地区,例如
China Top - 二级域名名称:自定义一个方便记忆的名称
- 点击「保留」
预留完成以后,复制刚才设置的二级域名名称。
然后回到本地 cpolar 管理页面。
重新创建或者编辑对应的 Piik 隧道,将域名类型调整为「二级子域名」。
填写预留的名称,并选择匹配的地区。
保存以后,再进入「在线隧道列表」。
这时候,就可以看到对应的 HTTPS 公网地址了。
后面我们还需要把这个地址写进 Piik 的配置文件中,让它生成正确的公网邀请链接。
六、配置 Piik 公网访问:让外地朋友也能加入房间
现在,cpolar 已经为我们准备好了公网访问地址。
但是想让 Piik 正确生成邀请链接,还需要完成一个非常重要的步骤:
配置 Piik 的公网基础地址。
第一步:创建 .env 配置文件
首先回到前面解压 Piik 的文件夹:
在文件夹空白处点击鼠标右键。选择:新建 → 文本文档
然后将文件重命名为:
.env
注意,文件名就是 .env,前面有一个点,没有其他扩展名。
如果 Windows 提示修改文件扩展名可能导致文件不可用,确认修改即可。
如果你的电脑默认隐藏文件扩展名,建议先在文件资源管理器中开启:
查看 → 显示 → 文件扩展名
避免不小心把文件保存成:
.env.txt
这个问题非常常见!
有时候配置写得明明没错,程序就是不生效,最后发现是 Windows 悄悄多加了一个 .txt。
第二步:填写 Piik 配置参数
使用记事本或者 VS Code 打开 .env 文件。
将下面这份配置完整复制进去:
PIIK_ENV=production
LISTEN_HOST=127.0.0.1
PORT=8787
PUBLIC_BASE_URL=https://YOUR-ASSIGNED-HOST.cpolar.cn
ALLOWED_ORIGINS=
TLS_SELF_SIGNED=false
SITE_ACCESS_PASSWORD=CHANGE_THIS_PASSWORD
STUN_URLS=stun:stun.cloudflare.com:3478
NAT_PREDICTION_ENABLED=false
MAX_VIEWERS_PER_ROOM=5
ROOM_DATABASE_PATH=
SFU_UDP_PORT=
SFU_ONLY=false
这里不要着急保存,我们还需要修改两个地方。
第三步:修改公网访问地址
找到:
PUBLIC_BASE_URL=https://YOUR-ASSIGNED-HOST.cpolar.cn
把等号后面的地址替换成刚才 cpolar 分配给你的实际 HTTPS 地址。
例如:
PUBLIC_BASE_URL=https://piik.cpolar.top
注意,这个地址只是演示。
一定要填写你自己在 cpolar 后台获取的地址。
PUBLIC_BASE_URL 的作用,就是告诉 Piik:
以后生成对外分享的邀请链接时,应该使用哪个公网地址。
这样朋友收到的就不再是 localhost 之类的本地地址了。
第四步:设置站点访问密码
接下来找到:
SITE_ACCESS_PASSWORD=CHANGE_THIS_PASSWORD
把后面的内容改成你自己的站点访问密码。
例如:
SITE_ACCESS_PASSWORD=MyPiik2026Safe
上面只是示例,实际使用时建议设置一个更复杂、独立的密码。
这样别人访问你的 Piik 站点时,需要先通过站点口令验证。
如果你希望站点不设置访问口令,也可以按照该版本的配置方式,将等号后面留空:
SITE_ACCESS_PASSWORD=
不过我个人更建议保留密码。
毕竟我们是给熟人使用的共享站点,不是准备把自己的电脑共享入口开放给所有陌生人。
而且站点密码和房间密码不是同一个概念。
站点密码保护的是整个站点入口,房间密码则可以进一步限制具体房间的加入。
两者合理搭配,使用起来会更安心。
第五步:其他配置参数是什么意思?
第一次看到这么多英文配置,可能会有点头大。
其实不用慌,绝大多数参数保持默认就行。
这里挑几个比较重要的解释一下。
| 参数 | 作用 |
|---|---|
PIIK_ENV |
运行环境,教程使用 production |
LISTEN_HOST |
服务监听地址,127.0.0.1 表示仅本机监听 |
PORT |
Piik 本地网页端口 |
PUBLIC_BASE_URL |
Piik 对外使用的公网基础地址 |
SITE_ACCESS_PASSWORD |
站点访问口令 |
STUN_URLS |
用于 WebRTC 网络地址发现的 STUN 服务器 |
MAX_VIEWERS_PER_ROOM |
每个房间允许的观众人数上限 |
SFU_UDP_PORT |
SFU 媒体服务相关 UDP 端口配置 |
SFU_ONLY |
是否强制采用 SFU 模式 |
其中有三个地方特别值得注意。
① LISTEN_HOST=127.0.0.1
这里保持为:
LISTEN_HOST=127.0.0.1
因为 cpolar 客户端就运行在同一台 Windows 电脑上。
它可以直接连接本机的8787端口,不需要让 Piik 监听所有网卡。
这样也能减少不必要的局域网暴露。
② STUN_URLS
STUN_URLS=stun:stun.cloudflare.com:3478
STUN 主要帮助通信双方发现各自可用于建立连接的网络地址。
这里使用 Cloudflare 提供的 STUN 服务作为示例。
需要注意,STUN 并不是媒体转发服务器,也不能保证所有复杂网络都能实现 P2P 直连。
如果双方网络限制比较严格,仍可能需要 TURN 或 SFU 等额外能力。
③ MAX_VIEWERS_PER_ROOM
MAX_VIEWERS_PER_ROOM=5
这里设置的是每个房间最多允许5位观众,不包含房主。
虽然 Piik 支持配置更高的观众人数,但我们先从5人开始测试。
等确认网络和电脑性能都没有问题,再根据实际需求调整。
本次教程优先使用 P2P 连接,因此先保持:
SFU_UDP_PORT=
SFU_ONLY=false
配置完成以后,按下:
Ctrl + S
保存文件。
第六步:检查配置文件是否正确
为了避免启动以后才发现配置错误,我们先检查一下。
进入 Piik 文件夹。
在文件夹空白处按住 Shift 并点击鼠标右键,选择「在终端中打开」。
或者直接在文件资源管理器的地址栏输入:
powershell
按下回车。
先执行:
Get-ChildItem -Force .env*
这条命令会列出当前目录中名称以 .env 开头的文件。
正常情况下,我们应该能看到:
.env
如果看到的是:
.env.txt
就说明文件名还需要修改。
接下来执行:
.\piik-server.exe --check-config
这条命令用于检查 Piik 的配置格式和必要参数。
如果输出中出现类似:
config=ok
就说明配置检查通过。
注意,这只能说明配置格式通过检查,不代表公网连接和媒体传输已经全部正常。
第七步:重新启动 Piik
如果之前通过双击启动的 Piik 服务还在运行,先回到原来的终端窗口,按下:
Ctrl + C
结束原来的服务进程。
然后在刚才打开的 PowerShell 窗口中执行:
.\piik-server.exe
这次 Piik 就会读取我们刚才保存的 .env 配置。
如果启动日志正常,并且显示出设置好的公网基础地址,就说明配置已经生效。
现在打开浏览器,输入自己的 cpolar HTTPS 公网地址。
例如:
https://piik.cpolar.top
如果能够正常打开 Piik 页面,并且输入站点密码后可以进入,就说明公网网页访问这一步已经成功了!
七、实测远程屏幕共享:手机不用连同一个 Wi-Fi!
接下来才是最让人期待的环节。
我们来实际测试一下,外地朋友能不能通过浏览器观看共享画面。
第一步:电脑创建共享房间
在 Windows 电脑上,通过 cpolar 的 HTTPS 地址进入 Piik。
点击「开始分享」。
选择想要共享的浏览器标签页或者应用窗口。
创建成功以后,复制房间邀请链接。
检查一下邀请链接的开头,应该是刚才配置的 cpolar 公网域名,而不是 localhost。
第二步:手机切换到移动网络
拿出手机,先关闭 Wi-Fi。
使用手机自己的移动数据网络。
这样就可以模拟不在同一个局域网中的观看者。
接下来,把刚才复制的邀请链接发送到手机上。
使用手机浏览器打开。
如果站点设置了访问密码,先输入正确的密码。
然后进入对应房间。
第三步:测试画面、语音和互动
进入房间以后,先测试最基础的画面共享。
在电脑上切换窗口或者移动鼠标,观察手机端能否同步看到画面。
然后再测试文字聊天、表情互动和语音功能。
如果这些功能都正常,说明这次远程共享已经成功了!
不过有一点一定要注意:
cpolar 的 HTTPS 隧道解决的是网页访问问题,Piik 的媒体传输是否成功,还取决于 WebRTC 连接能否建立。
如果网页能打开,但一直没有共享画面,不要急着认为是 cpolar 隧道出了问题。
可以先打开 Piik 的连接拓扑视图,检查 P2P 连接状态。
必要时还需要检查浏览器权限、Windows 防火墙、双方网络环境,以及 Piik 的媒体中转配置。
尤其是企业网络、校园网和某些移动网络环境,可能对 P2P 连接存在限制。
第四步:分享给真正的异地朋友
测试成功以后,就可以把邀请链接发给朋友了。
对方只需要使用支持的浏览器打开链接,按照页面提示加入房间即可。
不需要为了观看共享内容专门安装 Piik 客户端。
这时候你会发现,之前觉得很麻烦的远程屏幕共享,突然变得轻松了很多。
比如周末晚上,你想和朋友一起看场比赛。
打开电脑上的 Piik,创建房间,把邀请链接发过去。
朋友点开链接,进入房间。
大家一边看,一边聊天吐槽。
不用提前半小时研究怎么开会议,也不用一个个指导朋友下载软件。
分享屏幕这件事,终于回到了它本来该有的简单模样。
结尾:好用的软件,就应该让生活少一点折腾
折腾完这一套,我最大的感受就是:
有时候我们需要的,真的不是功能最多的软件,而是最适合自己使用场景的工具。
Piik 没有把自己做成一个庞大的会议平台。
它只是认真解决了一件事情:
让分享屏幕、邀请朋友、语音聊天变得更加轻松。
当然,涉及屏幕共享时,也别忘了保护个人隐私。
尽量只分享需要展示的窗口,避免暴露账号密码、私人聊天记录等敏感内容
如果是你,搭好 Piik 以后,最想拿它来做什么?
是和朋友一起追剧、看比赛,还是远程分享游戏画面?
欢迎在评论区聊聊你的玩法!
说不定还能挖到一些我没想到的神仙用法!
我们下期继续分享好玩又实用的开源工具!











































