MySQLを使用して複数のデバイス間でKodiライブラリを同期する方法

公開: 2022-01-29

Kodiは今でも最も強力なメディアセンターアプリケーションの1つであり、強力なメディアPCから小さなRaspberryPiまであらゆるもので動作します。 しかし、家に複数のテレビがある場合、それらがすべて同期しているといいのではないでしょうか。

デフォルトでは、複数のKodiマシンがある場合、それらはお互いを認識しません。 あるテレビで視聴したエピソードは、別のテレビでは「視聴済み」として表示されません。 でも、寝室のコディボックスがあなたが居間で見たものを知っていたら、そしてその逆だったらいいのではないでしょうか? 居間で映画を見るのをやめて、家のどこかで中断したところから再開できたらいいのにと思いませんか?

まあ、それは可能です—それはほんの少しのセットアップを必要とします。 これがその方法です。

必要なもの

これから行う同期の魔法の中核は、MySQLデータベースです。 これまで使用したことがない場合でも、慌てる必要はありません。 少し技術的なノウハウが必要ですが、私たちはあなたに道のすべてのステップを案内するためにここにいます。 よく従えば問題ありません。

これから行うのは、無料バージョンのMySQLサーバーをインストールしてから、すべてのKodiマシンに、そのサーバー上のデータベースをライブラリとして使用するように指示することです(個々のコンピューターに個別のデータベースを使用するのではありません)。 その時点から、Kodiが特定のテレビ番組のエピソードや映画を見たか、メディアを一時停止したか、ブックマークを設定したかを確認するとき、目の前に立っている特定のメディアセンターに応答するだけではありません。 、しかし家の中のすべてのメディアセンターのために。

このプロジェクトでは、次のものが必要です。

  • Kodiがインストールされている複数のメディアセンター(これらはすべてKodiの同じベースバージョンである必要があります。このガイドではv17「Krypton」を使用します)。
  • MySQL CommunityServerの無料コピー-Kodiwikiは、新しい5.7ではなくバージョン5.5を取得することを推奨しているため、このチュートリアルではこれを使用します。
  • MySQLサーバーを実行するための常時稼働またはほぼ常時稼働のコンピューター。
広告

メディアセンターを使用している間、常にオンになる任意のコンピューターにMySQLサーバーをインストールできます。 この例では、映画やテレビ番組を保存しているのと同じ常時接続のホームサーバーにMySQLをインストールします。これにより、Kodiがメディアを利用できるときはいつでも、データベースも利用できます。

ステップ1:MySQLサーバーをインストールします

このチュートリアルでは、Windows 10を実行しているメディアサーバーにMySQLをインストールします。インストール手順は、どのバージョンのWindowsにも一致する必要があります。 その他のオペレーティングシステムについては、MySQL5.5マニュアルを参照してください。

MySQLのインストールは簡単です。 サーバーインストールアプリをダウンロードして実行するだけです。 使用許諾契約と「通常の」インストールに同意します。 終了したら、「MySQLインスタンス構成ウィザードの起動」がチェックされていることを確認し、「終了」をクリックします。

MySQL構成ウィザードが起動し、詳細構成と標準構成のどちらかを選択するオプションが表示されます。 [標準構成]を選択して、[次へ]をクリックします。

次の画面で、[Windowsサービスとしてインストール]をオンにし、MySQLという名前を付けます。または、何らかの目的で複数のMySQLサーバーを実行している場合は、一意の名前を付けます。[MySQLサーバーを自動的に起動する]をオンにして、MySQLを確認します。サーバーは必要なときに常にオンになっています。

次の画面で、[セキュリティ設定の変更]をオンにし、新しいrootパスワードを入力して、[リモートマシンからのrootアクセスを有効にする]をオンにします。

広告

クリックして最終画面に移動し、[実行]を押して、指定したパラメーターを使用してウィザードにすべてを設定させます。 終了したら、ステップ2に進みます。

ステップ2:MySQLユーザーを設定する

次に、メディアセンターのMySQLサーバーにユーザーアカウントを作成します。 このためには、コマンドラインで少し作業する必要があります。 開始するには、MySQLコマンドラインクライアントを実行します。スタートメニューにそのエントリが必要です。

コンソールが開いたら、前の手順で作成したパスワードを入力します。 次に、MySQLサーバーのプロンプトが表示されます。

プロンプトで、次のコマンドを入力し、各コマンドの後にEnterキーを押して、データベースサーバー上にユーザーを作成します。

 CREATE USER'kodi 'IDENTIFIED BY'kodi';
 GRANT ALL ON *。* TO'kodi ';
 フラッシュ特権;

最初のコマンドの最初の部分はユーザーを作成し、2番目の部分はパスワードを作成します。 同一のログイン/パスワードは一般に大きなセキュリティですが、この場合は、簡単にするために一致するペアを使用しても問題ありません。 プライベートサーバー上のMySQLデータベースは、視聴したDexterのエピソードを追跡するため、リスクの高いインストールではありません。

今のところ、コマンドラインで行う必要があるのはこれだけです。ただし、MySQLサーバーのコマンドプロンプトを開いたままにしておくことをお勧めします。ただし、後でチェックインして、Kodiがデータベースを作成したらデータベースを確認します。我ら。

広告

Kodiを構成する前に、最後のタスクが1つあります。 MySQLをインストールしたマシンのファイアウォールでポート3306(MySQLサーバーポート)が開いていることを確認してください。 デフォルトでは、Windowsインストーラーは自動的にポートを開く必要がありますが、開かない状況が見られます。 ポートを開く最も簡単な方法は、PowerShellコマンドを使用することです。 [スタート]メニューでPowerShellを検索し、それを右クリックして[管理者として実行]を選択します。

次に、次のコマンドを実行して、Enterキーを押します。

 New-NetFirewallRule -DisplayName "MySQLのインバウンドTCPポート3306を許可する" -Direction inbound –LocalPort 3306 -Protocol TCP -Action Allow

以下に示すように、コマンドが成功した場合は、続行してください。

ステップ3:現在のKodiライブラリをバックアップする(オプション)

関連: Kodiアートワークをビデオと同じフォルダに保存する方法

デフォルトでは、Kodiは内部SQLiteデータベースを使用します。 Kodiがホームネットワークを介して効果的に通信するには、外部のMySQLデータベースを使用するようにKodiに指示する必要があります。 ただし、そのステップに進む前に、経営陣の決定を下す必要があります。現在のライブラリをバックアップして後で復元するか(これは厄介な場合があります)、新しいライブラリで最初からやり直すことができます(これは簡単ですが、ショーの視聴状態をリセットする必要があります。ローカルに保存しない場合は、アートワークを再選択する必要があります)。

現在のライブラリをバックアップしたい場合は、Kodi内からバックアップできます。 これは1台のマシンからのみ実行してください。最新のライブラリを備えたマシンを選択してください。 Kodiを開き、[設定]> [メディア設定]> [ライブラリのエクスポート]に移動します。 (これらのオプションが表示されない場合は、メニューがKodiで「Advanced」または「Expert」に設定されていることを確認してください。)

ライブラリを単一のファイルまたは個別のファイルとしてエクスポートできます。 1つのファイルでバックアップを1つの場所に配置でき、複数のファイルで余分なJPGファイルとNFOファイルがメディアフォルダに分散されます。これは信頼性が高くなりますが、かなり雑然としています。 必要なオプションを選択してください。

ライブラリがバックアップされたら、次の手順に進みます。

ステップ4:新しいMySQLサーバーを使用するようにKodiを構成する

ライブラリをバックアップしたら(またはライブラリを気にせずに最初からやり直すことを選択すると)、KodiをMySQLサーバーにポイントする準備が整います。 Kodiを実行しているすべてのマシンでこの手順を実行する必要がありますが、最初に1台のマシンで設定することをお勧めします。選択した場合は、ライブラリをバックアップしたのと同じマシンである可能性があります。

広告

KodiがMySQLを指すようにするには、Kodiのadvancedsettings.xmlファイルを編集する必要があります。 デフォルトでは、このファイルは存在しません(ただし、インストールプロセス中に、Kodiが特定の構成の問題に対処するためにファイルを作成した可能性があります)。 Advancedsettings.xmlファイルが存在する場合、OSに基づいて次の場所にあります。

  • Windows :C:\ Users \ [username] \ AppData \ Roaming \ Kodi \ userdata
  • Linuxおよびその他のKodiのライブバージョン:$ HOME / .kodi / userdata
  • macOS :/ Users / [username] / Library / Application Support / Kodi / userdata

そのフォルダをチェックインします。 そこにadvancedsettings.xmlファイルはありますか? はい? それを開きます。 番号? テキストエディタを開いて作成する必要があります。 既存のテキストを編集するか、新しいテキストを作成するかに関係なく、次のテキストを切り取ってファイルに貼り付けます(注:advancedsettings.xmlファイルに既にいくつかのエントリがある場合は、それらをそのままにして、これらの値を正しいセクション):

<高度な設定>
<ビデオデータベース>
<type> mysql </ type>
<host> 192.168.1.10 </ host>
<ポート> 3306 </ポート>
<user> kodi </ user>
<pass> kodi </ pass>
</ videodatabase>

<musicdatabase>
<type> mysql </ type>
<host> 192.168.1.10 </ host>
<ポート> 3306 </ポート>
<user> kodi </ user>
<pass> kodi </ pass>
</ musicdatabase>
</ Advancedsettings>

上記のテキストを編集して、LAN上のサーバーのIPアドレスとMySQLデータベースのユーザー名/パスワードを反映します(この例では、kodi / kodiのみでした)。 この基本的な設定では、ビデオライブラリと音楽ライブラリを同期する必要がありますが、Kodiの他の部分を同期したり、複数のプロファイルを使用している場合は名前タグと同期したりすることもできます。

Advancedsettings.xmlファイルの準備ができたら、そのマシンでKodiを開きます。 ライブラリをインポートするか([設定]> [メディア設定]> [ライブラリのインポート]から)、ソースを再スキャンして、MySQLデータベースへの入力を最初から開始する必要があります。 今それをしなさい。

それが完了し、ライブラリが元の場所に戻ったら、MySQLコマンドプロンプトに移動して、Kodiがデータベースを作成してデータを入力したことを確認できます。 mySQLコメントプロンプトで、次のコマンドを実行します。

 データベースを表示します。
広告

現在MySQLサーバー上にあるすべてのデータベースを出力します。 少なくとも次のデータベースが表示されます: information_schemamysql 、およびperformance_schemeは、MySQLインストール自体の一部であるためです。 Kodiのデフォルトのデータベース名はmyvideos107mymusic60です(この例では音楽用のデータベースを使用していないため、ビデオデータベースのみがリストに表示されます)。

MySQLサーバーからデータベースを削除する必要がある場合は、次のコマンドを使用できます。

 DROPDATABASEデータベース名;

空のデータベースはほとんどスペースを占有せず、同期システムのパフォーマンスに悪影響を与えることはありませんが、物事を整頓しておくのは良いことです。

データベースがそこにある場合、それは良いスタートですが、Kodiがデータベースに適切にデータを入力しているかどうかを確認するために簡単なチェックを実行する価値があります。 MySQLコマンドプロンプトから、次のコマンドを実行します( databasenameをビデオデータベースの名前に置き換えます)。

 databasename.movi​​eからCOUNT(*)を選択します。
 databasename.tvshowからCOUNT(*)を選択します。

各クエリは、ライブラリに含まれている映画とテレビ番組の総数をそれぞれ返します(MySQLデータベースによる)。 ご覧のとおり、私たちの場合、182本の映画と43本のテレビ番組でライブラリを認識しています。

エントリ数がゼロの場合は、どこかに問題があります。 よくある間違いの簡単なトラブルシューティングチェックリストは次のとおりです。

  • Kodiを起動してライブラリを再作成する前に、advancedsettings.xmlファイルをマシンにコピーしましたか?
  • GRANT ALLコマンドを使用して、KodiアカウントにMySQLサーバーへのアクセスを許可しましたか?
  • MySQLホストマシンのファイアウォールでポート3306を開きましたか?
  • Advancedsettings.xmlファイルを削除してローカルデータベースに戻すときに、ソースは有効でスキャン可能ですか? そうでない場合は、MySQLの問題とは関係なくソースのトラブルシューティングを行う必要があります。
広告

すべてが正常に見え、 SELECT COUNTクエリがパンアウトした場合は、クロスメディアセンター同期を利用する準備ができていることを意味します。

ステップ5:他のKodiマシンに対してステップ4を繰り返します

難しい部分は終わりました! ここで、他の各Kodiマシンに移動し、手順4で行ったのと同じテキストをadvancedsettings.xmlファイルに配置する必要があります。 これを行うと(そしてそのマシンでKodiを再起動すると)、MySQLサーバーからライブラリ情報をすぐに取得する必要があります(ライブラリを自分で再入力する必要はありません)。

LibreELECを実行しているRaspberryPisなどの一部のデバイスでは、ネットワーク設定に移動し、これが正しく機能するために「Kodiを起動する前にネットワークを待つ」がオンになっていることを確認する必要があります。

さらに、ビデオがパスワードを必要とする共有上にあり、新しいマシンでadvancedsettings.xmlをセットアップした後にエラーが発生した場合は、[ファイル]ビューに移動し、[ビデオの追加]をクリックする必要があります。共有上のフォルダにアクセスして、Kodiが資格情報の入力を求めるようにします。 次に、[キャンセル]をクリックするか、「なし」タイプのメディアを含むものとしてソースを追加できます。

そこから、1つのボックスでビデオを見てみてください。 終了すると、他のKodiデバイスでも「監視済み」と表示されることがわかります。 あるマシンでビデオを停止し、別のマシンで再生するために選択するだけで、中断したところから再開することもできます。 新しい家全体のライブラリの同期をお楽しみください!

画像クレジット:FLIRC Kodi Edition Raspberry Pi Case