Skip to content

About

红果短剧 / 番茄短剧播放器 — Windows 桌面视频播放器,内置红果短剧源,支持本地 JS 源扩展(SourceProtocol v1 客户端,不含源逻辑)

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

Repository files navigation

Free Player

一个 Windows 桌面视频播放器:内置红果短剧源,添加后即可直接播放红果短剧 / 番茄短剧内容的短剧、微短剧与影视剧,无需任何配置。自带搜索、榜单、分类、选集、弹幕、评论和下载,同时支持播放本地视频。

红果短剧 · 番茄短剧 · 红果免费短剧 · 短剧播放器 · 微短剧 · Flutter · Windows


界面预览

首页 · 红果短剧 播放(弹幕 / 选集 / 清晰度)
首页 播放页
详情页 选集面板
详情页 选集
搜索 排行榜
搜索 排行榜

项目介绍

Free Player 是一个通用播放器外壳,本身不含任何影视内容,也不绑定某一个站点。它实现了一套名为 SourceProtocol v1 的接口协议:所有片单、菜单、搜索、播放地址都由「源」提供,播放器只负责渲染界面、播放和解密。

官方自带红果短剧。 首次启动会进入「选择一个源」,从推荐列表里点一下红果短剧,程序会自动下载并启动内置核心,随后就能直接播放红果短剧(也常被称为番茄短剧 / 红果免费短剧)的短剧内容。整个过程不需要填地址、不需要登录、不需要额外安装任何东西。

除了红果短剧,也可以添加其它在线源,或者导入用 JavaScript 编写的本地源——本地源在程序内置的 QuickJS 沙箱里运行,不需要编译、不需要重启。

主要功能

  • 首页信息流:全屏竖滑,进页面即自动播放,滑动切换下一部剧
  • 搜索 / 榜单 / 分类:搜索带联想,榜单支持多维筛选
  • 选集播放:剧集列表、自动连播、清晰度切换(切换后回到原来的播放进度)
  • 弹幕与评论:支持发送、点赞、回复(取决于源是否提供)
  • 观看历史:自动续播,记住每一集看到的位置
  • 下载:离线缓存,可只保留记录或连同文件一起清理
  • 本地播放:拖入视频或文件夹直接播放,支持文件夹连播
  • 多源管理:添加、切换、编辑、删除源;每个源的菜单与页面完全由源自己定义
  • 自动更新:程序内检测新版本,静默下载校验后自动安装
  • 界面:无边框窗口、深浅色主题、窗口最大化 / 全屏播放

快速入门

  1. 打开 Releases 页面,下载最新的 FreePlayer-<版本>-Setup.exe
  2. 运行安装包(安装到当前用户目录,不需要管理员权限)
  3. 首次启动会进入「选择一个源」,点一下 红果短剧
  4. 程序自动下载内置核心(约 10 MB,只有这一次),完成后直接进入首页开始播放

卸载不会删除观看历史和设置;想彻底清空时手动删除应用数据目录即可。


使用方法

首页

进入首页会自动播放当前推荐,上滑 / 下滑切换下一部。鼠标移入会显示剧名、简介和操作栏。

播放

  • 点击画面播放 / 暂停,双击进入全屏
  • 底部进度条可拖动,悬停显示雪碧图预览
  • 清晰度按钮切换到其它码率,进度不会丢
  • 选集面板按分组列出全部剧集,可自动连播下一集
  • 右上角可调倍速、音量、弹幕开关

搜索与发现

顶部搜索框支持联想与回车搜索;侧栏的榜单、分类页由源提供的筛选项自动生成,不用手动配置。

本地文件

把视频文件或整个文件夹拖进窗口即可播放;文件夹会按文件名顺序连播。也可以在设置里关联文件类型,之后双击视频就能用 Free Player 打开。

切换源

侧栏顶部的源名称可以打开源管理页:添加、编辑、删除都在这里。切换源后,程序的菜单、页面、搜索都会换成新源提供的内容。


自定义开发

Free Player 的所有页面、菜单和播放逻辑都由源驱动,因此给播放器加一个新站点不需要改客户端代码。

写一个本地源

本地源就是一个 JavaScript 文件,导出 __FP_SOURCE 对象,声明站点信息、接口地址和解析函数。程序内置 QuickJS 运行它,Dart 侧负责 HTTP、播放列表校验和本地 HLS 代理。

完整的协议说明、字段定义、示例代码和自检脚本见:

导入方式:程序内「添加源」→ 输入脚本地址、粘贴脚本内容,或把 .js 文件放进本地源目录。

接一个在线网关

在线源是一个实现了 SourceProtocol v1 的 HTTP 服务,返回 {code, message, data, trace_id} 信封。把网关地址添加到源管理里,客户端会自动拉取它的源清单、菜单配置和页面定义。


从源码构建

环境要求:Flutter 3.x、Windows 10/11、Visual Studio 2022(C++ 桌面开发)、Go(构建更新器)、Inno Setup 6(生成安装包)。

# 1. 客户端
cd shell
flutter pub get
flutter build windows --release --dart-define=FP_APP_VERSION=0.1.0

# 2. 应用内更新器(Go)
cd ../native/updater && ./build.ps1

# 3. 组装运行目录(复制 ffmpeg/ffprobe 与更新器到构建产物旁)
cd ../..
scripts/assemble.ps1 -FfmpegDir <包含 ffmpeg.exe 和 ffprobe.exe 的目录>

# 4. 生成安装包
#    用 Inno Setup 6 打开 installer/FreePlayer.iss 并编译

ffmpeg / ffprobe 只用于生成缩略图雪碧图,不随源码提供,需要自行准备。

目录结构

shell/            Flutter 客户端
  lib/app/        启动、依赖装配、全局状态
  lib/core/       协议、网关、页面、播放内核、本地源运行时、主题、窗口
  lib/features/   首次启动、主框架、设置
  test/           单元测试
  windows/        Windows runner(无边框窗口、窗口激活)
native/updater/   应用内更新器(Go)
installer/        Inno Setup 安装脚本
docs/             源开发文档

常见问题

为什么添加红果短剧时要下载一次核心? 内置核心是红果短剧源的本地网关与解密组件,安装源时下载一次,之后每次启动只比对哈希,不会重复下载。

卸载后重装,为什么没有回到「选择一个源」? 设置和源记录保存在应用数据目录,卸载时保留。想恢复首次启动的状态,手动删除该目录即可。

播放黑屏 / 没声音? 播放地址带有有效期,切集或长时间暂停后可能失效;重新进入该集通常即可恢复。仍有问题时可以在设置里反馈。


许可证

MIT License

本项目只提供播放器客户端,不提供、不存储、不分发任何影视内容。所有片源、弹幕与评论均来自用户自行添加的第三方源,使用时请遵守当地法律与各内容平台的用户协议。

About

红果短剧 / 番茄短剧播放器 — Windows 桌面视频播放器,内置红果短剧源,支持本地 JS 源扩展(SourceProtocol v1 客户端,不含源逻辑)

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages