{"id":47668894,"url":"https://github.com/spartawhy117/jvedionext","last_synced_at":"2026-07-05T19:00:18.194Z","repository":{"id":348326742,"uuid":"1191958108","full_name":"spartawhy117/JvedioNext","owner":"spartawhy117","description":"次世代离线视频管理软件，支持标准片库与非规则本地资源的统一管理","archived":false,"fork":false,"pushed_at":"2026-06-15T06:41:52.000Z","size":2203,"stargazers_count":159,"open_issues_count":0,"forks_count":7,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-15T08:22:28.416Z","etag":null,"topics":["ffmpeg","metatube","nfo","vedio","video-library","windows"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spartawhy117.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-25T18:49:24.000Z","updated_at":"2026-06-15T06:41:56.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/spartawhy117/JvedioNext","commit_stats":null,"previous_names":["spartawhy117/jvedionext"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/spartawhy117/JvedioNext","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spartawhy117%2FJvedioNext","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spartawhy117%2FJvedioNext/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spartawhy117%2FJvedioNext/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spartawhy117%2FJvedioNext/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spartawhy117","download_url":"https://codeload.github.com/spartawhy117/JvedioNext/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spartawhy117%2FJvedioNext/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35165555,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-05T02:00:06.290Z","response_time":100,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ffmpeg","metatube","nfo","vedio","video-library","windows"],"created_at":"2026-04-02T12:17:25.454Z","updated_at":"2026-07-05T19:00:18.133Z","avatar_url":"https://github.com/spartawhy117.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cimg src=\"./doc/UI/preview/readme-icon.svg\" alt=\"JvedioNext\" width=\"128\" /\u003e\n  \u003cbr\u003e\n  JvedioNext\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  次世代离线影片管理工具，标准番号库、非规则本地资源与 `.strm` 远程索引统一管理\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"./CHANGELOG.md\"\u003e版本更新记录\u003c/a\u003e\n  ·\n  \u003ca href=\"./standard-library-naming-rules.md\"\u003e标准库命名规则\u003c/a\u003e\n  ·\n  \u003ca href=\"https://github.com/spartawhy117/JvedioNext/releases/latest\"\u003e最新版本下载\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Platform-Windows-blue\" alt=\"Platform\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/.NET-8.0-purple\" alt=\".NET\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Tauri-2-24C8D8?logo=tauri\u0026logoColor=white\" alt=\"Tauri\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/license-MIT-green\" alt=\"license\" /\u003e\n  \u003ca href=\"https://github.com/spartawhy117/JvedioNext/releases/latest\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/downloads/spartawhy117/JvedioNext/latest/total.svg?label=latest%20downloads\" alt=\"Latest Release Downloads\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/spartawhy117/JvedioNext\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/spartawhy117/JvedioNext.svg?style=flat\u0026logo=github\" alt=\"Stars\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n- **标准库**：扫描整理番号目录，抓取海报、`NFO`、演员与详情，并支持规范命名的 `.strm`\n- **非标准本地库**：不改原目录结构，通过合集目录列表与动态封面管理散装资源\n- **演员页**：支持补全演员扩展信息，并可按年龄、身高和罩杯筛选演员结果\n- **收藏页**：支持影片、标签和演员统一收藏，方便集中回看常用内容\n- **标签页**：支持按 `类型 / 系列 / 厂商 / 自定义` 浏览标签，并继续展开关联影片\n- **搜索页**：支持按单个 `VID`、演员原词和单个 `Tag` 原词搜索远端影片，并直接查看本地入库状态\n- **库健康**：提供单库健康诊断页，集中查看抓取状态、资源缺口、规则问题、失效记录和分组一致性\n- **用户数据**：支持导入导出打包（含封面缓存），迁移无需重新抓取\n\n---\n\n## 适合这些场景\n\n- 你有一套按番号整理或准备整理的标准影片目录，希望自动补齐元数据和 sidecar\n- 你有一批网盘导出的规范 `.strm` 文件，希望继续进入海报墙、详情页和随机选片\n- 你有大量散装本地资源或合集目录，希望不改原目录也能做浏览和管理\n\n---\n\n## 快速查看\n\n### 新用户先看\n\n- [标准库命名规则](./standard-library-naming-rules.md)\n- [环境准备](#environment)\n- [两种库模式速览](#library-modes-quick)\n\n### 功能预览\n\n- [预览](#preview)\n- [演员页概览](#actors-overview)\n- [库健康页概览](#library-health-overview)\n- [设置页概览](#settings-overview)\n- [收藏页概览](#favorites-overview)\n- [搜索页概览](#search-overview)\n- [标签页概览](#tags-overview)\n\n### 其他\n\n- [致谢](#acknowledgements)\n- [特别声明](#disclaimer)\n- [赞助开发者喝奶茶](#support)\n\n---\n\n## 标准库命名规则摘要\n\n- 标准库当前支持：常见标准番号、`FC2-PPV`、常见数字前缀素人番号、部分带厂商标识的无码番号\n- 数字前缀素人番号与部分无码样本当前已补充更多识别范围；具体命名与搜索口径请查看完整命名规则\n- 素人番号与无码样本的抓取行为会按当前规则做兼容搜索或失败保留，详细边界见命名规则文档\n- 裸日期号无码当前不会自动进入标准库抓取主链\n- `.strm` 也必须遵循标准库命名规则，且文件内容只支持单行绝对 `http/https` 地址\n- 详细支持范围、后缀规则和不支持情况见：[标准库命名规则](./standard-library-naming-rules.md)\n\n---\n\n\u003ca id=\"environment\"\u003e\u003c/a\u003e\n## ⚠️ 首次启动前请先准备环境\n\n默认推荐安装 `x64` 版本；如果你的系统是 `32` 位 Windows，请自行改装对应的 `x86` 版本。\n\n### ✅ 必选\n\n- `.NET 8 ASP.NET Core Runtime (Windows x64)`：\n  [官方直达下载（v8.0.25 x64）](https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/runtime-aspnetcore-8.0.25-windows-x64-installer)\n- `.NET 8 Desktop Runtime (Windows x64)`：\n  [官方直达下载（v8.0.25 x64）](https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/runtime-desktop-8.0.25-windows-x64-installer)\n\n缺少以上任一 `.NET 8` 运行时，`Jvedio.Worker.exe` 都可能无法正常启动，通常会看到：\n\n```text\n引擎启动失败\nWorker process exited unexpectedly\n\n请检查 Worker 是否可用后重启应用\n```\n\n应用启动后，如果你要使用标准库的元数据抓取功能，还需要准备 `MetaTube` 服务地址：\n\n- `MetaTube`\n  - `JvedioNext` 不内置公共 `MetaTube` 后端\n  - 准备好后，把服务地址填到软件设置页中的 `MetaTube 服务地址`\n  - 自己搭建：\n    - 可以先看 MetaTube 官方文档和官方项目主页，再按文档部署后端服务\n    - [MetaTube 官方文档](https://metatube-community.github.io/)\n    - [MetaTube 官方 GitHub](https://github.com/metatube-community)\n    - 也可以搜索：`Huggingface Space MetaTube 搭建`\n  - 寻找公共接口：\n    - 如果你不想自己搭建，可以自行搜索可用的公共接口服务\n    - 建议搜索这些关键词：\n      - `MetaTube 部署`\n      - `MetaTube Docker`\n      - `MetaTube 服务地址`\n      - `MetaTube 公共节点`\n\n### 🧩 可选\n\n- `Microsoft Edge WebView2 Runtime` [微软官方 WebView2 下载页](https://developer.microsoft.com/en-us/microsoft-edge/webview2)\n  - Windows 10 和 Windows 11 一般已经自带或通过系统更新带有 `WebView2 Runtime`\n  - 多数情况下不需要单独安装\n  - 只有在前端窗口打不开、白屏或界面无法渲染时，再到这里补装\n\n- `FFmpeg` [FFmpeg 下载页](https://github.com/GyanD/codexffmpeg/releases)\n  - 只在\"非标准本地库生成动态封面\"时需要，不影响软件启动，也不影响标准库抓取元数据\n  - 建议下载最新的 `essentials_build.zip`\n  - 解压后，把 `bin` 目录下这 3 个文件拷贝到软件目录中的 `data/\u003cuser\u003e/tools/ffmpeg/`\n    - `ffmpeg.exe`\n    - `ffprobe.exe`\n    - `ffplay.exe`\n  - 如果你不确定目录位置，可以先打开软件设置页中的 `打开工具目录`，再把这 3 个文件拷进去\n\n---\n\n\u003ca id=\"library-modes-quick\"\u003e\u003c/a\u003e\n## 两种库模式速览\n\n| 模式 | 适合内容 | 元数据抓取 | 是否改原目录 |\n| --- | --- | --- | --- |\n| 标准库 | 规范番号影片、规范命名 `.strm` | ✅ MetaTube | ✅ 会整理到标准库结构 |\n| 非标准本地库 | 合集盘、散装目录、非规则资源 | — | ❌ 只同步，不搬运 |\n\n\u003ca id=\"strm-quick\"\u003e\u003c/a\u003e\n### `.strm` 支持速览\n\n- 当前 `.strm` 支持只适用于 `MetaTube` 标准库。\n- 文件名需要遵循标准库命名，文件内容只支持单行绝对 `http/https` 地址。\n- 详细写法与命名边界见：[标准库命名规则](./standard-library-naming-rules.md)\n\n---\n\n\u003ca id=\"preview\"\u003e\u003c/a\u003e\n## 预览\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./doc/UI/preview/dark.png\" alt=\"影片库暗色预览\" width=\"49%\" /\u003e\n  \u003cimg src=\"./doc/UI/preview/light.png\" alt=\"影片库亮色预览\" width=\"49%\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./doc/UI/preview/setting.png\" alt=\"设置页预览\" width=\"49%\" /\u003e\n  \u003cimg src=\"./doc/UI/preview/actors.png\" alt=\"演员页预览\" width=\"49%\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./doc/UI/preview/favoritePag.png\" alt=\"收藏页预览\" width=\"49%\" /\u003e\n  \u003cimg src=\"./doc/UI/preview/tagPage.png\" alt=\"标签页预览\" width=\"49%\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./doc/UI/preview/searchPage.png\" alt=\"搜索页预览\" width=\"49%\" /\u003e\n\u003c/p\u003e\n\n---\n\n\u003ca id=\"actors-overview\"\u003e\u003c/a\u003e\n## 演员页概览\n\n- 演员页现在支持补全扩展信息，可获取年龄、身高和罩杯三项数据。\n- 支持按年龄、身高和罩杯筛选演员结果，也可继续按作品数量和头像状态收口列表。\n- 页面顶部会直接显示已补全、未补全和当前补全过程进度，批量补全过程中也可以主动停止任务。\n- 收藏演员页会继续复用同一套扩展信息摘要与筛选能力，方便按收藏对象继续浏览。\n\n---\n\n\u003ca id=\"library-health-overview\"\u003e\u003c/a\u003e\n## 库健康页概览\n\n- 入口：可从媒体库管理页的 `查看健康`，或单库页工具栏中的 `库健康` 进入。\n- 页面内容：集中展示当前库的抓取状态、资源缺口、规则问题、失效记录和分组一致性；本地库会保留更贴近本地资源场景的三张诊断卡。\n- 主要按钮：支持 `一键重抓并补资源`、`重新检查失效记录`、`查看文件规则问题`，并可在页面顶部直接 `刷新健康状态`。\n\n---\n\n\u003ca id=\"settings-overview\"\u003e\u003c/a\u003e\n## 设置页概览\n\n| 分组 | 说明 |\n| --- | --- |\n| 用户数据导入导出 | 迁移、备份、恢复用户环境，含封面缓存和 VID 列表导出 |\n| 基本 | 主题、语言、关闭行为、调试模式 |\n| 显示 | 影片卡大小、影片库和演员页默认排序 |\n| 播放器设置 | 自定义播放器路径，未配置时回退系统默认 |\n| MetaTube | 服务地址、请求超时、连通性测试 |\n| 诊断 | 查看 `.NET Runtime`、`MetaTube`、`FFmpeg` 和搜索来源状态 |\n| 关于 | 查看版本，跳转 GitHub Releases 获取更新 |\n\n---\n\n\u003ca id=\"favorites-overview\"\u003e\u003c/a\u003e\n## 收藏页概览\n\n- 可以把影片、标签和演员统一加入收藏，集中管理常看内容\n- 收藏首页会直接显示 `影片 / 标签 / 演员` 三类入口，方便按对象快速进入对应列表\n- 收藏影片页支持搜索、排序、批量取消收藏和批量处理，适合整理常看片单\n- 收藏标签页与收藏演员页支持查看收藏对象、快速取消收藏，并可继续按收藏对象回看关联影片\n\n---\n\n\u003ca id=\"search-overview\"\u003e\u003c/a\u003e\n## 搜索页概览\n\n- 可以按单个 `VID`、单个演员原词和单个 `Tag` 原词搜索远端影片，并直接查看 `标准库已存在 / 本地库已存在 / 已收藏 / 未入库` 四类本地状态\n- 结果页会优先展示本地状态映射，方便快速判断是否需要继续入库\n- 结果卡支持直接查看远端详情、打开本地影片、补抓已有影片和打开来源页，搜索后的后续处理链路更完整\n- 可以从左侧导航直接进入搜索页，也可以从演员页、收藏演员页、标签页、收藏标签页和影片详情页通过右键 `搜索相关影片` 进入\n- 当前演员和 `Tag` 搜索优先建议使用日文原词或站点原词，方便更稳定命中结果\n\n---\n\n\u003ca id=\"tags-overview\"\u003e\u003c/a\u003e\n## 标签页概览\n\n- 可以按 `类型 / 系列 / 厂商 / 自定义` 浏览标签内容，其中自定义标签同时支持标准库与非标准库\n- 自定义标签现已纳入同一套标签页浏览链路，标准库与非标准库都可以查看、收藏并继续展开关联影片\n- 支持直接查看每个标签下的影片数量，快速定位高频题材和系列\n- 可以从左侧导航进入标签页，也可以在影片详情页点击对应标签继续展开浏览\n- 支持在“全部标准库”与单库范围内切换查看同类影片，方便按库筛选内容\n\n---\n\n\u003ca id=\"library-modes-detail\"\u003e\u003c/a\u003e\n## 库模式详细说明\n\n### 扫描移动 / 保留规则速览\n\n- **标准库**\n  - 合法单文件与合法子集文件都会整理到同一数据源内的基准 `VID` 目录\n  - 默认保留原影片，不会在扫描阶段自动删除同 `VID` 其他文件\n- **非标准本地库**\n  - `刷新目录` 只做同步，不移动、不重命名、不按 `VID` 整理原文件\n  - 默认保留原目录、原文件和原命名，扫描阶段不做自动搬运\n\n### 🎬 标准库（MetaTube 数据源）\n\n适合按番号管理的影片目录。推荐操作顺序：先 `扫描` 确认入库正确，再 `抓取元数据` 补齐详情。\n\n- 支持用户配置多条扫描目录；扫描负责识别影片并入库，抓取负责补齐海报、`NFO`、演员与详情页\n- 标准库现已支持规范命名的 `.strm` 文件；命名和后缀规则见：[标准库命名规则](./standard-library-naming-rules.md)\n- 新版本扫描阶段**不会自动删除用户磁盘上的原影片文件**\n- 抓取后的 `NFO` 与三张主图会写回影片所在的基准 `VID` 目录\n\n```text\n平铺根目录:\n  ABC-001.mp4\n  ABC-001_2.mp4\n\n扫描整理后:\n  ABC-001/\n    ABC-001.mp4\n    ABC-001_2.mp4\n    ABC-001.nfo\n    ABC-001-poster.jpg\n    ABC-001-thumb.jpg\n    ABC-001-fanart.jpg\n```\n\n- 演员头像统一缓存在软件数据目录中，不写回影片目录\n\n- `编辑` 可修改库名和扫描目录；`移除库` 只删除软件内引用，不删除原影片和 sidecar 文件\n\n### 🎬 非标准本地库\n\n适合合集盘、散装目录等非规则本地资源，不依赖任何搜刮源。推荐操作顺序：先 `刷新目录` 确认展示正确，再 `生成动态封面`。\n\n- 配置 1 条扫描目录，刷新目录只同步文件变化，不会改造原目录结构\n- 可选填\"合集目录列表\"，将指定路径显示为合集入口；未命中的影片默认平铺\n- 支持勾选\"下一层子目录按合集显示\"，实现 合集 → 子合集 → 影片 的多级浏览\n- 动态封面由 FFmpeg 生成（需提前配置），静态封面和悬停预览缓存在软件数据目录中，不改动原影片目录\n\n- `编辑` 可修改库名、扫描目录和合集规则；`移除库` 只清理软件内数据和缓存，不删除原影片\n\n**合集目录示例**\n\n```text\n磁盘:\naaa/\n  bbb/\n    c1/\n      p1.mp4\n    c2/\n      p2.mp4\n\n配置: 合集目录 = [{ path: \"bbb\", childrenAsCollections: true }]\n\n库首页 → 合集入口 [bbb] → 子合集 [c1, c2] → 影片 [p1.mp4]\n```\n\n---\n\n## 架构概览\n\n程序分为两层：\n\n- 前端层：Tauri 桌面壳，负责页面、设置、任务入口、播放器交互与窗口行为\n- Worker 层：.NET 8 后端，负责扫描目录、请求 MetaTube、维护数据库、生成缓存、执行导入导出和后台任务\n\n你实际使用的是桌面页面，但媒体库同步、动态封面生成、元数据抓取和导入导出都由后台任务执行。\n\n---\n\n\u003ca id=\"acknowledgements\"\u003e\u003c/a\u003e\n## 致谢\n\n本项目在开发过程中参考了以下优秀开源项目，在此表示感谢：\n\n- [clash-verge-rev](https://github.com/clash-verge-rev/clash-verge-rev) — Tauri 2 桌面应用架构与前端工程实践参考\n- [metatube-sdk-go](https://github.com/metatube-community/metatube-sdk-go) — 元数据搜刮能力支持\n- [jvedio](https://github.com/hitchao/jvedio) — 原版 jvedio 提供了离线影片管理的核心理念参考\n\n---\n\n\u003ca id=\"disclaimer\"\u003e\u003c/a\u003e\n## 特别声明\n\n本软件（JvedioNext）**仅用于管理用户个人本地影片**，所有数据处理均在本地离线运行。\n\n本软件**不提供任何非法内容分享功能**，不内置任何影片资源，不具备上传、分发或传播影片内容的能力。用户须自行确保所管理的内容符合所在地区的法律法规，开发者对用户的使用行为不承担任何法律责任。\n\n---\n\n\u003ca id=\"support\"\u003e\u003c/a\u003e\n## 赞助开发者喝奶茶\n\n\u003cdetails\u003e\n\u003csummary\u003e点击展开收款码\u003c/summary\u003e\n\n如果这个项目帮你省下了一些整理和排错时间，欢迎扫码支持开发者继续维护。\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./doc/UI/preview/wechatpay.png\" alt=\"微信支付收款码\" width=\"280\" /\u003e\n\u003c/p\u003e\n\n\u003c/details\u003e\n\n---\n\n\u003c!-- repo-report:start --\u003e\n## 开发简报\n\n\u003e 自动更新：2026/04/13 01:36（Asia/Shanghai）\n\n累计：版本发布数 33，已完成 Issue 13，未计划 Issue 1\n\n当周（最近 7 天）：版本发布数 7，已完成 Issue 5，未计划 Issue 1\n\u003c!-- repo-report:end --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspartawhy117%2Fjvedionext","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspartawhy117%2Fjvedionext","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspartawhy117%2Fjvedionext/lists"}