📽️ Available for Android Phone • Android TV • Windows1 • **Mac1 ** !
一款同时适配Android TV和Android Phone的视频播放器,同时支持云播放(阿里云盘和Webdav)和本地播放,支持刮削影视的元信息,界面简洁纯净,操作简单
预览 2
- 支持 Android TV 和 Android Phone (桌面端开发中)
- 支持阿里云盘、Webdav和本地文件播放
- 纯本地运行,无需后端服务支持 3
- 支持跳过片头/片尾
- 支持视频轨道选择
- 支持内嵌字幕和外置字幕播放4
- 支持文件下载和边下边播
- 多线程播放和下载1
- 支持网盘文件的整理
- 多账号登录
- 支持中英双语(英文翻译可能不太准确,欢迎指正)
- 支持手机端辅助TV端输入
- 浅色和深色模式
- Hls直播观看
- 支持DLNA投屏
- 软件体积小 (≈ 15 MB)
- 设备间的数据同步
- 自动更新
- 客户端串联1
服务 | 用途 |
---|---|
获取阿里云盘内的资源 | |
刮削媒体信息 |
本项目不提供任何的后端服务,用户信息皆存在本地,第三方网络服务调用如下:
- Aliyun_Open,用于阿里云盘数据的获取
- Webdav, 由使用者自行配置,数据安全性由用户自行考虑
- Themoviedb, 用于刮削影视的配体信息
由于本项目还未进行严格的测试,考虑的数据安全问题,暂不支持网盘文件的删除操作,需自行进入网盘删除
Android平台采用的是Androidx Media3播放器,附带FFmpeg的音频解码和AV1视频解码器(可自行设置),格式编码的支持情况由硬件设备和系统版本决定,详情亲参考 Media3文档,经测试:
- Redmi K40 Android 13: 主流的视频文件均能正常解码,部分音频无法解码,可使用FFmpeg正常解码
- Mi TV Android 9: 主流的视频文件均能正常解码,部分音频无法解码,可使用FFmpeg正常解码,HDR视频无法播放
- 由于开发者手边没有支持杜比视界的设备,因此未进行测试,理论上Media3是支持的
手机端至 Releases页 自行下载安装,TV端可以使用U盘或当贝市场进行安装
进入设置 → 账号管理,点击加号按钮,进入登录页面。
选择需要登录的网盘类型
阿里云盘使用aliyun_open提供的接口进行文件操作,使用refresh_token
获取access_token
鉴权
表单项 | 说明 | |
---|---|---|
1 | 刷新令牌 | 考虑到服务器的维护成本,本项目暂不考虑分发refresh_token ,需自行准备,可申请阿里云盘开发账号自行分发,或使用第三方分发的refresh_token ,比如 AList |
2 | OAuth令牌链接 | 通常分发refresh_token 的供应商会提供对应的刷新接口地址,如果由开发者账号(也就是有客户端ID和密码),可使用阿里云盘的鉴权接口https://openapi.alipan.com/oauth/access_token |
3 | 客户端ID | 仅开发者账号提供 |
4 | 客户端密码 | 仅开发者账号提供 |
填写Webdav对应的IP端口,输出账号密码,提交后完成登录。注:目前仅支持Basic编码登录
进入 设置 → 电视剧 / 电影目录设置 → 点击 + 号 → 选择账号(或添加账号,或选择本地目录) → **选择资源目录 **
资源目录应为以下结构
-
电视剧目录
- TV Series 1
- Season 1
- Episode 1
- Episode 2
- Season 2
- Episode 1
- Episode 2
- Season 1
- TV Series 2
- Episode 1
- Episode 2
- TV Series 1
-
电影目录
- Movie Folder
- Movie1
- Movie Folder
- Movie2
- Movie 3
- Movie Folder
电视剧支持对 电视剧,季,单集 设置跳过片头片尾,也可以在播放器中设置(会作用于当前季)
该功能将会使用刮削到的媒体信息用于移动和重命名网盘中的文件(不会进行删除操作),整理规则如下:
-
电视剧目录
- TV Series (2024)
- Season 1
- Episode 1
- Episode 2
- Season 2
- Episode 1
- Episode 2
- Season 1
- TV Series 2
- Episode 1
- Episode 2
- TV Series (2024)
-
电影目录
- Movie Folder
- Movie1
- Movie Folder
- Movie2
- Movie 3
- Movie Folder
目前仅支持m3u格式的hls直播源,建议使用 https://github.com/fanmingming/live 和 https://github.com/iptv-org/iptv 两个开源的直播源项目
进入直播页面,点击加号,输入直播源名称和地址即可
如遇到无法播放问题,可先尝试刷新直播源
手机端点击投屏按钮,应用会自行搜索局域网下支持DLNA投屏的设备,选择设备即可使用投屏功能5
可以通过蓝牙连接的方式,将一台设备的媒体数据同步到另一台设备上,通常用于在手机端完成登录等操作后,同步到TV端,以简化TV端的编辑流程
由于TV端使用遥控器输入链接、账号密码等信息不便,可在TV端点击辅助输入按钮,然后使用手机(需在用以局域网下) 扫描二维码进入网页,手机端编辑的文本,会推送到TV端聚焦的文本框内
Todo
多线程播放和下载可以成倍提升网络速度。此功能默认关闭,可进入 设置->播放设置->使用多线程打开文件 打开此选项。
- 网络提升倍数约等于线程数,此功能仅对网盘限速有效,对网络带宽和硬件的网络限制无效
- 若网盘不支持分片下载,该功能会自动失效
- 若网盘限制了链接的并发数,则可能会导致报错,建议减小线程数或关闭此功能。如果知道网盘限制的并发数,建议将线程数设置其1/2以内,因为播放视频时会有多个请求的切换,可能会出现链接销毁不及时而触发并发限制
- 分片大小越小,视频缓冲的越快,但分片数更多,性能消耗更大。若没有特殊需求,建议保持默认值
- 此功能会增加内存的占用,占用量小于等于 (线程数 - 1) * 分片大小
本项目使用themoviedb的API刮削媒体信息,大陆的用户可能由于DNS污染导致themoviedb无法访问,不同的地区和不同网络供应商可能情况不同。可先找到可用的IP地址,然后进入设置-> 其他设置-> DNS,添加对应的域名和IP即可。如果找不到能够PING通的IP,那就只能通过其他方式解决网络问题了,本项目不提供解决方案。
播放卡顿通常是网络卡顿造成的,而网络卡顿通常是以下几个原因
- 网络带宽不够
- 播放设备硬件过时,尤其是TV端,很多TV用的是百兆网卡,亲测小米电视在WiFi模式下,网速跑满2MB/s,有线模式可达到10MB/s
- 如使用阿里云盘,则有可能是阿里云盘限速导致6,可以尝试打开多线程功能
- 其他网络问题
本项目Android端使用的是media3播放器,外加FFmpeg和AV1的拓展解码器,绝大多数视频都可流畅播放,对于H.265编码的视频则由硬件设备和Android的版本而定。可尝试到设置 → 播放设置 → 拓展解码器 修改其选项。
若遇到数据问题,可通过数据重置功能尝试是否解决
- 极少数的视频文件会使media3抛出异常导致应用闪退,暂未找到修复方法
权限名 | 权限用途 | 是否必须 |
---|---|---|
INTERNET | 获取网络数据 | 是 |
ACCESS_NETWORK_STATE | 播放媒体文件 | |
WAKE_LOCK | ||
REQUEST_INSTALL_PACKAGES | 自动更新 | 否 |
BLUETOOTH_ADVERTISE | 使用蓝牙同步数据 | |
BLUETOOTH_CONNECT | ||
BLUETOOTH_SCAN | ||
BLUETOOTH | 使用蓝牙同步数据 (SDK <= 30) | |
BLUETOOTH_ADMIN | ||
ACCESS_COARSE_LOCATION | ||
ACCESS_FINE_LOCATION | ||
WRITE_EXTERNAL_STORAGE | 文件下载和读取本地媒体文件 (SDK <= 32) | |
READ_EXTERNAL_STORAGE | ||
READ_MEDIA_VIDEO | 读取本地视频文件 (SDK >= 33) |
Android 6+
- 音乐播放器
- 保存媒体信息至文件(nfo)
- 桌面端(Developing)
- 应用串联
本项目仅作为个人学习使用
本项目不提供任何的内容资源,若出现任何内容侵权行为皆与本项目开发人员无关