ARTICLE · 1146488
不想把屏幕共享交给会议软件?这个开源项目让朋友用浏览器看
一起看电影、给爸妈远程看一眼报销单、临时把窗口甩给同事——这几件事,现在多半要开一个会议软件。
建会、等人进房、点共享屏幕。名字叫共享,视频流先去了别人的机房,再分发给房间里的人。远程桌面更狠:对方拿到的不只是一块画面,还有操作权。
你真正要的,往往只是:我选一块屏,把链接发出去,对方用浏览器看着。
有个 MIT 协议的开源项目专门干这件事:Piik,仓库在 GitHub:TNTcraftHIM/Piik。官网 piik.tv,在线版 demo.piik.tv。
口号写得很直:Share the good stuff. 私密屏幕共享,邀请最多 20 位朋友观看。
译测站这次测的不是「谁家画质更真」,是这件事能不能从会议软件里拆出来——画面优先在设备之间走,观众不用装客户端。
先把口径说清楚。
我打开了在线版,切到简体中文,点到「开始分享」的选源器:浏览器、摄像头两栏都在,文案是「在系统选择器中选择屏幕、窗口或标签页」。/healthz 返回 {"status":"ok"}。
这一步自动化浏览器里信令显示「未连接服务器」,没有把屏幕真正推给第二台设备,所以下面不写延迟、不写帧率,也不装作已经完成端到端共享。Windows App 的发行包在 v1.9.2,压缩包大约 38 MB,文件名带 windows-amd64。
它想解决的,不是再开一场腾讯会议
会议软件的产品逻辑是:先把人都收进一个房间,媒体走平台的转发。
Piik 的逻辑反过来:一位房主选画面,发邀请链接;观众用电脑或手机浏览器打开就能看。文档写明——
画面优先在参与者之间传输(P2P) 自建站点才可以开媒体转发(SFU)做兜底 项目自己的在线版和 App 的「公网邀请」是纯 P2P,没有 SFU
对写代码的人,它不是又一个「发起会议」按钮。它是一条你可以自建、可以看拓扑、可以把邀请权留在自己手里的锤子。
仓库 2026 年 8 月公开,写到这篇时大约 2500 star,语言是 TypeScript,最新发行v1.9.2。数字会变,以 GitHub 为准。
三种入口,别混成一句「打开就能用」
一、在线版:免安装探路。
打开 https://demo.piik.tv,点「开始分享」,用浏览器选屏幕、窗口或标签页。手机浏览器能调摄像头时,也可以只推摄像头。预览确认后复制邀请链接。
浏览器采集需要HTTPS 或 localhost。这是浏览器的限制,不是 Piik 额外设的门槛。
官方说得很硬:在线版由项目提供,画面只走设备间直连。页面能打开,不代表视频一定能连通。校园网、公司网、对称 NAT,常见现象就是网页在、画面不来。
二、Piik App:推荐给真正要分享的那台电脑。
从 GitHub Releases 或 Gitee 镜像下 piik-app 开头的 ZIP,解压后保留目录结构。Windows 跑 piik-app.exe,启动页会在系统浏览器里打开。
App 有三种模式,用途不一样:
分享期间要保持 App 开着。官方主要测过 Windows App 和桌面浏览器;macOS / Linux App 仍缺实机覆盖,有设备的人可以提 issue。原生采集:Apple 要 macOS 13+,Linux 还要额外系统组件。
三、自建站点:信令也放在自己机器上。
Piik Server 是一个带网页的独立程序。Linux x64 / ARM64 解压后:
./piik-server本机打开 http://localhost:8787 即可试用。对外再配域名、HTTPS 反向代理、STUN。房间数据在工作目录的 SQLite 里。也可以 Docker Compose。
默认配置里,服务器只做房间管理、信令和 STUN,音视频仍在参与者之间走。要在 .env 里加 SFU_UDP_PORT=7882 才会启用转发兜底;再设 SFU_ONLY=true,所有房间都走服务器。开启 SFU 时,房主必须先关掉「隐私模式」,媒体才会允许走这条线路。
防火墙至少要放行 TCP 80/443 和 UDP 3478。STUN 域名要直接解析到这台机器,CDN 的 HTTP 代理转不了 UDP。
实测口径:出过网的是什么,没出的是什么
按官方文档和这次打开在线版看到的界面,四件事要分开说。

1. 画面默认不进会议云。P2P 成立时,视频和音频在房主和观众的设备之间传。这和腾讯会议、Zoom 那种「先进平台再分发」不是同一件事。自建且打开 SFU 之后,画面会经过你的服务器,不是 Piik 官方机房——前提是你没去用官方在线版。
2. 信令一定经过房间所在的服务器。谁进房、邀请链不链接得上,要靠这台信令服务。用 demo.piik.tv,信令在项目提供的站点上;用自建,信令在你自己的 Linux 上。WebRTC 还要 STUN 打洞,参与者的公网地址候选会经过 STUN。这不是「数据从来没出过任何网」。
3. 聊天不是端到端加密。文档原文:聊天消息经过房间所在的服务器,不提供端到端加密。每个页面只留本页最近收到的消息,刷新清空,后来的人看不到历史。需要留存时,可在聊天设置里导出最近最多 1000 条到本地文本。弹幕默认关,只影响自己的观看。
把「私密房间」听成「服务器看不见任何字」,会翻车。私密指的是:不是公开直播平台、有邀请和可选密码、画面优先直连。不是 Signal。
4. 在线版连通,不等于你办公室里也能通。官方反复写:网页能打开,不代表视频一定能连通。纯 P2P 需要可用的 UDP 路径。公司网、校园网先用手机热点对照;要稳定给外人看,考虑自建并开 SFU。UDP 被整段墙掉时,开 SFU 也救不回来。
它不会替你做的事
1. 它不是远程桌面。观众看到的是画面,没有键鼠控制。要对方帮你点按钮,去 ToDesk / RustDesk 那条线。
2. 它不是 20 人以上的公开直播。一位房主、最多 20 位观众。再多人,带宽和 NAT 都不是这个工具的设计目标。
3. 它不负责片源版权。「一起看电影」是官方示例场景。能不能播那部片,是你和版权方的事,不是 MIT 仓库的事。译测站不把功能介绍翻译成使用许可。
4. 它不能保证游戏采集一次就稳。文档单独写了游戏黑屏、进游戏后停止分享、Windows H264 / 显卡、HDR 发白。先换普通窗口探路,再跟游戏全屏较劲。Windows 分享时出现黄框,是系统采集提示,不是 Piik 画上去的水印。
谁值得装,谁先不用碰
值得现在试的人:
临时给家人或同事看一块屏,不想先建一场会议 观众在手机上,只愿意点链接、不愿意装客户端 能接受先 P2P,不通再换热点或自建 想把房间数据放在自己的 SQLite 里,而不是会议厂商后台
可以先观望的人:
要的是「点一下,任何网络都能出画」 聊天也必须端到端加密 要 50 人同时看,或公开转播 机器编不了、也没有一台 Linux 能跑 piik-server,却把「自建」当成唯一可接受的路径——那先用在线版探路,别一上来就买服务器
我的判断
屏幕共享的隐私问题,比「延迟差 40 毫秒」更先发生。点共享的那一刻,如果媒体走的是会议云,画面已经进了别人的机房。
Piik 把这件事收成:选来源、发邀请、浏览器看。默认 P2P,自建才能加 SFU。观众侧的安装成本几乎是零。
它能让画面不一定经过会议厂商。它不能让聊天对服务器不可见,也不能在所有 NAT 后面假装直连永远成功。对程序员,这就够当成锤子;当「加密直播间」用,会翻车。
仓库:https://github.com/TNTcraftHIM/Piik
Gitee 镜像:https://gitee.com/TNTcraftHIM/Piik
在线版:https://demo.piik.tv
文档:https://piik.tv/docs/zh/getting-started.html
许可:自有代码 MIT,依赖保留各自许可
这次打开在线版确认了中文界面和选源器;没有完成双端出画。
你要是已经在用会议软件共享屏幕,可以说说卡在「不想装客户端」,还是卡在「画面不想进云」。