Repository navigation
Releases
Framefetch Server/Web v0.3.0 · 媒体校验与下载可靠性
Framefetch Server/Web v0.3.0 正式版。提供自托管源码与 Compose 部署入口,配套 Desktop v0.2.0;App 保持现有 Beta 版本。
本次正式版
- 统一候选探测、最终文件和验收的媒体事实解释,修复编码样本数与 edit list 播放时长混算导致的合法视频误拒绝。
- 帧率矛盾时完整扫描正常显示时间线,使用有理数与定长内存统计;VFR 高帧率区段、毫秒时钟量化、编辑端点分别验证。保留原 FPS 档位阈值、正常 edit list、完整音视频严格解码及每轨时长校验。
- 校验子因和比较证据贯穿 Runner、Worker、数据库及授权事件;页面显示准确的手动恢复提示,仅真正的等待重试状态承诺自动继续。
- 汇集 Beta 后的公众号视频来源选择、平台下载可靠性与 YouTube 身份诊断、本地视频/剧本入口、内置视频与剧本 Skill 分析及报告交付改进。
- Web/API/Worker 包版本与 Compose 默认版本统一为
0.3.0。
已验证范围
- 本地后端 3832 项通过,5 项按环境跳过;Web 660 项通过,格式、类型、构建、OpenAPI 无漂移和扩展测试通过。
- agent-browser 对同一真实 X 视频的 1920p/1280p/852p/568p 逐档解析、确认、下载、实际保存和播放通过;落盘文件大小与 SHA-256 均匹配发布制品,并独立完整解码全部音视频轨。
- 1920p 文件与原故障文件的 SHA-256 完全一致,修复没有改写或转码该文件。
- 46 个既有真实平台文件在新规则下复验及全音视频解码通过;这是文件回归,不替代重新在线访问每个平台。
- 12 个页面在桌面/390px、明暗主题共 48 次检查,无横向溢出或页面运行错误。
完整结果及未完成项见媒体校验可靠性计划。全量冷启动、部分平台与保护负例、长片真实端到端、原生端及两项页面无障碍问题仍有验收缺口。
升级
- 备份业务数据库,保留稳定的 URL 加密密钥;暂停新接单并排空在途任务。
- 使用同一
v0.3.0标签配套部署 Web、API、Worker 和 Runner;通过正常 Compose 入口执行migrate,幂等应用当前 schema(包含失败证据 JSONB 字段)。 - 重新构建更新业务容器;不要只启动旧迁移容器,也不要重建已有基础设施或覆盖已有环境文件。
- 旧引擎生成的下载规格会要求重新解析确认。Chrome 身份扩展按本标签 README 安装/重载,保持已有账号材料和出口配置。
English summary
Stable self-hosted Server/Web release with unified presentation-timeline validation, bounded VFR bucket-crossing detection and persisted safe failure diagnostics. It fixes false rejection caused by mixing encoded sample counts with edited playback duration, without widening FPS thresholds, disabling edit lists or weakening full audio/video decoding.
All four resolutions of the reported video were downloaded, saved, played and independently decoded; file hashes match the published artifacts. Forty-six retained real-provider files also passed regression validation. These results do not establish universal online platform availability or native-device acceptance. Back up the database, drain work, apply the current schema and rebuild matching components from this tag. Old engine plans require fresh inspection.
发行证据 / Release evidence
FrameFetch v0.3.0-beta.2 · 视频号官方分享下载 / WeChat Channels downloads
本次 Beta 更新接通微信视频号官方分享文件下载:从提交分享链接、元宝原生解析、微信官方 feed,到统一下载、文件校验和浏览器保存。
This Beta connects WeChat Channels official share downloads, from the submitted link through native Yuanbao resolution and the official WeChat feed to verified artifacts and browser saving.
本次更新 / Changes
-
接通视频号专属 L3,修复元宝原生客户端误匹配、官方引用票据解析及下载前身份重新确认。
-
仅对视频号采用
official_share范围:核对匿名分享、元宝与官方 feed 的标题、作者、封面来源和路径;拒绝明确限制和保护信号,下载官方非加密候选文件。 -
最终文件经 ffprobe、候选时长一致性、严格全片解码和 SHA-256 校验后发布;下载前仍重新解析并核对十二字段执行上下文。
-
Web 解析结果、下载详情与历史显示“微信视频号”,解析卡片呈现交付范围说明;同步产品介绍、版本入口与验收文档。
-
Dedicated L3 resolution, with fixes for native-client discovery, official reference tickets and identity reconfirmation before downloads.
-
official_shareapplies only to WeChat Channels. Anonymous share, Yuanbao and official-feed metadata must match; explicit restrictions and protection signals are rejected. -
Artifacts pass ffprobe, candidate-duration checks, strict full-file decoding and SHA-256 verification. Downloads still re-resolve and compare all twelve execution-context fields.
-
Chinese platform labels and delivery-scope information in the Web UI, with updated product and acceptance documentation.
验证 / Validation
两条独立分享经 Web 正式链路完成解析、规格确认、下载、Artifact 发布及 Chrome 本地保存;两份本地文件的大小与 SHA-256 均和服务器记录一致,全片解码均无错误。
| 分享标识 / Share | 规格 / File | 文件时长 / Duration | 大小 / Bytes |
|---|---|---|---|
ALGoE6MYUv |
MP4, 984×720, H264/AAC | 660.631995 s | 71,346,872 |
A9znfitafp |
MP4, 576×576, H264/AAC | 24.448 s | 1,525,279 |
Two independent shares completed the formal Web flow and Chrome saving. Local file sizes and SHA-256 hashes match the stored artifacts, and both files decode fully without errors.
本地检查:后端 3645 项通过、1 项因缺少隔离 MinIO 端点跳过;后端静态检查通过。前端全套 576 项测试及随后 24 项受影响回归通过,格式、类型检查与构建通过。验收记录更新后的 159 项专项回归通过。桌面与配置为 390px 的浏览器页面完成检查;日常运行卷已恢复、临时卷已清理、运行时锁已释放。
Local checks: 3,645 backend tests passed with one isolated-MinIO test skipped; backend static checks passed. The 576-test frontend suite and subsequent 24 affected regressions passed, along with formatting, type checks and the production build. All 159 acceptance-script regressions passed after evidence updates. Desktop and configured 390px browser views were checked, and the daily runtime was restored.
使用与升级 / Use and upgrade
从同一 tag 部署 Web、API、Worker 和 Runner。已有部署请先排空媒体操作,再重建相应服务,并按本标签 README 更新主工作区的 Chrome 身份扩展与宿主服务;扩展更新后在 Chrome 中重新加载。视频号需要已登录的元宝顶层页面保持打开。仅将既有 Runner Bearer 传入 Runner,宿主配对密钥不进入容器。
Deploy Web/API/worker/runner from the same tag. Drain active media operations before rebuilding services, then follow this tag's README to update the primary-checkout identity extension and host service. Reload the extension after updating it, and keep the logged-in Yuanbao page open. Only the Runner Bearer goes to the Runner; the host pairing key stays outside containers.
预览范围 / Preview scope
交付时长来自官方候选文件,公开免费标签、独立原长与原作品完整性仍未获平台证明。仅处理用户有权获取的非 DRM 文件,不解密受保护内容。此次两条 Web 正例不代表全部平台 --all 冷启动、真实受保护负例、App 设备或真实模型验收通过。
Duration comes from the official candidate file. Public/free status, independent original duration and original-work completeness remain unverified. Only authorized non-DRM files are processed; protected media is not decrypted. These two Web examples do not establish full-platform cold-start, protected-negative, device or real-model acceptance.
本版本是自托管源码预览,无新增安装包附件。Git tag 标识发行快照;内嵌 Server/API/Worker 与 Web 包版本字段仍为 0.2.0。App 与 Desktop 的现有版本未由本次 Server 发布更新。
This is a self-hosted source preview without additional installer assets. The Git tag identifies the snapshot; embedded Server/API/worker and Web package versions remain 0.2.0. Existing App and Desktop releases are unchanged.
发行快照 / Release commit: 7ae18365243ca50748df70c02a5e28b08c1363b8。该提交 CI / Commit CI 的前后端检查均通过 / Backend and frontend CI passed.
FrameFetch v0.3.0-beta.1 · 视频与剧本 AI 工作台 / Video & screenplay workspace
帧取 FrameFetch 把视频、剧本、处理任务和 AI 报告放进同一个自托管工作区。导入自己的素材,查看处理进度,选择分析方法,再把结果导出为可继续编辑的 Markdown/DOCX。
FrameFetch brings videos, screenplays, processing jobs and AI reports into one self-hosted workspace. Import your material, follow processing, choose an analysis method, and export editable Markdown/DOCX reports.
本次亮点 / Highlights
-
统一素材入口:授权单视频链接、本地 MP4,以及 DOCX、可提取文字的 PDF、TXT、Markdown、Fountain 剧本。
-
视频与剧本 AI 分析:当前方法目录包含 12 种视频方法与 8 种剧本方法,覆盖分镜、场景、叙事、节奏、文章草稿、角色、对白和改写;报告保留分析范围与证据。
-
透明的处理过程:任务历史、取消、失败提示和素材完整性校验;AI 分析独立执行,AI 失败不改变下载成功状态。
-
Web 体验改进:页面与响应式布局整理、个人资料优化,以及管理员 AI 分析统计。
-
解析与身份更新:平台解析阶梯、受控出口与 Chrome MV3 身份扩展;修复视频号引用标识和响应上下文校验。
-
Unified intake: authorized single-video links, local MP4 files and supported screenplay documents.
-
Video and screenplay analysis: 12 video methods and 8 screenplay methods in the catalog, including shot breakdowns, narrative review, article drafts and screenplay revision. Reports retain scope and evidence.
-
Visible processing: history, cancellation, actionable failures and artifact integrity checks. AI runs separately from downloads.
-
Web improvements: refined responsive layouts, profiles and administrator AI-analysis statistics.
-
Resolution and identity updates: platform extraction ladders, controlled egress and Chrome extension identity, with WeChat Channels reference and response-context validation fixes.
快速开始 / Get started
准备 Docker Compose,以及已有的 PostgreSQL、RabbitMQ、Redis、MinIO 和 Temporal 服务。AI 分析还需配置宿主 AI Worker 与模型服务。
Use Docker Compose with existing PostgreSQL, RabbitMQ, Redis, MinIO and Temporal services. AI analysis additionally requires a configured host AI worker and model service.
git clone --branch v0.3.0-beta.1 https://github.com/StephenQiu30/video-server.git
cd video-server
test -f .env || cp .env.example .env
# Configure .env for your existing infrastructure before starting.
docker compose up -d --build --wait --remove-orphansWeb:http://localhost:8101 · Swagger:http://localhost:8111/docs
首管理员、Chrome 身份扩展、模型配置与生产部署步骤见 中文 README / English README。
See those guides for first-admin creation, Chrome identity setup, model configuration and production deployment.
升级与预览范围 / Upgrade and preview scope
从 v0.2.0 升级时,旧容器会话 Broker 与 ./start 已由当前 Chrome 身份来源和 Compose 流程取代。先暂停接单、排空媒体操作并备份 PostgreSQL,再按本标签 README 配置身份来源,配套重建 Web、API、Worker 与 Runner。启用 AI 时,宿主 Worker 使用相同源码与环境配置。
When upgrading from v0.2.0, follow this tag's Chrome identity and Compose instructions. The former container session broker and ./start workflow have been replaced. Drain operations, back up PostgreSQL and rebuild matching Web/API/worker/runner services, including the host AI worker when enabled.
这是固定到 d766d59a87adbdb9168e2cf90bcead3386de2a3b 的源码预览。Git tag 标识本次快照;源码中的 API/Worker 和包版本字段仍为 0.2.0。请从同一 tag 部署相关组件。
This is a source preview at that commit. The Git tag identifies this snapshot; embedded API/Worker and package version fields remain 0.2.0. Deploy related components from the same tag.
该提交 CI 的后端与前端检查通过。本次发布未新增真实平台、真实模型或设备验收。方法目录不等于每种方法已通过真实模型验收;平台元数据可读不等于完整视频可下载。全量冷启动及逐平台验证状态见 解析引擎设计。当前不提供 ASR/OCR。
Backend and frontend CI passed. This publication adds no new live-provider, real-model or device acceptance. The method catalog and readable metadata do not establish real-model acceptance or complete-file download support. See the resolution design for platform and cold-start status. ASR/OCR is not included.
仅处理用户有权获取的非 DRM 内容。服务器、存储、网络和外部模型费用由部署者承担;启用外部 AI 会向所选服务发送分析所需素材。
Process only authorized non-DRM content. Operators provide infrastructure and model services; external AI receives the material needed for analysis.
三个项目 / The FrameFetch family
- Server & Web — 自托管服务与浏览器工作区 / Self-hosted service and browser workspace.
- iOS / Android App — Flutter 移动客户端 / Flutter mobile companion.
- Desktop — 内置界面的 Electron 客户端,同样连接 Server / Electron companion with bundled UI, also connected to Server.
欢迎 Star、关注 Releases,或贡献平台适配、分析方法、使用反馈与文档。
Star the project, watch Releases, or contribute provider adapters, analysis methods, feedback and documentation.
v0.2.0 · 容器自持平台会话与一键启动
历史版本 / Historical release
本页记录 v0.2.0 的历史架构与启动方式。当前 Chrome 身份来源、Compose 部署与三端关系请参考新预览版。
This page documents the historical v0.2.0 architecture. See the current preview for Chrome identity, Compose deployment and connected clients.
当前预览 / Current preview — v0.3.0-beta.1
帧取 FrameFetch v0.2.0:平台会话改为容器自持,./start 一条命令完成数据库结构、平台会话接入与业务容器启动。
English: FrameFetch v0.2.0 moves platform sessions into containers. A single ./start applies the schema, picks up platform logins from your local Chrome, has the containers verify them and starts every business service.
亮点
- 一键启动(macOS):
./start应用当前数据库结构,发现本机 Chrome 中已登录的平台会话,加密登记并等待容器实际验证,同时安装当前用户的 LaunchAgent,最后构建并启动业务容器。 - 容器自持平台会话:新增站点会话模型、
session-broker生命周期状态机与容器会话浏览器。冷启动恢复、保活、失效检测与自动轮换都由容器负责;后台每 60 秒检查缺失或确认失效的会话,健康会话不重复导入。默认启用 YouTube、抖音。 - 会话安全:会话以密文保存在 PostgreSQL,只有
session-broker持有密钥;每次操作的明文副本只进入session-runner的 tmpfs,结束即销毁。 - 固定路线扩展:Runner 扩展平台固定路线,并与自动会话接入打通。
- Web 体验:头像上传与个人资料页、头像悬停账户菜单、统一的解析结果双栏卡片、可恢复错误提示组件、快捷操作页面导航,以及基于 shadcn 组件的表单与页面控件整理。
不兼容变更
- 在线解析必须配置站点会话:匿名与访客执行路线已移除。未配置、撤销或需要重新登录时明确提示部署前提缺失,不会自动切换路线。
- 会话路由切换到容器会话 Runner:删除了旧的宿主来源链路。
- Web 移除平台目录的引擎候选面板与运行诊断面板。
APP_VERSION默认值升级为0.2.0:宿主机 AI Agent 与业务服务按版本校验兼容性,升级后请重新执行agent_cli install(生产环境带上--env-file ../.env.prod)。
从 v0.1.0 升级
- 备份 PostgreSQL。
git pull --ff-only。- macOS 本机:运行
./start(自动应用数据库结构并接入会话)。纯容器生产:先以 DDL 账号应用backend/sql/schema.sql,再执行docker compose --env-file .env.prod -f docker-compose-prod.yml up -d --build --wait。 - 如启用 AI 分析,重新安装宿主机 Agent:
uv run python -m app.workers.analysis.agent_cli install。 - 用真实公开链接完成一次下载验收;服务健康不代表媒体可下载。
详见 README 快速开始 与 平台会话设计。
其他
- 设计文档按主题整理为 docs/design,中英文 README 同步当前启动流程。
- 修复:冷启动与保活期间保持平台会话可用;区分 Chrome 数据目录与钥匙串两类导入授权错误;窄屏账户页脚链接溢出。
使用边界
只处理你有权使用、公开、免费且非 DRM 的内容。MIT 许可证开放源代码,不授予任何第三方媒体内容的下载、复制或分析权;服务器、存储与外部模型费用由部署者承担。项目处于 0.x 阶段,不提供官方 SaaS 或 SLA。
iOS / Android 客户端:video-app
Full Changelog: v0.1.0...v0.2.0
如果帧取对你有帮助,欢迎点亮 ⭐ Star。
v0.1.0 · 帧取 FrameFetch 首个公开版本
帧取 FrameFetch 的首个公开版本:开源、自托管的公开视频解析、剧本文档处理与 AI 视频分析工作流。
English: First public release of FrameFetch — an open-source, self-hosted workflow for authorized video parsing, screenplay processing and AI video analysis.
主要能力
- 公开媒体解析与下载:识别授权公开链接或分享文案中的来源、媒体信息与真实可用格式;API → Transactional Outbox → RabbitMQ → Download Worker → 隔离 Media Runner 的可恢复异步链路。
- 制品校验与存储:重新解析、格式语义校验、FFmpeg/ffprobe、大小、时长与 SHA-256 校验后写入 MinIO。
- 实时任务状态:WebSocket 增量事件、断线重连与 resync。
- 剧本文档工作流:导入 Markdown、Fountain、TXT、PDF、DOCX,阅读、目录、分页与分析。
- 可选 AI 分析:宿主机 Codex Agent 或管理员配置的模型 Provider;分镜、场景、关键帧证据,报告导出 Markdown / DOCX。
- 运维与管理:用户与角色、Provider 状态、下载分析、文件管理与显式清理。
- 公开站点 SEO/GEO:公开首页、使用指南、自托管部署指南、关于页面,sitemap、结构化数据与
/llms.txt;私有实例默认 noindex。
开始使用
- 部署:README 快速开始 · English
- iOS / Android 客户端:video-app v0.1.0
使用边界
只处理你有权使用、公开、免费且非 DRM 的内容。MIT 许可证开放源代码,不授予任何第三方媒体内容的下载、复制或分析权;服务器、存储与外部模型费用由部署者承担。项目处于 0.x 阶段,不提供官方 SaaS 或 SLA。