ニュース

Jellyfin 12.0 が「10.」を廃止し、ついに書籍を真剣に扱う

Jellyfin 12.0 はプレイリスト保存を高速化し、エピソードの代替バージョンを追加し、書籍/コミックのサポートをサーバーコアに移行。メジャーバージョンアップにより、移行と完全な再スキャンが必要。

September 8, 2026· 1 min read
Jellyfin 12.0 が「10.」を廃止し、ついに書籍を真剣に扱う

Jellyfin 12.0 がリリースされた。これはバージョン番号が示す以上に大きな変更だ。チームはバージョン体系から先頭の「10.」を削除し、10.12.0 となるはずだったものを単に 12.0 とした。理由は単純明快だ。10.11.0 はライブラリデータベースを書き換えるメジャーリリースだったが、バージョン番号がマイナーアップデートのように見せていた。今ではリリースが大きいときに最初の数字が変わる。

Jellyfin のバージョン文字列を解析するもの(クライアント、監視チェック、デプロイスクリプト、コンテナタグの固定)を保守しているなら、アップグレード前に確認すべき点はこれだ。

データベース調整:プレイリストとコレクションが高速化

パフォーマンス改善の目玉は、プレイリストとコレクションの保存方法だ。以前は、プレイリスト内のすべてのアイテムがプレイリスト自体の中に大きなリストとして保持されていた。データベースはそのリストを参照できなかったため、アイテム数、視聴進捗、1ページ表示のいずれもプレイリスト全体を読み込む必要があった。編集も同様に苦痛で、1アイテムの追加・削除でもリスト全体を書き戻す必要があった。

12.0 では、プレイリスト内の各アイテムが個別の行になる。データベースは行数を数え、1ページを返し、他の部分に触れずに単一アイテムを追加・削除できる。コレクションとボックスセットも同様に修正された。これは大きなプレイリストで大幅な改善となるはずだ。

その他のデータベース改善:

  • 大量のアイテムを一度に削除しても途中で失敗しなくなる。
  • 「視聴を続ける」「次のエピソード」「再視聴」、音楽の「最新メディア」、アーティスト検索、フォルダの視聴済みカウントが高速化。
  • ライブラリスキャン中に重いデータベースメンテナンスが実行されなくなり、リソース競合が解消。

これらの多くは、フリーズしていたページがフリーズしなくなるという形で現れる。なお、この作業は Jellyfin がライブラリを読み取る方法に対するものであり、ライブラリスキャナー自体ではない。スキャナーは副作用として少し速くなるかもしれないが、それは目的ではない。

エピソードの代替バージョン

代替バージョンは導入以来、映画専用の機能だった。12.0 ではエピソードでも機能する。放送版と延長版があるシリーズ、または同じエピソードの 1080p と 4K コピーを、映画と同様にグループ化できる。再開データは実際に視聴していたバージョンに追従する。

この機能は、アップグレード後の必須スキャンの理由でもある。エピソードでバージョンを機能させるにはバージョンリンクの保存方法を修正する必要があり、自動解決されたバージョンはディスク上のファイルから再構築する必要がある。

書籍とコミックのファーストクラスサポート

書籍は Jellyfin で後回しにされることが多かったが、このリリースでそれが変わり始める。Bookshelf プラグインが行っていたことのほとんどがサーバー自体に移行した。

サーバー側:

  • 書籍メタデータは OPF および ComicInfo ファイル、または ComicBookInfo コメントから直接読み取られ、プラグインは不要。
  • EPUB とサポートされるすべてのコミックアーカイブ形式のポスターが生成され、オーディオブックファイルには外部カバーが機能。
  • 名前、インデックス、年、シリーズは書籍ファイル名から読み取られ、ボリュームとチャプター番号はコミックファイル名から取得(存在する場合)。
  • ページ数はコミックアーカイブと PDF から抽出。
  • チャプターはオーディオブックから抽出。
  • Bookshelf は GoogleBooks と ComicVine のプロバイダーに分割され、新しい OpenLibrary プラグインがメタデータと画像を提供。
  • ISBN 外部 ID とリンクがサポート。

Web クライアント側:

  • ビュータイプとページングを備えたモダンな書籍ライブラリレイアウトに加え、著者、コレクション、フォルダのタブ。
  • 書籍は著者に関する情報を表示し、著者は書籍とオーディオブックを表示。
  • 閲覧インターフェースは全書籍タイプで再設計・標準化され、PDF の統一フルスクリーン動作とスワイプナビゲーションを実装。
  • サポートされている eBook で進捗インジケーターが再び機能し、インデックス番号とリリース日での並べ替えが可能に。EPUB のフォントサイズ選択も改善。
  • iOS デバイスでのバックグラウンドオーディオブック再生が機能。

Bookshelf プラグインは非推奨となり、その機能はサーバーに統合されるか、ComicVine および GoogleBooks プロバイダーに抽出された。

アップグレードノート:飛びつく前に読むこと

このリリースはデータベーススキーマを変更し、初回起動時にデータを積極的に書き換える。以前のバージョンに戻る唯一の方法はバックアップだ。要点:

  • 12.0 にアップグレードする前に、10.10.7 または任意の 10.11.x リリースを実行している必要がある。
  • ユーザー名は大文字と小文字を区別しなくなり、大文字小文字の違いだけの2つのアカウントは持てない。そのようなユーザーがいる場合、移行は失敗する。
  • アップグレード後は完全なライブラリスキャンが必要。自動グループ化された代替バージョンはアップグレード中にクリアされ、スキャンするまで欠落しているように見える。
  • 最初のスキャンは通常より大幅に時間がかかり、一部の映画が新規追加として表示される場合がある。これは想定内。
  • アップグレード前にサードパーティプラグインを削除すること。10.11 プラグインは 12.0 では読み込まれない。
  • 非常に古いサードパーティクライアントは動作しなくなる。レガシーな /emby/ および /mediabrowser/ アドレスのサポートが削除され、非推奨のサインイン方法は無効化された。

移行を意図的に実行したい場合は、サーバーが --mode MigrateSystem を受け付けるようになり、これによりアップグレードを実行して Jellyfin の残りを起動せずに終了する。

先頭の「10.」は決して変わらず、何も伝えなかった。だから、実際に重要な数字を中間の位置に押しやり、「メジャー」リリースをマイナーに見せていただけだ。
Manul X 編集部