Skip to content

v0.9.11

Choose a tag to compare

@github-actions github-actions released this 14 Jun 11:40
· 1289 commits to main since this release

v0.9.11 - Jellyfin / Emby / Kodi compatibility, JavLibrary source & local thumbnail cache

English version below ↓


一行安裝(推薦)

macOS:

curl -fsSL https://raw.githubusercontent.com/slive777/OpenAver/main/install.sh | bash

Windows (PowerShell):

irm https://raw.githubusercontent.com/slive777/OpenAver/main/install.ps1 | iex

這次累積了 v0.9.9 ~ v0.9.11 三版的更新,三個主軸:接上 Jellyfin / Emby / Kodi 就正確顯示、新增 JavLibrary 來源、以及本地封面縮圖快取(NAS 用戶有感)。


🎬 接上 Jellyfin / Emby / Kodi,掛上去就正確顯示

OpenAver 的 NFO 一直都是 Kodi / Jellyfin / Emby 共用的那套 XML,所以「基本上認得」沒問題——但離「掛上去就乖乖正確顯示」還差一截:圖片命名各家偏好不同、多段影片(cd1 / cd2)會被當成兩部片、NFO 少了幾個媒體庫拿來排序和過濾的欄位。

這版在 Settings 加了「外部媒體管理器模式」四格選擇器(預設|Jellyfin|Emby|Kodi,每格旁邊一行說明會產生什麼)。選任一個外部模式後,刮削/整理會額外做三件事:

  • 另存 {番號}-poster.jpg / {番號}-fanart.jpg,用媒體庫認得的命名格式
  • 把 cd1 / cd2 / part1 等多段檔自動合併成「一部片、多段」——第 2 段以後只跳過 NFO、封面保留,媒體庫就不會把同一部片收成兩部
  • NFO 補上番號 ID、排序標題、產地、語言等欄位,給媒體庫拿來過濾排序

掃描端也學會讀 {番號}-fanart.jpg / {番號}-poster.jpg——不管是 OpenAver 自己在外部模式產生的,還是你之前用 MDCX / Javinizer 刮好的收藏庫,加進來就能直接接手、封面牆直接顯示,不用重刮。

選「預設」的話,一切行為跟以前完全一樣。

⚠️ 小提醒:{番號}-fanart.jpg 這個背景大圖命名只有 Jellyfin 和 Kodi 讀得到,Emby 不認這個 fanart 命名(Emby 的海報和 NFO 一切正常)。另外這版不支援 Plex


🖼️ 本地封面縮圖快取(NAS / HDD 用戶有感)

如果你是 app 跑在電腦(SSD)、影片放在區網 NAS(HDD),封面牆一頁 90 張每張都直接打 NAS 原圖,HDD 喚醒加上隨機 seek,封面就一張一張慢慢冒出來。

在 Settings 打開「封面縮圖快取」後,OpenAver 會在本機把整庫封面壓成很小的 WebP(一張約 32KB),瀏覽時直接從 SSD 出圖、完全不碰 NAS,連 NAS 暫時離線都還能顯示已快取的封面。燈箱點進去採模糊變清晰(小圖秒出 → 原圖載入後就地變清)。原圖和 NFO 完全不動,快取只是可回收的衍生小圖、隨時可清。

新安裝預設就開,開箱即享一次刷整頁封面;已經在用舊版的人更新後維持關閉,不會自動幫你開,想開隨時去 Settings 點。


🆕 新增 JavLibrary 來源(BETA)

JavLibrary 的社群標籤、還有別處找不到的冷門長尾番號是它的強項,連 metatube 聯邦那 30 多個來源都沒收錄它。但整站被 Cloudflare 人機驗證擋著,純自動抓一定失敗。

OpenAver 的解法:桌面版用戶本來就是真人。首次或驗證過期時會彈出一個真的 JavLibrary 瀏覽器視窗,你點一次人機驗證(常常它自己就過),系統自動重試並回填結果;沒完成或逾時會明確通知,不會假裝成功也不會偷偷換來源。

幾個限制:

  • 只能用精確番號查詢,不支援模糊或女優名搜尋
  • 只在桌面版可用(dev / 伺服器模式下灰色不可點,CF 驗證需要真人 + 真瀏覽器)
  • 標示 BETA,配合 JavLibrary 規則只能手動搜尋,不參與批量/自動搜尋,也不給 AI 代理使用

入口在進階搜尋 / 重刮的來源選單,選「JavLibrary(BETA)」輸入番號即可。


🗑️ 燈箱單筆刪除

燈箱 metadata 那一行末端新增一個垃圾桶 icon,點下去跳確認框,只從資料庫移除這一筆紀錄——你的影片檔和原始封面圖完全不動,那筆的快取縮圖會一併清掉,封面牆即時移除那張卡。如果該片還在掃描目錄內,下次掃描會自動加回來。(這個刪除能力不開放給 AI,只能你自己手動點。)


🔧 整理 pipeline 兩個老問題修掉

  • 重複死卡:先用列表生成(Scanner)原地索引一批片,之後又在搜尋頁對其中一部做「整理」(改名搬移),舊路徑那筆會變成孤兒死卡,同一部片在瀏覽出現兩張(其中一張封面還壞掉)。現在整理搬檔會把資料庫那筆也一起搬到新路徑,整理完當下就只剩一張正確的卡,不必等下次重掃。
  • 標題越疊越長:對 OpenAver 自己整理出來的成品檔再整理一次,過去會把整段已格式化的檔名誤當成「標題」塞回去,番號/片商/後綴越疊越長。現在會認出「這是已整理過的成品」,改用刮削標題,連舊版本已經寫進磁碟的雙重前綴也一併修好。

✨ 其他改進與修復

  • NAS 掛成連線網路磁碟機(K:\)的 Windows 用戶,封面牆不再整片空白:把 NAS 掛成 Windows「連線網路磁碟機」或用 DFS/別名的用戶,過去 Showcase 封面整片空白(影片卻能正常播)。這版修好封面代理的路徑比對問題,不論磁碟機代號、UNC、DFS 別名,封面都對得上了。
  • 進階搜尋畢業、移除 Beta 標記:自 v0.9.0 推出、歷經多版打磨且穩定已久,Settings 與 Help 的「Beta」標記移除(JavLibrary 的 BETA 不受影響)。
  • 非繁中用戶的掃描離頁提醒不再顯示繁中:掃描中切換頁面的提醒文字補上四語系翻譯。
  • 另含燈箱重影、blur-up 尺寸、重刮後縮圖不更新等多項細節修復。

English

This release bundles three versions (v0.9.9 – v0.9.11) since the last published release. Three highlights: Jellyfin / Emby / Kodi just-works compatibility, a new JavLibrary source, and a local cover-thumbnail cache (a real win for NAS users).


🎬 Mount into Jellyfin / Emby / Kodi and it just shows up correctly

OpenAver's NFO has always been the same XML schema Kodi / Jellyfin / Emby share, so "basically recognized" was never the problem — but "mount it and it just displays correctly" still had a gap: each app prefers different image names, multi-part videos (cd1 / cd2) got treated as two separate movies, and the NFO was missing a few fields media servers use to sort and filter.

This release adds an "external media-manager mode" four-state selector in Settings (Default | Jellyfin | Emby | Kodi, each with a one-line hint on what it produces). Pick any external mode and scraping / organizing does three extra things:

  • Also writes {id}-poster.jpg / {id}-fanart.jpg in the naming format media servers recognize
  • Auto-merges multi-part files (cd1 / cd2 / part1 …) into "one movie, multiple parts" — part 2 onward skips only the NFO and keeps the cover, so the server won't collect one movie as two
  • Adds fields to the NFO (number ID, sort title, country, language) for the server to filter and sort by

The scanner also learned to read {id}-fanart.jpg / {id}-poster.jpg — whether produced by OpenAver itself in external mode or by your earlier MDCX / Javinizer library — so you can add a pre-scraped collection and take it over directly, cover wall and all, with no re-scrape.

Pick "Default" and everything behaves exactly as before.

⚠️ Note: the {id}-fanart.jpg backdrop name is only read by Jellyfin and Kodi; Emby doesn't recognize this fanart naming (Emby's poster and NFO are fine). Also, this release does not support Plex.


🖼️ Local cover-thumbnail cache (a real win for NAS / HDD users)

If you run the app on a PC (SSD) with videos on a LAN NAS (HDD), a 90-cover page hits the NAS original for every cover; with HDD spin-up plus random seek, covers trickle in one by one.

After you enable "cover thumbnail cache" in Settings, OpenAver compresses your whole library's covers into tiny local WebP files (~32KB each) on your machine, and serves them from the SSD while never touching the NAS — it can even show cached covers while the NAS is temporarily offline. The lightbox uses blur-up (the small image appears instantly → the original fades in sharp once loaded). Originals and NFO are untouched; the cache is just reclaimable derived thumbnails you can clear anytime.

On for new installs out of the box, so a full page of covers paints in one shot; existing users stay off after updating — it won't auto-enable, flip it on in Settings whenever you like.


🆕 New JavLibrary source (BETA)

JavLibrary's strengths are its community tags and the obscure long-tail IDs you can't find elsewhere — even the metatube federation's 30+ sources don't cover it. But the whole site sits behind a Cloudflare bot challenge, so fully automated scraping always fails.

OpenAver's solution: desktop users are real people anyway. On first use or when verification expires, a real JavLibrary browser window pops up; you click through the challenge once (often it passes on its own), and the system retries automatically and fills in the result. If it isn't completed or times out you get a clear notification — it never fakes success or silently switches sources.

A few limits:

  • Exact-ID search only — no fuzzy or actress-name search
  • Desktop only (greyed out in dev / server mode; CF verification needs a real human + real browser)
  • Marked BETA — manual search only per JavLibrary's rules, never part of batch / automated search, and not exposed to the AI agent

Find it in the advanced-search / re-scrape source picker: choose "JavLibrary (BETA)" and enter an ID.


🗑️ Per-item lightbox delete

A trash icon now sits at the end of the lightbox metadata row; click it and a confirm dialog appears. It only removes that one record from the database — your video file and original cover image are untouched — and clears that item's cached thumbnail, removing the card from the cover wall instantly. If the video is still inside a scan directory, the next scan adds it back. (This delete is not exposed to the AI; it's manual-only.)


🔧 Two long-standing organize-pipeline bugs fixed

  • Duplicate dead cards: if you index a batch in-place via the list generator (Scanner) and later "organize" (rename + move) one of them from search, the old path used to linger as an orphan dead card — the same video appeared twice (one with a broken cover). Now the organize move carries the database record to the new path too, so right after organizing there's a single correct card, no rescan needed.
  • Title stacking endlessly: re-organizing a file OpenAver already produced used to mistake the whole formatted filename for the "title" and stuff it back in, stacking number / maker / suffix longer and longer. It now recognizes an already-organized file, uses the scraped title instead, and even repairs doubled prefixes previously written to disk.

✨ Other improvements & fixes

  • Windows users with the NAS mapped as a network drive (K:\) no longer get a blank cover wall: users who mapped the NAS as a Windows "network drive" or used DFS / aliases used to see an all-blank Showcase cover wall (while videos still played fine). This release fixes the image-proxy path matching, so covers resolve regardless of drive letter, UNC, or DFS alias.
  • Advanced search graduated, Beta tag removed: shipped in v0.9.0, polished over several versions and stable for a while, so the "Beta" tag is removed from Settings and Help (JavLibrary's BETA is unaffected).
  • Non-Traditional-Chinese users no longer see the scan leave-page warning in Chinese: the "leaving while scanning" prompt now has translations for all four locales.
  • Also includes several detail fixes: lightbox ghosting, blur-up sizing, thumbnails not updating after re-scrape, and more.

GitHub: https://github.com/slive777/OpenAver