PLEX Media serverのTheMovieDatabase Agentを日本語対応にする

PLEX Media serverというソフトがある。

www.plex.tv

これは自宅のPCをメディアサーバー化して、外部(PCだけでなくiOSAndroidにも対応)から自宅の映像コンテンツを再生可能にするもの。メディアサーバー化するフリーソフトはたくさんあるのだが、このソフトが優秀なのはPC内をスキャンして、コンテンツのファイル名などを元にネットから映画の概要、出演者、スタッフおよびサムネイルを引っ張ってきてデータベースを構築してくれること。アニメなんかシーズンごとに各話すべてのあらすじを自動で突っ込んでくれるので感動ものである。

ただし日本で使うのに問題点がいくつか。

  • 検索先が英語圏のデータベースなので、そもそも日本語のデータが少ない。
  • 最近、意外に日本語データが増えてきたTheMovieDatabaseのMetadata Agent(データ引用のためのプラグイン)が日本語対応していない。
  • プラグインが日本語に対応しているFreebaseの日本語データが貧弱。

ということで、TheMovieDatabaseのMetadata Agentのソースをわずかにいじったらうまく動いたっぽいので書いておく。

  1. PLEX Media serverをインストールする。
  2. GitHub - plexinc-agents/TheMovieDB.bundleから最新のTheMovieDatabaseのAgentをダウンロードする。

  3. PLEXが起動中の場合は終了する。(タスクバー通知アイコンを右クリ→終了)
  4. ”C:\Program Files (x86)\Plex\Plex Media Server\Resources\Plug-ins-XXXXXXX\TheMovieDB.bundle\” を開く。
    (インストール先は初期設定の場合。XXXXXXXは人によって違う)
  5. 先ほどダウンロードした最新のTheMovieDatabaseのAgentを、zipから展開してさっき開いたTheMovieDB.bundleフォルダに丸ごと上書きコピー。
  6. ”C:\Program Files (x86)\Plex\Plex Media Server\Resources\Plug-ins-XXXXXXX\TheMovieDB.bundle\Contents\Code” を開く。
    (インストール先は初期設定の場合。XXXXXXXは人によって違う)
  7. 「countrycode.py」をテキストエディタで開く。(書き換え前に念のためバックアップすること)
  8. 25行目の
      "Jamaica": "JM",
    の次に
      "Japan": "JP",
    の1行を追加する。
  9. 167行目の
      "JM": "Jamaica",
    の次に
      "JP": "Japan",
    の1行を追加する。
  10. 上書き保存する。
  11. 「_init_.py」をテキストエディタで開く。(書き換え前に念のためバックアップすること)
  12. 54行目を
                 Locale.Language.Korean
    から
                 Locale.Language.Korean, Locale.Language.Japanese
    に変更する。
  13. 上書き保存する。
  14. PLEX Media serverを起動する。
  15. 自分の映画ライブラリの「編集」(鉛筆アイコン)→「一般」→「言語」を「日本語」に設定する。
  16. 続いて「詳細設定」→「エージェント」を「TheMovieDatabase」に設定する。
  17. 「変更を保存」をクリック。
  18. これで日本語でスキャンされる。

既にある映画のデータを再スキャンしたい場合は、

  1. 対象の映画をクリック。
  2. 左側の縦に並ぶアイコンの一番下「・・・」をクリック。
  3. 出てくるメニューから「不正なマッチングを修正する」をクリック。
  4. 出てきたウインドウの「検索オプション」をクリック。
  5. エージェントを「TheMovieDatabase」、言語を「日本語」に設定。(先ほどのプラグイン修正により言語リストの一番下に日本語が追加されている)
  6. 「検索」をクリック。
  7. リストの中に希望のものが出たら選択。

ちなみにTheMovieDatabaseでの日本語タイトルの検索は厳しく、ゆらぎ対応等はない。(例えば「シュガーラッシュ」と「シュガー・ラッシュ」は別と認識される)
ヒットしない場合は原題を英語で入力して検索させたほうが早い。

どうしてもヒットしない or 英語の概要が読み込まれる場合は、単純にTheMovieDatabaseに日本語データが入力されてない(と思われる)ので、どんどん追加入力しちゃってやってください。なにしろオープンデータベースですから、誰でも追加できますので。

同様のやり方でTheTVDBも対応できるのかもしれないが、まだ試していない。