## Problem and outcome / 问题与结果 Sharing could stall at Browser encoder handoff or retain a pause after a video binding was replaced. Source/audio changes could also overlap offer/answer negotiation, while Native recovery could request redundant keyframes. This phase repairs those existing owners, drains capture output during bounded shutdown, and normalizes configured Site origins consistently with Browser serialization. ## Release notes ### 中文 这是一次稳定性更新,重点改善分享中的画面连续性,以及暂停、换源和恢复播放。 - 修复浏览器编码复用中的重复帧率限制和交接等待,减少由这些问题造成的卡顿。 - 修复换源和音频变更时的协商重叠,并防止已关闭连接的异步操作干扰恢复。 - 修复房主暂停期间重连后无法恢复播放,以及编码复用回退后仍停在暂停状态的问题;正常取消播放不再被当作媒体故障。 - 减少原生采集的重复关键帧请求,并修复停止采集时输出未排空导致的退出等待问题。 - 修复部分国际化域名和 IPv6 站点地址的识别,并改善窄屏下分享设置项的文字排版。 升级 Piik App 或自部署 Server 后刷新页面即可,无需修改配置。部分设备和网络环境下报告的开播失败、偶发断流仍需现场日志确认,本次更新不代表所有此类反馈均已解决。 ### English This stability update improves picture continuity and recovery when pausing, changing sources, or resuming playback. - Fix duplicate frame-rate limiting and unnecessary handoff waits in Browser encoding reuse, reducing stalls caused by these issues. - Serialize negotiation across source and audio changes, and prevent asynchronous work on closed connections from interfering with recovery. - Fix playback remaining paused after reconnecting while the Host is paused, or after falling back from shared encoding. Normal playback cancellation is no longer treated as a media failure. - Avoid redundant Native capture keyframe requests and drain pending capture output during bounded shutdown. - Fix recognition of some internationalized domain names and IPv6 Site addresses, and improve sharing-setting labels on narrow screens. Update Piik App or your self-hosted Server, then refresh the page. No configuration changes are required. Some device- and network-specific reports of sharing startup failure or intermittent stream loss still need matching diagnostics; this update does not claim to resolve every reported case. ## Verification / 验证 - `npm run check`: 76 test files / 1,152 tests, TypeScript and production Web build passed. - Real Chrome VP8/H264 checks with two viewers passed live/paused profile changes, quiet-source recovery, source replacement and ordinary-sender fallback after producer failure. - New pause-owner regressions fail against the previous implementation; actual Viewer effects preserve same-binding local pause and resume replacement bindings. - Independent cumulative Browser and Native/config review found no confirmed release blocker. - `npm run check:go`: formatting, Go tests/vet, Windows/Linux builds and Windows native capture compile/probes passed. Darwin packaging and Go race detection run on the native CI runners. - Windows App H264 and VP8 Host gates passed decoded playback, live/paused quality changes, quiet/background-source recovery, source replacement, failure cleanup and subsequent sharing; experiment-owned processes, ports and profiles were cleaned up. - Documentation, repository hygiene and release-note extraction passed. ## Impact / 影响 Patch release v1.6.7. Browser/server v23, Native control v9, capture v7 and SQLite schema 2 remain unchanged. Existing WebRTC adaptation and route policy remain unchanged; no quality floor is introduced. Interaction and Windows x86 prototypes are excluded. Managed Server restart interrupts active media and preserves room authority. Physical macOS/Linux capture, broad public-network endurance and unmatched reporter environments remain outside local acceptance.
Piik
Share the good stuff.
Private screen sharing for you and up to 20 friends.
Website · Download · Gitee mirror · Use online · Documentation
English · 简体中文
Piik is a free, open-source screen sharing tool for games, movie nights, drawings and photos. Choose what to share and send an invitation. Your friends watch in their browsers.
Features · Get started · Self-hosting · Contributing
Features
- Watch without installing. Friends join by invitation in a desktop or mobile browser.
- Share from Piik App or an existing Piik site. Choose a screen, window, browser tab or camera; available sources and audio depend on the platform.
- Direct connections first. Media travels between participants where possible (P2P). A self-hosted server can provide automatic media forwarding (SFU) as a fallback.
- Rooms you control. Invitations, room codes and optional room passwords, for one host and up to 20 viewers.
- Flexible viewing. Light and dark themes, playback controls, picture-in-picture and a connection topology view.
- One program to host a site. Web UI, room management and optional media forwarding are packaged together.
Interface preview · Sample room with a generated game scene
Get started
To watch: open the invitation your friend sends you. Select Play if the picture does not start automatically.
To share: download Piik App to get started. To share without installing, you can also create a room in the online version.
| Start here | What you need to do |
|---|---|
| Use Piik online | Share from a desktop browser, or choose Camera on a phone with browser camera support. |
| Download Piik App | Extract and open the App, choose Public invite, then Open Piik to create a temporary room. |
| Host your own site | Advanced: deploy Piik Server on a Linux x64 server with your own domain, then connect through Piik App or a browser. |
- Select Start sharing, then choose the picture and audio to share.
- Select Copy invite link and send it to your friends. Keep the sharing tab open.
Turn on the Microphone for commentary; its settings let you choose the input device and adjust your voice volume.
Piik follows your system language: Chinese or English, with English as the fallback. Use 中 / EN / ✦ in the header to switch language or try the visual mode. The App offers a local room, a temporary public link, or a connection to your own site. Keep the App running while sharing through it.
Download a ZIP beginning with piik-app. The filename also identifies the platform:
| Filename contains | Platform |
|---|---|
windows-amd64 |
Windows x64 |
darwin-arm64 |
Apple silicon; native capture requires macOS 13+ |
linux-amd64 |
Linux x64 |
Full setup guide → · Open online →
Browser capture requires HTTPS or localhost. Windows App and desktop browser
sharing are the primary tested paths. The macOS and Linux apps have not yet been
tested on physical devices; test results and feedback are welcome.
P2P-only modes, including the App's temporary public
link and the online version, may not connect on restrictive networks.
Self-hosting
Piik Server is a standalone binary with the web interface built in.
Download the Linux x64 Server package (piik-<revision>-runtime.tar.gz),
extract it, and run:
./piik-server
Open http://localhost:8787 to try it locally. For a public site, configure your
domain, HTTPS reverse proxy and STUN address. Room data is stored in SQLite.
For containers, use the Docker Compose setup.
Deploy your own site → · Configuration · Run from source
Contributing
Bug reports, translations, documentation improvements and pull requests are welcome. See ways to contribute or help translate Piik. Use the repository layout to find your way around.
License
Piik-owned code is MIT licensed. Dependencies retain their own licenses and notices.