Skip to content

Commit 20463c3

Browse files
committed
release: v0.9.8
1 parent 42f8585 commit 20463c3

99 files changed

Lines changed: 17874 additions & 2945 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ jobs:
166166
run: |
167167
set -euo pipefail
168168
if [[ "$GITHUB_REF" == refs/tags/* ]]; then VER="${GITHUB_REF_NAME#v}"; else VER="0.0.0-dev"; fi
169-
ARCH="${{ matrix.arch }}" VERSION="$VER" MPV_DIR="$PWD/mpvstage" ./macos/build-app.sh
169+
ARCH="${{ matrix.arch }}" VERSION="$VER" MPV_DIR="$PWD/mpvstage" REQUIRE_BUNDLED_MPV=1 ./macos/build-app.sh
170170
171171
# Import the Developer ID cert into a keychain that persists for the whole
172172
# job, so both the app-signing and DMG-signing steps below can use it.

LICENSE

Lines changed: 86 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,86 @@
1-
MIT License
2-
3-
Copyright (c) 2026 Hanqing Yang
4-
5-
Permission is hereby granted, free of charge, to any person obtaining a copy
6-
of this software and associated documentation files (the "Software"), to deal
7-
in the Software without restriction, including without limitation the rights
8-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9-
copies of the Software, and to permit persons to whom the Software is
10-
furnished to do so, subject to the following conditions:
11-
12-
The above copyright notice and this permission notice shall be included in all
13-
copies or substantial portions of the Software.
14-
15-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21-
SOFTWARE.
22-
23-
This license covers TinyPlay's own source code (the Go backend and web
24-
frontend). Bundled third-party components, including mpv, are distributed
25-
under their own licenses — see THIRD_PARTY_NOTICES.md.
1+
GNU GENERAL PUBLIC LICENSE
2+
Version 3, 29 June 2007
3+
4+
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
5+
Everyone is permitted to copy and distribute verbatim copies
6+
of this license document, but changing it is not allowed.
7+
8+
Preamble
9+
10+
The GNU General Public License is a free, copyleft license for
11+
software and other kinds of works.
12+
13+
The licenses for most software and other practical works are designed
14+
to take away your freedom to share and change the works. By contrast,
15+
the GNU General Public License is intended to guarantee your freedom to
16+
share and change all versions of a program--to make sure it remains free
17+
software for all its users. We, the Free Software Foundation, use the
18+
GNU General Public License for most of our software; it applies also to
19+
any other work released this way by its authors. You can apply it to
20+
your programs, too.
21+
22+
When we speak of free software, we are referring to freedom, not
23+
price. Our General Public Licenses are designed to make sure that you
24+
have the freedom to distribute copies of free software (and charge for
25+
them if you wish), that you receive source code or can get it if you
26+
want it, that you can change the software or use pieces of it in new
27+
free programs, and that you know you can do these things.
28+
29+
To protect your rights, we need to prevent others from denying you
30+
these rights or asking you to surrender the rights. Therefore, you have
31+
certain responsibilities if you distribute copies of the software, or if
32+
you modify it: responsibilities to respect the freedom of others.
33+
34+
For example, if you distribute copies of such a program, whether
35+
gratis or for a fee, you must pass on to the recipients the same
36+
freedoms that you received. You must make sure that they, too, receive
37+
or can get the source code. And you must show them these terms so they
38+
know their rights.
39+
40+
Developers that use the GNU GPL protect your rights with two steps:
41+
(1) assert copyright on the software, and (2) offer you this License
42+
giving you legal permission to copy, distribute and/or modify it.
43+
44+
For the developers' and authors' protection, the GPL clearly explains
45+
that there is no warranty for this free software. For both users' and
46+
authors' sake, the GPL requires that modified versions be marked as
47+
changed, so that their problems will not be attributed erroneously to
48+
authors of previous versions.
49+
50+
Some devices are designed to deny users access to install or run
51+
modified versions of the software inside them, although the manufacturer
52+
can do so. This is fundamentally incompatible with the aim of
53+
protecting users' freedom to change the software. The systematic
54+
pattern of such abuse occurs in the area of products for individuals to
55+
use, which is precisely where it is most unacceptable. Therefore, we
56+
have designed this version of the GPL to prohibit the practice for those
57+
products. If such problems arise substantially in other domains, we
58+
stand ready to extend this provision to those domains in future versions
59+
of the GPL, as needed to protect the freedom of users.
60+
61+
Finally, every program is threatened constantly by software patents.
62+
States should not allow patents to restrict development and use of
63+
software on general-purpose computers, but in those that do, we wish to
64+
avoid the special danger that patents applied to a free program could
65+
make it effectively proprietary. To prevent this, the GPL assures that
66+
patents cannot be used to render the program non-free.
67+
68+
The precise terms and conditions for copying, distribution and
69+
modification follow.
70+
71+
For the full license text, see: https://www.gnu.org/licenses/gpl-3.0.txt
72+
73+
---
74+
75+
This program is free software: you can redistribute it and/or modify
76+
it under the terms of the GNU General Public License as published by
77+
the Free Software Foundation, either version 3 of the License, or
78+
(at your option) any later version.
79+
80+
This program is distributed in the hope that it will be useful,
81+
but WITHOUT ANY WARRANTY; without even the implied warranty of
82+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
83+
GNU General Public License for more details.
84+
85+
You should have received a copy of the GNU General Public License
86+
along with this program. If not, see <https://www.gnu.org/licenses/>.

README.md

Lines changed: 37 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,59 @@
11
# TinyPlay
22

3-
> Turn the mini PC you already run into a living-room player, controlled from your phone.
3+
> Turn an idle Windows mini PC, laptop, or Mac mini into a living-room media player controlled from your phone.
44
55
[中文说明](README.zh-CN.md) · **[View the TinyPlay website](https://yanghanqing.github.io/tinyplay/)**
66

7-
TinyPlay is built for the N100, NUC, mini PC, or Mac that is
8-
already running downloads, Docker containers, or home services. Connect its
9-
often-unused HDMI port to the TV and TinyPlay gives it a second job: mpv-based
10-
media playback with a browser remote on your phone.
7+
TinyPlay is designed for idle Windows mini PCs, laptops, and Mac minis. Connect one to
8+
your television and it becomes a living-room media player driven by mpv, with your phone
9+
serving as the remote control.
1110

12-
The desktop app connects to Emby, Jellyfin, or Plex—or browses SMB/WebDAV
13-
shares directly—then drives the bundled mpv player and serves a phone-friendly
14-
library and remote over your local network. No phone app is required.
11+
These machines vastly outperform set-top boxes, yet a keyboard and mouse feel awkward
12+
in front of a TV and a traditional remote is no good at typing searches or scrubbing
13+
through a timeline.
1514

16-
TinyPlay also includes a DLNA receiver, enabled by default. A compatible app
17-
on the same trusted LAN can cast its stream directly to TinyPlay; the phone
18-
remote remains available for play, pause, and seek.
15+
TinyPlay lets each device do what it does best: **let hardware handle playback, let the
16+
phone handle interaction.**
17+
18+
Common hardware already has more than enough video-decode capability:
19+
20+
- Intel 8th-gen iGPUs (UHD 630) hardware-decode 4K HEVC and VP9 10-bit; AV1 support
21+
arrives on 11th-gen.
22+
- Apple M-series chips hardware-decode 4K HEVC 10-bit across the board, with AV1 on M3.
23+
- A dedicated playback engine generally handles HDR and Dolby Vision more reliably than
24+
a TV's built-in player, though actual results depend on the source material, system
25+
settings, and display device.
26+
27+
## Features
28+
29+
- **Phone browser remote** — scan the QR code and you're ready; no app to install
30+
- **Media servers** — connect to Emby, Jellyfin, or Plex for poster walls, episode browsing, search, and resume playback
31+
- **File browsing** — navigate SMB, WebDAV shares, or local directories and play files directly
32+
- **Live TV** — integrate IPTV channel lists with favorites and recent-view history
33+
- **DLNA casting** — cast streams from compatible apps on your local network; the phone remote remains available for playback control
34+
- **Multi-server** — mount multiple media sources simultaneously and switch between them at will
35+
- **Cross-platform** — available for Windows and macOS, including Apple Silicon and Intel
36+
- **mpv under the hood** — MKV, HDR, Dolby Vision, TrueHD, PGS subtitles and more
1937

2038
## Download
2139

2240
Download the latest build from [GitHub Releases](../../releases/latest).
2341

24-
- **Windows x86-64:** unzip the package, then run `TinyPlay.exe`. Windows may
25-
show a SmartScreen warning because the current Windows build is unsigned.
26-
- **macOS:** Apple Silicon (`TinyPlay-macos-arm64.dmg`) and Intel
42+
- **Windows x86-64** unzip the package, then run `TinyPlay.exe`. Windows may
43+
show a SmartScreen warning because the current build is unsigned.
44+
- **macOS** Apple Silicon (`TinyPlay-macos-arm64.dmg`) and Intel
2745
(`TinyPlay-macos-intel.dmg`) are both available. Open the DMG and drag
2846
TinyPlay to Applications.
2947

30-
Your phone and computer must be on the same trusted local network. TinyPlay's
31-
remote page has no separate authentication; do not expose its port to the
32-
public internet.
48+
The phone and the computer running TinyPlay must be on the same local network.
49+
50+
## Getting Started
3351

34-
For screenshots, features, setup, and the living-room player buying guide,
52+
For screenshots, feature walkthroughs, and the living-room player buying guide,
3553
visit the **[TinyPlay introduction page](https://yanghanqing.github.io/tinyplay/)**.
3654

3755
## License
3856

39-
TinyPlay's own source code is released under the [MIT License](LICENSE).
57+
TinyPlay is released under the [GNU General Public License v3.0](LICENSE).
4058
Bundled third-party components are distributed under their own licenses; see
4159
[THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).

README.zh-CN.md

Lines changed: 35 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,52 @@
11
# TinyPlay
22

3-
> 把你已经在用的小主机变成客厅播放器,用手机轻松遥控。
3+
> 把闲置的 Windows 小主机、笔记本或 Mac mini 变成客厅影音播放器,用手机轻松遥控。
44
55
[English](README.md) · **[查看 TinyPlay 静态介绍页](https://yanghanqing.github.io/tinyplay/)**
66

7-
TinyPlay 是为家里那台已经在跑下载任务、Docker 容器或家庭服务的 N100、NUC、
8-
迷你主机或 Mac 准备的。把经常闲着的 HDMI 接口连到电视,它就能
9-
再兼任一台由手机遥控、以 mpv 为播放内核的客厅播放器。
7+
TinyPlay 专为闲置的 Windows 小主机、笔记本和 Mac mini 设计。将电脑连接电视,即可变成一台由手机遥控、以 mpv 为播放内核的客厅影音播放器。
108

11-
桌面端支持连接 Emby、Jellyfin、Plex,也可以直接浏览 SMB/WebDAV 共享;它会驱动
12-
随应用捆绑的 mpv,并在家庭局域网内提供适合手机使用的媒体库和遥控页面。手机
13-
无需安装 App。
9+
这类硬件的性能通常远超电视盒子,但用键盘鼠标操作电视不够自然,传统遥控器也不适合文字搜索和精确拖动进度条。
1410

15-
还内置默认开启的 DLNA 接收器:同一可信局域网内支持 DLNA 的应用可直接投屏到
16-
TinyPlay,手机遥控器仍可暂停、继续播放和跳转。
11+
TinyPlay 的思路是:**让硬件负责播放,让手机负责交互。**
12+
13+
对国内用户而言,桌面系统还有两个实际优势:
14+
15+
* 部分流媒体平台可直接通过浏览器观看,无需额外购买价格更高的电视端会员。
16+
* 主流网盘的桌面客户端在下载和播放时,限速策略通常比电视端宽松。
17+
18+
常见硬件已经具备足够的视频解码能力:
19+
20+
* 英特尔(Intel)第 8 代核显即可硬解常见的 4K HEVC、VP9 10-bit 视频,第 11 代起支持 AV1。
21+
* Apple M 系列芯片均支持 4K HEVC 10-bit 硬解,M3 起支持 AV1。
22+
* 相比电视内置播放器,专用播放器在 HDR、杜比视界(Dolby Vision)和动态范围匹配方面通常更省心,但实际效果仍取决于片源、系统设置和显示设备。
23+
24+
## 功能亮点
25+
26+
* **手机浏览器遥控** — 扫码即用,无需安装 App
27+
* **媒体服务器** — 连接 Emby、Jellyfin 或 Plex,支持海报墙、选集、搜索和续播
28+
* **文件浏览** — 浏览 SMB、WebDAV 共享文件夹或本地目录,找到文件即可播放
29+
* **直播源** — 接入 IPTV 频道列表,支持收藏和最近观看
30+
* **DLNA 投屏** — 局域网内的其他应用可直接投屏,手机遥控器仍可暂停、继续和跳转
31+
* **多服务器** — 同时挂载多个媒体源,随时切换
32+
* **跨平台** — 支持 Windows 和 macOS,包括 Apple Silicon 与 Intel
33+
* **mpv 内核** — 支持 MKV、HDR、杜比视界(Dolby Vision)、TrueHD 和 PGS 字幕等常见影音格式
1734

1835
## 下载
1936

2037
前往 [GitHub Releases](../../releases/latest) 下载最新版本。
2138

22-
- **Windows x86-64:**解压完整压缩包后运行 `TinyPlay.exe`。Windows 版本目前
23-
尚未签名,系统可能显示 SmartScreen 警告。
24-
- **macOS:**同时提供 Apple Silicon(`TinyPlay-macos-arm64.dmg`)和 Intel
25-
`TinyPlay-macos-intel.dmg`)两个版本。打开 DMG,把 TinyPlay 拖入“应用程序”。
39+
* **Windows x86-64** — 解压完整压缩包后运行 `TinyPlay.exe`。Windows 版本目前尚未签名,系统可能显示 SmartScreen 警告。
40+
* **macOS** — 同时提供 Apple Silicon(`TinyPlay-macos-arm64.dmg`)和 Intel(`TinyPlay-macos-intel.dmg`)版本。打开 DMG,将 TinyPlay 拖入“应用程序”文件夹。
41+
42+
手机与运行 TinyPlay 的电脑需要连接到同一个局域网。
43+
44+
## 使用指南
2645

27-
手机和电脑需要连接同一个可信局域网。TinyPlay 的遥控页面没有独立身份验证,
28-
请勿将其端口暴露到公网。
46+
产品截图、功能说明、使用流程和完整的客厅播放器选购指南,请查看:
2947

30-
产品截图、功能说明、使用流程和完整的客厅播放器选购指南,请查看
31-
**[TinyPlay 静态介绍页](https://yanghanqing.github.io/tinyplay/)**
48+
**[TinyPlay 静态介绍页](https://yanghanqing.github.io/tinyplay/)**
3249

3350
## 开源协议
3451

35-
TinyPlay 自身源码采用 [MIT 协议](LICENSE) 开源。捆绑的第三方组件遵循各自的
36-
许可证,详见 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)
52+
TinyPlay 基于 [GPL-3.0 协议](LICENSE) 开源。捆绑的第三方组件遵循各自的许可证,详见 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)

THIRD_PARTY_NOTICES.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,18 @@ and source-availability obligations for every bundled component.
1212
- FFmpeg and codec libraries pulled into the selected mpv build — licensing
1313
depends on the exact build configuration.
1414

15+
## Bundled desktop imagery
16+
17+
- **Carina Nebula “Cosmic Cliffs”** (NASA ID: `carina_nebula`) — James Webb Space
18+
Telescope NIRCam image of the “Cosmic Cliffs” in the Carina Nebula.
19+
- Credit: **NASA, ESA, CSA, STScI**
20+
- Source record: https://images.nasa.gov/details/carina_nebula
21+
- Bundled asset: `desktop-go/internal/server/assets/carina_nebula.jpg`
22+
(served at `/desktop/background.jpg` for the desktop intro/standby window)
23+
- NASA image and media guidance: https://www.nasa.gov/nasa-brand-center/images-and-media/
24+
- This distribution does **not** include a NASA logo and does **not** imply
25+
NASA endorsement of TinyPlay.
26+
1527
## Go source dependencies
1628

1729
- fyne.io/systray

0 commit comments

Comments
 (0)