# MarcoMovie (Pilipala9919/MarcoMovie)

> A free open-source video player app for Android TV, phones and tablets, with Windows, macOS and iOS builds. It ships no films or series. You import your own legally obtained configs, and the app handles browsing, search and playback.

- GitHub: https://github.com/Pilipala9919/MarcoMovie
- GitHub.Locker page: https://github.locker/Pilipala9919/MarcoMovie
- Stars: 497
- Language: C
- License: GPL-3.0
- Last push: 2026-11-07

## Questions and answers

Written by GitHub.Locker from the README and the repository; check the README below for details.

**Is it a media server or a client app?**

It is a client app. The UI, config management, playback control and local search run on your device, and the project does not operate a content service.

**How do I get it running?**

Download the APK from the mirror page or GitHub Releases and check the bundled SHA-256 file. Use the -preview.apk build on TV or boxes and the -mobile.apk build on phones and tablets. Then import your config: on a phone paste a link or JSON, on a TV scan a QR code from a phone on the same local network.

**Do I need an account or developer tools first?**

No account or developer tools are needed to use it: an Android device on Android 6.0 or newer and a config you obtained yourself. Building from source needs Windows, Python 3, JDK 17 and the Android SDK.

**Does every config or live source work?**

No. Compatibility is not guaranteed for every config, cloud-drive login, live list, codec or third-party service. Magnet support is experimental and needs Android 8.0+, and the DRM authorization flow is not yet verified end to end.

**Does it run on iPhone and Windows too?**

Android TV, phone and tablet are the main native targets. Windows (.exe), macOS (.app) and iOS/iPadOS (.ipa) builds come from the flutter/ cross-platform project, and the README says the stated minimum OS versions are not tested on every device.

**How is the phone interface different from the TV one?**

Phones and tablets get a separate touch UI: a four-tab bottom Dock in portrait, a right-side Dock in landscape, native keyboard search, one-tap clipboard import, and fullscreen gesture playback.

**How do I control playback with gestures on a phone?**

Double-tap to pause or resume, swipe left or right to seek, swipe up or down on the left half to adjust brightness and on the right half to adjust volume, and long-press for 2x speed.

**Does it support subtitles and danmaku?**

Yes: external SRT, VTT, ASS and TTML subtitles can be loaded, and compatible danmaku data can be shown, but no online danmaku source is provided.

**Can I back up my settings and move them between devices?**

Yes: configs can be backed up and restored, and marco-movie-backup files are compatible between the Android app and the Windows, macOS and iOS builds.


---

## README (checked against GitHub 2026-11-08)

Source: https://github.com/Pilipala9919/MarcoMovie/blob/main/README.md

<div align="center">
  <img src="docs/images/tv-banner-960x540.png" width="480" alt="Marco Movie — 银色场记板与播放标志" />
  <h1>Marco Movie</h1>
  <p>支持 Android 电视、手机、平板及 Windows / macOS / iOS 多端自适应的播放器。</p>
  <p>作者：<a href="https://github.com/Pilipala9919">Pilipala</a> · 版本：0.5.0 · Android 电视版 / Android 64 位手机版 / Android 4.0+ 轻量版 · 桌面与移动端跨平台</p>
  <p><a href="https://marcotv.wlj9919.top/movie/">镜像下载与产品展示</a> · <a href="https://github.com/Pilipala9919/MarcoMovie/releases">GitHub 下载</a> · <a href="docs/USER_GUIDE.md">使用指南</a> · <a href="docs/BUILD.md">构建说明</a> · <a href="docs/PRIVACY.md">隐私说明</a></p>
</div>

> **本产品仅为播放与内容管理工具，不内置、不提供、不托管、不售卖任何影视资源，也不提供影视资源配置地址、账号或会员权益。内容及配置需由用户自行合法获取，并确保拥有相应访问和使用权。**

## 产品介绍

Marco Movie 希望让大屏电视、随身手机、平板电脑与桌面端上的浏览、搜索和播放同样自然顺手：在电视上以大幅竖版海报与清晰焦点反馈配合遥控器操作；在手机与平板上采用完全独立的触控界面（竖屏底部四栏 Dock、横屏右侧 Dock、原生键盘搜索、剪贴板一键导入、全屏手势播放）；并提供 `flutter/` 跨平台工程覆盖 Windows、macOS、iPhone 与 iPad。应用没有预装片库；第一次打开时，用户需要自行导入有权使用的配置。

这是一个原生 Android 与多平台客户端项目。界面、配置管理、播放控制和本地搜索匹配在设备上运行；本项目不运营影视内容服务。功能和设备兼容性仍在持续完善。

## 能做什么

| 功能 | 当前能力 |
| --- | --- |
| 电视端导航 | 首页三击上键回顶、菜单键打开片源选择；右侧紧凑悬浮图标 Dock；聚焦显示小圆角气泡名称，按左返回原内容；二级页面自动隐藏 |
| 手机 / 平板专属 UI | 自动识别触屏手机与平板，进入完全独立的移动端界面（`MobileShell` / `MobileDetailScreen`）：保留系统状态栏、去除遥控器白色焦点框；竖屏底部四栏 Dock（发现、直播、片库、设置），横屏切换右侧 Dock，搜索从发现页进入 |
| 大屏与移动端首页 | 电视端提供继续观看横卡、完整分类名称与默认 5–8 列海报墙；手机端提供顶部片源胶囊切换、单行横向滑动分类条、紧凑继续观看条与 3 列触控海报网格（平板横屏 5 列） |
| 内容详情与选集 | 电视端左固定大海报、右独立滚动；手机端采用左海报右信息紧凑卡片、可折叠简介、横向滑动线路胶囊、每 50 集自动分组标签、正序/倒序切换与 3 列大拇指触控选集网格 |
| 我的收藏与历史 | 详情页一键收藏；手机端“我的”标签页整合观看历史与我的收藏，支持单条删除与一键清空；数据保存于本机 |
| 全局搜索 | 在已导入、可搜索的配置项之间并发检索；电视端使用内置遥控拼音键盘（支持中文、全拼、首拼）；手机/平板端直接调起系统输入法软键盘，支持历史搜索词气泡与长按粘贴 |
| 播放控制与触屏手势 | 电视端确认键暂停/继续、上下键呼出工具条、小屏返回续播；手机/平板端选集后自动横屏全屏播放，支持**双击暂停/继续、左右滑动快进快退、左半屏上下滑调亮度、右半屏上下滑调音量、长按 2 倍速快进**，退出播放自动恢复竖屏 |
| 播放内核 | Media3 与 Android 系统播放器；内置 FFmpeg 音频、AV1 / VP9 视频软解码扩展（[范围与限制](docs/DECODERS.md)） |
| 字幕与弹幕 | 外挂 SRT / VTT / ASS / TTML 字幕；可加载兼容的弹幕数据，不提供在线弹幕资源 |
| 直播列表 | 读取用户提供的兼容列表与分组；电视端工具条隐藏时上下键换台、支持数字键选台；手机端提供左分组、右频道双栏触控列表，点选即播 |
| 配置导入管理 | 电视端提供同一局域网手机扫码推送、遥控器输入与本地文件；**手机/平板端直接提供原生输入框、剪贴板一键粘贴导入与本地 JSON 文件选择，无需扫码**；支持配置备份与还原 |
| 跨平台客户端 | `flutter/` 跨平台工程支持 Windows（x64 `.exe`）、macOS（`.app`）与 iOS / iPadOS（`.ipa`），支持与 Android 端互通 `marco-movie-backup` 备份文件 |
| 软件更新 | 设置内检查、下载与确认安装；镜像优先、GitHub 备用，支持断点续传，安装前核对文件与签名 |
| 个性化与账号 | 海报配色柔光、自定义壁纸、背景压暗、减少动态效果、100%/110%/120% 界面缩放、音效和色彩档位；扩展支持时提供网盘登录与配置入口，不内置账号 |

全局搜索的范围是**用户已导入的配置**，不是互联网全网搜索。拼音匹配结合本地字词典和已浏览/搜索过的标题，首拼存在歧义时可改用完整中文。功能存在不代表任意配置或服务都兼容。

## 安装与开始使用

1. 在 [镜像下载页](https://marcotv.wlj9919.top/movie/) 或 [Releases](https://github.com/Pilipala9919/MarcoMovie/releases) 下载 APK 安装包，并核对随附的 SHA-256 文件。
2. 根据设备选择独立安装包：电视/盒子用 `-preview.apk`（ARM 32 位），手机/平板用 `-mobile.apk`（包含 ARM 32/64 位）；旧 Android 4.0+ 设备选择独立 Lite 包。Windows / macOS / iOS 构建产物见对应发布附件；最低系统声明不代表已通过该设备的实测。
3. 打开应用导入配置：
   - **手机 / 平板端**：直接在首页欢迎卡片输入网址，或复制配置链接/JSON 后点击「📋 一键读取手机剪贴板并导入」，也可选择手机本地 JSON 文件，无需扫码。
   - **电视端**：选择“导入我的配置”，用同一局域网的手机扫码粘贴自行合法获取的配置地址；也可选择遥控输入或本地文件。本项目不提供获取影视资源的方法或地址。
4. 原生 Android 标准版的扩展执行默认开启，可在设置中关闭；仅导入信任的配置。其他平台不等于具备同一插件运行环境。电视端用方向键和确认键操作；手机与平板端使用底部导航栏、系统键盘与全屏播放触控手势操作。
5. 在“设置”中调整解码、倍速、比例和备份选项。需要网盘授权时，应由本人在服务提供方界面完成登录。

同一应用签名的安装包一般可以覆盖升级；自行编译会生成自己的开发签名，不能保证覆盖官方项目发布包。卸载会删除应用本地数据，请先妥善保存必要配置。详细操作见[使用指南](docs/USER_GUIDE.md)。

## 设备与兼容性说明

- 最低 Android 6.0（API 23）；当前主要验证环境为 Android 9、ARM 32 位电视。最低版本声明不等于每台设备均已实测。
- 兼容标准 JSON 内容接口及部分可选扩展形式，原生 Android 标准版扩展默认开启，可在设置中关闭。没有承诺所有配置、网盘、直播列表、编码或第三方服务都可使用。
- 磁力组件属于实验能力，要求 Android 8.0+；已完成本地协议测试，尚不作为所有电视上的稳定视频播放能力宣传。
- DRM 仅传递合法授权相关参数，不绕过授权；尚未完成授权样本的端到端验收。
- 持久媒体缓存、渲染视图切换等仍未完成。部分设置依赖系统文件选择器或扩展实现。

跨端差异和本轮修复状态见[兼容与验证边界](docs/COMPATIBILITY.md)。更多状态见[功能与验证范围](docs/STATUS.md)。遇到问题可提交 [Issue](https://github.com/Pilipala9919/MarcoMovie/issues)，请勿附带账号、Cookie、私有配置地址、二维码或无权分享的内容。

## 项目结构与开发

```text
android/src/main/       原生 Android 应用代码（手机 / 平板与电视独立分包）、输入词典与第三方许可
android/tests/          本地模拟数据测试，不包含真实影视配置
android/*dependencies.json  固定版本依赖及校验摘要
flutter/                跨平台客户端工程（覆盖 Windows / macOS / iPhone / iPad，与安卓端互通备份）
scripts/               构建、依赖准备、公开内容检查
docs/                  产品、使用、构建、隐私与验证说明
```

当前构建流程基于 Windows、Python 3、JDK 17 与 Android SDK 工具。构建时从依赖发布方下载清单中固定版本的依赖并校验摘要。详见[构建说明](docs/BUILD.md)；不会下载影视配置或内容。

## 作者与第三方致谢

**Marco Movie · Pilipala**  
GitHub：[@Pilipala9919](https://github.com/Pilipala9919)  
Copyright © 2026 Pilipala

感谢 AndroidX Media3、OkHttp、Okio、Gson、QuickJS 及其 Java 包装库、ZXing、jsoup、CryptoJS、JSONPath、libtorrent / jlibtorrent、Rime 与 Unicode 等项目。它们保留各自作者署名和许可，详见 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)。本项目的作者署名不替代第三方版权信息。

原创代码、文档和项目品牌素材按 [GNU GPL v3（GPL-3.0-only）](LICENSE) 发布，另有声明的文件除外。修改与分发时请遵守许可证并保留署名；第三方组件继续适用各自许可。详见 [NOTICE](NOTICE)。

## 工具与内容声明

本产品只是工具，不含任何影视资源。仓库及发布包不包含影视片库、站点配置、订阅地址、直播频道资源、第三方内容插件载荷、账号凭据或会员权益。使用者需要自行合法获取配置与内容，并遵守相关服务条款和适用规则。

项目不承诺第三方内容的合法性、准确性、可用性或持续性，不提供绕过付费、访问控制或数字版权保护的功能。这里的说明用于明确产品边界，不意味着可以忽略版权或其他应承担的责任。请不要在本仓库提交资源分享、侵权内容或账号交易请求。

完整说明见 [DISCLAIMER.md](DISCLAIMER.md)，数据处理见[隐私说明](docs/PRIVACY.md)。

