「Kodi」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(校正(でき・出来))
 
(5人の利用者による、間の17版が非表示)
1行目: 1行目:
[[Category:プレイヤー]]
+
[[Category:ホームシアター]]
 
[[en:Kodi]]
 
[[en:Kodi]]
  +
[[zh-hans:Kodi]]
 
{{Note|バージョン14のリリースから XBMC は Kodi に名前が変更されました。}}
 
{{Note|バージョン14のリリースから XBMC は Kodi に名前が変更されました。}}
   
Kodi はフリーで、[http://www.gnu.org/copyleft/gpl.html オープンソース (GPL)] のマルチメディアプレイヤーであり、もともとは初代の [[Wikipedia:ja:Microsoft Xbox|XBox]] 上で動作していました (次世代ハードの Xbox 360 ではありません)。現在では Linux, Mac OS X, Windows, Android, iOS などのデバイスで動作します。Kodi を使うことでよく使われているフォーマットの動画、音声、画像や、あまり有名でないフォーマットを再生・表示することができます:
+
Kodi はフリーで、[https://www.gnu.org/copyleft/gpl.html オープンソース (GPL)] のマルチメディアプレイヤーであり、もともとは初代の [[Wikipedia:ja:Microsoft Xbox|XBox]] 上で動作していました (次世代ハードの Xbox 360 ではありません)。現在では Linux, macOS, Windows, Android, iOS などのデバイスで動作します。Kodi を使うことでよく使われているフォーマットの動画、音声、画像や、あまり有名でないフォーマットを再生・表示することができます:
   
 
* 動画 - DVD-Video, VCD/SVCD, MPEG-1/2/4, DivX, XviD, Matroska。
 
* 動画 - DVD-Video, VCD/SVCD, MPEG-1/2/4, DivX, XviD, Matroska。
15行目: 16行目:
 
== インストール ==
 
== インストール ==
 
[[公式リポジトリ]]から {{Pkg|kodi}} パッケージを[[pacman|インストール]]してください。あなたの使い道にあわせて、pacman によって表示される任意の依存パッケージもインストールするようにします。
 
[[公式リポジトリ]]から {{Pkg|kodi}} パッケージを[[pacman|インストール]]してください。あなたの使い道にあわせて、pacman によって表示される任意の依存パッケージもインストールするようにします。
  +
  +
{{Note|Arch Linux ARM には特定のデバイス用のパッケージが存在します。デバイスによっては何も設定しなくても動作しますが、{{Pkg|kodi}} パッケージとは互換性がないことがあるので注意してください。}}
   
 
== 設定 ==
 
== 設定 ==
24行目: 27行目:
 
==== Kodi-standalone-service ====
 
==== Kodi-standalone-service ====
 
[[AUR]] の {{AUR|kodi-standalone-service}} パッケージは {{ic|kodi.service}} を提供して、スタンドアロンモードで Kodi を動かすのに必要なユーザーを作成します。Xorg パッケージが 1.16-1 にアップデートされた時に Arch の開発者が削除した、レガシーな systemd サービスと post install スクリプトの代わりになるものです ([https://projects.archlinux.org/svntogit/community.git/commit/trunk?h=packages/xbmc&id=9763c6d32678f3a3f45c195bfae92eee209d504f このコミット] を参照)。機能的には、違いはありません。
 
[[AUR]] の {{AUR|kodi-standalone-service}} パッケージは {{ic|kodi.service}} を提供して、スタンドアロンモードで Kodi を動かすのに必要なユーザーを作成します。Xorg パッケージが 1.16-1 にアップデートされた時に Arch の開発者が削除した、レガシーな systemd サービスと post install スクリプトの代わりになるものです ([https://projects.archlinux.org/svntogit/community.git/commit/trunk?h=packages/xbmc&id=9763c6d32678f3a3f45c195bfae92eee209d504f このコミット] を参照)。機能的には、違いはありません。
  +
  +
{{Warning|Arch Linux ARM を使っている場合はパッケージをインストールしてはいけません。}}
   
 
{{ic|kodi.service}} を起動して、ブート時に起動するように[[有効化]]してください。
 
{{ic|kodi.service}} を起動して、ブート時に起動するように[[有効化]]してください。
  +
  +
{{Note|
  +
* 使用しているハードウェアにあった Xorg ビデオドライバーが必要です。
  +
* 特別な設定は必要ありません。
  +
* エラーが起こる場合、次のセクションに書かれている行を {{ic|/etc/X11/Xwrapper.config}} に追加してください。
  +
}}
   
 
==== Xsession と LightDM ====
 
==== Xsession と LightDM ====
  +
{{Note|
{{Note|以下の設定は、システム上に kodi ユーザーを既に作成していることを前提としています。}}
 
  +
* 以下の設定は、システム上に kodiuser という名前のユーザーを既に作成していることを前提としています。
  +
* {{AUR|kodi-standalone-service}} は kodi という名前のユーザーを作成しますが、ログインはできないため、自動ログインすることはできません。
  +
* lightdm は X サーバーに依存していません。あくまで任意の依存パッケージという扱いですが {{ic|lightdm.service}} によって root で実行された場合は任意の依存パッケージとされている X サーバー (xephyr) は機能しません ({{Bug|52067}} や [https://bugs.launchpad.net/lightdm/+bug/852577 上流のバグ] を参照)。Xorg サーバーをインストールしていない場合、[[Xorg#インストール|xorg-server]] をインストールしてください。
  +
}}
  +
  +
{{hc|/etc/X11/Xwrapper.config|2=
  +
needs_root_rights = yes}}
   
 
LightDM で自動ログインを使用する方法は [[LightDM#自動ログインを有効にする]] を見て下さい。''Kodi'' には [[xsession]] として {{ic|kodi.desktop}} が含まれています。
 
LightDM で自動ログインを使用する方法は [[LightDM#自動ログインを有効にする]] を見て下さい。''Kodi'' には [[xsession]] として {{ic|kodi.desktop}} が含まれています。
37行目: 55行目:
 
run-directory=/run/lightdm
 
run-directory=/run/lightdm
   
  +
[Seat:*]
[SeatDefaults]
 
 
session-wrapper=/etc/lightdm/Xsession
 
session-wrapper=/etc/lightdm/Xsession
 
pam-service=lightdm-autologin
 
pam-service=lightdm-autologin
autologin-user=kodi
+
autologin-user=kodiuser
 
autologin-user-timeout=0
 
autologin-user-timeout=0
 
user-session=kodi
 
user-session=kodi
47行目: 65行目:
 
==== ソケットアクティベーション ====
 
==== ソケットアクティベーション ====
   
ソケットアクティベーションを使うことで、ユーザーがリモートコントロールアプリを起動したり、Kodi の html コントロールポートに接続したときに、Kodi を起動するように設定することができます。{{ic|systemctl start kodi@user.socket}} でアクティベーションを起動してください (''user'' は Kodi を起動するユーザーに置き換えて下さい)。セットアップ次第では、''kodi@.socket'' のポートは変える必要があります
+
ソケットアクティベーションを使うことで、ユーザーがリモートコントロールアプリを起動したり、Kodi の html コントロールポートに接続したときに、Kodi を起動するように設定することができます。{{ic|systemctl start kodi@user.socket}} でアクティベーションを起動してください (''user'' は Kodi を起動するユーザーに置き換えて下さい)。
  +
  +
{{AUR|kodi-standalone-socket-activation}}{{Broken package link|パッケージが存在しません}} パッケージに {{ic|kodi@.service}} と {{ic|kodi@.socket}} が入っており、スタンドアロンモードでポート 8082 を使用して Kodi を起動することができます。セットアップ次第では、{{ic|kodi@.socket}} のポートは変える必要があります。手動で以下の systemd ファイルを使ってください。
   
 
{{hc|/etc/systemd/system/kodi@.service|
 
{{hc|/etc/systemd/system/kodi@.service|
76行目: 96行目:
 
[Install]
 
[Install]
 
WantedBy=sockets.target</nowiki>}}
 
WantedBy=sockets.target</nowiki>}}
  +
  +
==== LIRC / irexec のリモコン操作による起動 ====
  +
{{AUR|kodi-standalone-service}} と {{Pkg|lirc}} パッケージを使うことで、リモコンのキーを押したときに Kodi を起動するような設定が可能です。このセットアップは [[Raspberry Pi]] などで特に有用で、例えば Pi を Wifi のアクセスポイントならびに PVR クライアントとして使用する場合など、コンピュータ自体は24時間365日動作させつつ Kodi は必要がないときは停止させることができます。Kodi を再度起動するのにキーボードにまで手を伸ばす必要はありません。
  +
  +
[[LIRC]] の設定を完了して、{{AUR|kodi-standalone-service}} パッケージをインストールしてください。
  +
  +
以下の内容で {{ic|/var/lib/kodi/.lircrc}} ファイルを作成:
  +
{{hc|/var/lib/kodi/.lircrc|
  +
<nowiki>
  +
begin
  +
prog = irexec
  +
remote = devinput
  +
button = KEY_MEDIA
  +
config = pgrep kodi-standalone || /usr/bin/kodi-standalone -l /run/lirc/lircd
  +
repeat = 0
  +
end
  +
</nowiki>
  +
}}
  +
{{ic|button}} には Kodi を起動するのに使いたいリモコンのボタンを指定してください。irw を使うことで {{ic|remote}} や {{ic|button}} に入力するべき値を確認できます (参照: [[LIRC#リモコンのテスト]])。
  +
  +
次に {{ic|/usr/lib/systemd/system/}} の {{ic|kodi.service}} を {{ic|/etc/systemd/system/}} にコピーして次の行を:
  +
ExecStart = /usr/bin/kodi-standalone -l /run/lirc/lircd
  +
以下のように置き換えてください:
  +
ExecStart = /usr/bin/irexec
  +
  +
最後に {{ic|kodi.service}} を起動・有効化してください。
   
 
=== 複数のノード間でデータベースを共有する ===
 
=== 複数のノード間でデータベースを共有する ===
91行目: 137行目:
 
* メディアは次のマウントポイント上に存在している状態です: {{ic|/mnt/tv-shows}} {{ic|/mnt/movies}} {{ic|/mnt/music}}。
 
* メディアは次のマウントポイント上に存在している状態です: {{ic|/mnt/tv-shows}} {{ic|/mnt/movies}} {{ic|/mnt/music}}。
 
* 全てのノードのネットワークアドレスは 192.168.0.* のサブネットに収まっているとします。
 
* 全てのノードのネットワークアドレスは 192.168.0.* のサブネットに収まっているとします。
* NFSv4 エクスポートを使用することとします。
 
 
* NFS エクスポートと MySQL データベースを動かすマシンの IP アドレスは 192.168.0.105 です。
 
* NFS エクスポートと MySQL データベースを動かすマシンの IP アドレスは 192.168.0.105 です。
 
* Kodi を使用する個々のコンピュータはノードと表記します。
 
* Kodi を使用する個々のコンピュータはノードと表記します。
99行目: 144行目:
   
 
==== NFS サーバーのセットアップ ====
 
==== NFS サーバーのセットアップ ====
このセクションでは NFS エクスポート (NFSv4) を使用する例を挙げます。ただし、上で説明したように、Kodi は様々なプロトコルを読み込むことが可能です。
+
このセクションでは [[NFS]] エクスポートを使用する例を挙げます。ただし、上で説明したように、Kodi は様々なプロトコルを読み込むことが可能です。
  +
{{Warning|Kodi は {{Pkg|libnfs}} を使用して NFS 共有にアクセスしますが libnfs は NFSv3 にしか対応していません ([https://github.com/sahlberg/libnfs/issues/37 #37] や [https://github.com/sahlberg/libnfs/issues/156 #156] を参照)。そのため NFSv3 からも接続できるようにサーバーを設定しないと Kodi から共有にアクセスできなくなります。}}
{{Note|Users only need one box on the LAN to serve the content, therefore, do not repeat this for each node. The following example assumes the user is running Arch Linux, but any NFS server will work, be it Linux or BSD, etc.}}
 
  +
{{Note|以下の設定を全てのノードで繰り返す必要はありません。以下の例では Arch Linux を使っていますが、NFS サーバーはどの Linux や BSD でもかまいません。}}
   
 
NFS サーバーは {{Pkg|nfs-utils}} によってインストールすることができ、コンテンツを供給するコンピュータにインストールするだけで十分です。
 
NFS サーバーは {{Pkg|nfs-utils}} によってインストールすることができ、コンテンツを供給するコンピュータにインストールするだけで十分です。
129行目: 175行目:
 
# exportfs -rav
 
# exportfs -rav
   
{{ic|nfs-common.service}} を[[起動]]して、ブート時に動作するように[[有効化]]してください。
+
{{ic|rpcbind.service}} と {{ic|nfs-server.service}} を[[起動]]して、ブート時に動作するように[[有効化]]してください。
   
 
任意で、次のコマンドを使って確認をします:
 
任意で、次のコマンドを使って確認をします:
149行目: 195行目:
   
 
初期設定:
 
初期設定:
  +
# mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
 
# mysql_secure_installation
 
# mysql_secure_installation
 
<<follow the in-script prompts and answer "Y" to all the questions>>
 
<<follow the in-script prompts and answer "Y" to all the questions>>
 
$ mysql -u root -p
 
$ mysql -u root -p
 
<<enter the mysqld root password assigned in the first step>>
 
<<enter the mysqld root password assigned in the first step>>
MariaDB [(none)]> CREATE USER 'kodi' IDENTIFIED BY 'kodi';
+
MariaDB [(none)]> CREATE USER 'kodi'@'localhost' IDENTIFIED BY 'kodi';
MariaDB [(none)]> GRANT ALL ON *.* TO 'kodi';
+
MariaDB [(none)]> GRANT ALL ON *.* TO 'kodi'@'localhost';
 
MariaDB [(none)]> \q
 
MariaDB [(none)]> \q
   
164行目: 211行目:
   
 
===== 共通の MySQL データベースを使うように Kodi を設定 =====
 
===== 共通の MySQL データベースを使うように Kodi を設定 =====
  +
Kodi に共通のデータベースを使わせるには、Kodi が動作していないのを確認して、以下のファイルを作成してください:
To tell Kodi to use the common database, insure that Kodi is not running, then create the following file:
 
 
{{hc|~/.kodi/userdata/advancedsettings.xml|
 
{{hc|~/.kodi/userdata/advancedsettings.xml|
 
<advancedsettings>
 
<advancedsettings>
190行目: 237行目:
 
}}
 
}}
   
{{Tip|If using {{AUR|kodi-standalone-service}}, the default for the profile is /var/lib/kodi/.kodi and be sure to chown the newly created file to the kodi user and group, i.e. {{ic|# chown -R kodi:kodi /var/lib/kodi}}}}
+
{{Tip|{{AUR|kodi-standalone-service}} を使用する場合、プロファイルのデフォルトは {{ic|/var/lib/kodi/.kodi}} になっています。新しく作成されたファイルを chown して kodi ユーザーとグループになるようにしてください: {{ic|# chown -R kodi:kodi /var/lib/kodi}}}}
   
 
===== ネットワーク共有の設定 =====
 
===== ネットワーク共有の設定 =====
  +
{{Warning|この設定は一度だけ、ノードのどれか一つでだけ行えば十分です。設定をしてしまえば、他のノードは {{ic|~/.kodi/userdata/advancedsettings.xml}} に対応します。他の設定は必要ありません。}}
{{Warning|This only needs to be done once, on only one of the nodes. Once completed, configuration of subsequent nodes is a drop-in operation of ~/.kodi/userdata/advancedsettings.xml; no other configuration is needed!}}
 
  +
{{Note|たとえ NFS や MySQL サーバーを動かしているのと同じコンピュータで Kodi を動作させる場合でも、nfs 共有だけを使うようにメディアを設定する必要があります。}}
{{Note|Even if Kodi is running on the same box that is also running the NFS exports and MySQL server, one ''MUST'' setup the media using the nfs shares only!}}
 
   
  +
Kodi をロードして以下を辿るようにしてインターフェイスからエクスポートに対応するネットワーク共有を定義してください:
Load Kodi and define the network shares that correspond to the exports by browsing to the following within the interface:
 
 
Video>Files>Add Videos>Browse>Network Filesystem(NFS)
 
Video>Files>Add Videos>Browse>Network Filesystem(NFS)
   
  +
数秒後、NFS サーバーに対応する IP アドレスが表示されるはずです。
After a few seconds, the IP address corresponding to the NFS server should appear.
 
   
  +
リストから "/srv/nfs/tv-shows" を選択してから右のメニューで "OK" を選びます。この共有には "TV Shows" のカテゴリが割り当てられ、適切なスクレーパーが設定されて適当なメタデータで MySQL データベースが作成されます。
Select "/srv/nfs/tv-shows" from the list of share and then "OK" from the menu on the right. Assign this share the category of "TV Shows" to setup the appropriate scraper and to populate the MySQL database with the correct metadata.
 
   
  +
上記の手順を "movies" や "music" でも繰り返したら、Kodi を終了してください。ここで、MySQL テーブルが作成されます。
Repeat this browsing process for the "movies" and "music" and then exit Kodi once properly configured. At this point, the MySQL tables should have been created.
 
   
 
==== ネットワーク上の他のノードに設定をコピー ====
 
==== ネットワーク上の他のノードに設定をコピー ====
Setting up another Kodi node on the network to use this library is trivial. Simply copy {{ic|~/.kodi/userdata/advancedsettings.xml}} to that box and restart Kodi.
+
ネットワーク上の他の Kodi ノードがこのライブラリを使用するように設定するのは楽です。コンピューターに {{ic|~/.kodi/userdata/advancedsettings.xml}} をコピーして Kodi を再起動するだけで終わります。
   
  +
{{Note|nfs のエクスポート、プログラムのメタデータ、開始/停止の時間、表示ステータスなどはすべて MySQL のテーブルに保存されているため、ソースを定義するための他のセットアップ手順を行う必要はありません。このファイルがプロファイルディレクトリに追加され、Kodi が再起動された後に問題が発生した場合、そのノードの Kodi プロファイルを単純に再作成し、再度 advancedsettings.xml ファイルをコピーすることをおすすめします。この方法で、GUI そのものへのわずかな設定だけが必要となり、これはしばしば、ローカルデータベースやソースなどの競合をトラブルシューティングするよりも簡単です。}}
{{Note|There is NO need to do any other setup steps to define the sources since the nfs exports, the metadata for the programming, any stop/start times, view status, etc. are all stored in the MySQL tables. If problems are encountered after this file is added to the profile directory and after Kodi is restarted, it is recommended to simply re-create the Kodi profile on that node, and again copy over the advancedsettings.xml file. This way, only a trivial amount of configuration to the GUI itself is required which is often easier than troubleshooting conflicting local databases, sources, and the like.}}
 
   
 
=== リモートコントロールの使用 ===
 
=== リモートコントロールの使用 ===
   
  +
Kodi はリモコンで操作するメディアセンターとして作られているので、サポートされている IR レシーバ/リモコンと PC さえあれば、[[LIRC]] やカーネルでネイティブにサポートされているモジュールを使ってリモコンを利用することができます。Kodi で正しく動作させるには、Kodi のキープレスと lirc のイベントをマップするファイルが必要になります。{{ic|~/.kodi/userdata/Lircmap.xml}} (大文字の 'L' に注意) に [[Wikipedia:ja:XML|XML]] ファイルを作成してください。
As Kodi is geared toward being a remote-controlled media center; any PC with a supported IR receiver/remote, can use remote using [[LIRC]] or using the native kernel supported modules. To work properly with Kodi, a file will be required that maps the lirc events to Kodi keypresses. Create an [[Wikipedia:XML|XML]] file at {{ic|~/.kodi/userdata/Lircmap.xml}} (note the capital 'L').
 
   
  +
{{Note|同梱のサービスファイルから Kodi を実行しているユーザーは、Kodi のホーム (~) が /var/lib/kodi の下にあることがわかるため、上記のショートカットと置き換えてください。また、このファイルを root ユーザーとして作成する場合、作成が完了したときに kodi:kodi という所有権が正しく設定されていることを確認してください。}}
{{Note|Users running Kodi from the included service file will find the kodi home (~) under {{ic|/var/lib/kodi}} and should substitute this in for the shortcut above. Also make sure that if creating this file as the root user, it gets proper ownership as kodi:kodi when finished.}}
 
Lircmap.xml format is as follows:
+
Lircmap.xml のフォーマットは以下の通りです:
   
 
{{bc|1=<lircmap>
 
{{bc|1=<lircmap>
224行目: 271行目:
 
</lircmap>}}
 
</lircmap>}}
   
  +
* '''Device Name''' は LIRC によるリモコンの呼び名です。{{ic|lircd.conf}} で '''Name''' ディレクティブを使って設定され、{{ic|$ irw}} を実行してからリモコンのボタンを押すことで確認できます。IRW は行の最後に、押されたボタンの名前とリモコンの名前を表示します。
* '''Device Name''' is whatever LIRC calls the remote. This is set using the '''Name''' directive in lircd.conf and can be viewed by running {{ic|$ irw}} and pressing a few buttons on the remote. IRW will report the name of the button pressed and the name of the remote will appear on the end of the line.
 
   
* '''XBMC_button''' is the name of the button as defined in [http://kodi.wiki/index.php?title=Keymap.xml keymap.xml].
+
* '''XBMC_button''' [http://kodi.wiki/index.php?title=Keymap.xml keymap.xml] で定義されるボタンの名前です。
   
* '''LIRC_button''' is the name as defined in {{ic|lircd.conf}}. If lircd.conf was autogenerated using {{ic|# irrecord}}, these are the names selected for the buttons. Refer back to [[LIRC]] for more information.
+
* '''LIRC_button''' {{ic|lircd.conf}} で定義される名前です。{{ic|# irrecord}} を使って {{ic|lircd.conf}} を自動生成した場合、ボタンの名前が選択されています。詳しくは [[LIRC]] を参照してください。
   
  +
* この記事のカバー範囲からは外れるので、詳しい情報やヘルプは [http://kodi.wiki/index.php?title=Main_Page Kodi Wiki] の [http://kodi.wiki/view/LIRC LIRC] ページを見てください。
* A very thorough [http://kodi.wiki/index.php?title=Lircmap.xml Lircmap.xml] page over at the [http://kodi.wiki/index.php?title=Main_Page Kodi Wiki] should be consulted for more help and information on this subject as this is out of scope of this article.
 
   
 
==== Lirc と Systemd で MCE リモコンを使う ====
 
==== Lirc と Systemd で MCE リモコンを使う ====
238行目: 285行目:
 
# ln -s /usr/share/lirc/mceusb/lircd.conf.mceusb /etc/lirc/lircd.conf
 
# ln -s /usr/share/lirc/mceusb/lircd.conf.mceusb /etc/lirc/lircd.conf
   
  +
次に、リモコンが lirc プロトコルを使用しているのを確認してください:
Then, make sure the remote is using the lirc protocol:
 
 
$ cat /sys/class/rc/rc0/protocols
 
$ cat /sys/class/rc/rc0/protocols
  +
使用されてなかった場合、次を実行:
If not, issue:
 
 
# echo lirc > /sys/class/rc/rc0/protocols
 
# echo lirc > /sys/class/rc/rc0/protocols
   
  +
udev ルールを追加することで lirc をデフォルトにできます。ルールが動作しないようならば、単純に RUN のコマンドを実行してください。
A udev rule can be added to make lirc the default. A write rule does not seem to work, so a simple RUN command can be executed instead.
 
   
 
{{hc|/etc/udev/rules.d/99-lirc.rules|2=
 
{{hc|/etc/udev/rules.d/99-lirc.rules|2=
 
KERNEL=="rc*", SUBSYSTEM=="rc", ATTR{protocols}=="*lirc*", RUN+="/bin/sh -c 'echo lirc > $sys$devpath/protocols'"}}
 
KERNEL=="rc*", SUBSYSTEM=="rc", ATTR{protocols}=="*lirc*", RUN+="/bin/sh -c 'echo lirc > $sys$devpath/protocols'"}}
   
Finally, enable and start the lirc service. As of lirc 0.9.1 the appropriate service is lircd.socket, not lircd.service:
+
最後に、lirc サービスを有効化・起動します。lirc 0.9.1 から、適切なサービスは {{ic|lircd.socket}} になっており、{{ic|lircd.service}} ではありません:
   
 
# systemctl enable lircd.socket
 
# systemctl enable lircd.socket
 
# systemctl start lircd.socket
 
# systemctl start lircd.socket
   
  +
以上で mce リモコンが完全に動作するはずです。
This should give a fully working mce remote.
 
   
 
==== HDMI-CEC と Pulse Eight USB-CEC ====
 
==== HDMI-CEC と Pulse Eight USB-CEC ====
   
  +
Kodi でリモコンを機能させる簡潔な方法は [[wikipedia:Consumer_Electronics_Control#CEC|CEC]] を使うことです。CEC は HDMI の仕様に含まれているプロトコルです。ほとんどの最新 TV は CEC をサポートしていますが、メーカーによってはこの機能を別の名前で喧伝してることがあります。CEC 対応の TV の他に、TV からの CEC 信号を認識するハードウェアが必要で、さらにそのハードウェアは Kodi で利用できるものでなくてはなりません。そのようなデバイスとして Pulse Eight の [http://www.pulse-eight.com/store/products/104-usb-hdmi-cec-adapter.aspx USB-CEC アダプタ] があります。USB-CEC を接続するのはとても簡単ですが、Arch で使用するには以下を実行する必要があります。
An elegant way of getting remote functions in Kodi is using [[wikipedia:Consumer_Electronics_Control#CEC|CEC]], a protocol that is part of the HDMI specification. Most modern TVs support CEC, although some manufacturers advertise the feature under other names. Apart from a CEC-enabled TV some hardware that takes the CEC signals coming from the TV and present them in a way that Kodi can understand is also needed. One such device is the [http://www.pulse-eight.com/store/products/104-usb-hdmi-cec-adapter.aspx USB-CEC adapter] from Pulse Eight. Hooking up the USB-CEC is pretty simple, but in order for it to work in Arch we have to do a few things.
 
   
Install {{ic|libcec}}.
+
{{ic|libcec}} をインストールしてください。
   
  +
接続時、USB-CEC の {{ic|/dev}} エントリ (大抵 {{ic|/dev/ttyACM*}}) はデフォルトで {{ic|uucp}} グループによって所有されています。Kodi を動かすユーザーでデバイスを使用するにはグループに属している必要があります。また、ユーザーは {{ic|lock}} グループにも加わっている必要があり、そうでないと Kodi はデバイスに接続できません。両方のグループにユーザーを追加するには、次を実行:
When connected, the USB-CEC's {{ic|/dev}} entry (usually {{ic|/dev/ttyACM*}}) will default to being owned by the {{ic|uucp}} group, so in order to use the device the user running Kodi needs to belong to that group. The user also needs to belong to the {{ic|lock}} group, otherwise Kodi will be unable to connect to the device. To add a user to both groups, run
 
   
 
# usermod -aG uucp,lock [username]
 
# usermod -aG uucp,lock [username]
   
  +
複数のユーザーが Kodi を使う場合、上のコマンドを全てのユーザーで繰り返し実行してください。例えば、{{ic|kodi-standalone}} を使用する場合、適切なコマンドは:
If more than one user uses Kodi, repeat the command for all those users. If, for example, one is using {{ic|kodi-standalone}}, the relevant command is
 
   
 
# usermod -aG uucp,lock kodi
 
# usermod -aG uucp,lock kodi
   
  +
ログイン中のユーザーのグループを変更した場合、変更を適用するには、一度ユーザーがログアウトしてからログインしなおす必要があることを覚えておいてください。
Remember that modifying the groups of any logged in users means those users need to log out and login again in order for the changes to take effect.
 
   
  +
{{Note|上記のグループに属していない状態で USB-CEC を使おうとすると問題が発生します (Kodi のクラッシュなど)。適当なユーザーが両方のグループに属していることを確認しましょう。}}
{{Note|Trying to use the USB-CEC without belonging to above groups may lead to problems, including Kodi crashes, so make sure the correct user belongs to both groups.}}
 
   
  +
==ヒントとテクニック‎ ==
==Tips and Tricks ==
 
  +
=== 視聴ログの保存 ===
=== Wunderground Weather Add-on を修正する ===
 
  +
{{AUR|kodi-logger}} を使うことで kodi で視聴した動画を記録できます。
The wunderground now requires users to have an API key in order to receive weather data. An API key is available free of charge for kodi users. To obtain a key, and to configure the add-on follow these steps:
 
   
  +
=== Kodi の CLI ツール ===
# Sign up for an API key at [http://www.wunderground.com/weather/api/d/login.html wunderground]'s automated system.
 
  +
{{AUR|texturecache}} は Kodi の強力な CLI ツールです。ライブラリの管理から何を再生しているのかの確認まで、様々な作業を行うことができます。
# Format the key for kodi's wunderground.py script (it expects the key to be reversed and base64 encoded, see below).
 
# Enter the formatted key into '''WAIK''' variable in {{ic|~/.kodi/addons/weather.wunderground/resources/lib/wunderground.py}}
 
 
To reverse and base64 encode the API key, run this two-liner using your own API key in the "key" variable.
 
 
$ key=9cc49125b91eb85a
 
$ echo $key|rev|base64
 
YTU4YmUxOWI1MjE5NGNjOQo=
 
 
For this example key, the first few lines of {{ic|~/.kodi/addons/weather.wunderground/resources/lib/wunderground.py}} would look like this:
 
# -*- coding: utf-8 -*-
 
 
import urllib2, gzip, base64
 
from StringIO import StringIO
 
 
WAIK = 'YTU4YmUxOWI1MjE5NGNjOQo='
 
 
=== フルスクリーンモードで Kodi が複数のディスプレイにまたがってしまう ===
 
 
For a multi-monitor setup, Kodi may default to stretching across all screens. One can restrict the fullscreen mode to one display by setting the environment variable SDL_VIDEO_FULLSCREEN_HEAD to the number of the desired target display. For example, having Kodi show up on display 0, add the following line to the Kodi user's [[Bashrc]]:
 
 
SDL_VIDEO_FULLSCREEN_HEAD=0
 
 
{{Note|Mouse cursor will be held inside screen with Kodi.}}
 
   
 
=== Intel HD Graphics で動画にちらつきが発生する ===
 
=== Intel HD Graphics で動画にちらつきが発生する ===
  +
映画を視聴する際にティアリングが発生してしまう場合、次を試してください:
Users observing tearing when watching a movie try this:
 
 
https://bbs.archlinux.org/viewtopic.php?id=176651
 
https://bbs.archlinux.org/viewtopic.php?id=176651
   
 
=== CD/DVD ドライブの速度のスローダウン ===
 
=== CD/DVD ドライブの速度のスローダウン ===
   
  +
{{ic|util-linux}} パッケージの {{ic|eject}} プログラムを使うことでスローダウンできますが、メディアを変更した時に設定はクリアされてしまいます。
The {{ic|eject}} program from the {{ic|util-linux}} package does a nice job for this, but its setting is cleared as soon as the media is changed.
 
   
  +
以下の udev ルールで永続的に速度を落とせます:
This udev-rule reduces the speed permanently:
 
   
 
{{hc|/etc/udev/rules.d/dvd-speed.rules|2=
 
{{hc|/etc/udev/rules.d/dvd-speed.rules|2=
317行目: 341行目:
 
}}
 
}}
   
  +
{{ic|sr0}} は光学ドライブのデバイス名に置き換えてください。2倍速から4倍速に設定したい場合は {{ic|-x 2}} を {{ic|-x 4}} で置き換えてください。
Replace {{ic|sr0}} with the device name of the optical drive. Replace {{ic|-x 2}} with {{ic|-x 4}} if the preference is 4x-speed instead of 2x-speed.
 
   
  +
ファイルを作成したら、次のコマンドで udev ルールをリロードします:
After creating the file, reload the udev rules with
 
 
# udevadm control --reload
 
# udevadm control --reload
   
331行目: 355行目:
 
=== ALSA を使う ===
 
=== ALSA を使う ===
   
[[PulseAudio]] が正しく動作しない場合、{{ic|1=AE_SINK=ALSA}} 環境変数を使って Kodi を起動することで ALSA を直接使用するようにしてみてください。
+
[[PulseAudio]] が正しく動作しない場合、{{ic|1=AE_SINK=ALSA}} 環境変数を使って Kodi を起動することで ALSA を直接使用するようにしてみてください。NUC デバイスにおける設定方法が Kodi wiki の [http://kodi.wiki/view/HOW-TO:Install_Kodi_on_an_Intel_NUC#disable_PulseAudio ページ] に載っています
  +
  +
=== Raspberry Pi ===
  +
  +
Kodi は [[Raspberry Pi]] (RPi), RPi2, RPi3 でスムーズに動作します。注意すべきは以下の点です:
  +
* ''kodi'' パッケージの代わりに [https://archlinuxarm.org/packages Arch Linux ARM リポジトリ] から ''kodi-rbp'' (安定版) または ''kodi-rbp-git'' (開発版) パッケージを[[インストール]]してください。
  +
* パッケージにはスタンドアロンモードで動作させるための systemd サービスが入っています。
  +
* デフォルトでは GPU のために予約されているメモリは 64 MB になっています。これでは GPU によって HD 動画の再生を支援するには足りません。{{ic|/boot/config.txt}} の {{ic|gpu_mem}} タグを編集して 128 MB などとしてください。
  +
* 物理キーボードによる入力を有効にするには udev ルール {{ic|1=SUBSYSTEM=="tty", KERNEL=="tty[0-9]*", GROUP="tty", MODE="0660"}} を {{ic|/etc/udev/rules.d/raspberrypi.rules}} に追加して kodi ユーザーを {{ic|tty}} と {{ic|input}} グループに追加してください。
  +
  +
{{Note|Arch ARM の上流で提案されている [https://github.com/archlinuxarm/PKGBUILDs/pull/1416 PR#1416] がマージされた場合、上記の設定は不要になります。}}
  +
  +
==== ウィンドウマネージャで kodi を実行 ====
  +
[[ウィンドウマネージャ]]で kodi を実行すると終了時に画面が表示されなくなることがあります。そのような場合は他の tty に切り替えてください。また、以下のスクリプトを使って kodi を実行することで解決する場合があります (root ユーザーで実行してください):
  +
{{hc|kodi.sh|
  +
#!/bin/bash
  +
kodi-standalone
  +
sudo chvt 2
  +
sleep 1
  +
sudo chvt 1
  +
}}
  +
{{ic|sudoers}} ファイルに以下の行を追加して {{ic|chvt}} を実行するときに [[sudo]] からパスワードを要求されないようにしてください:
  +
{{hc|/etc/sudoers|''UserNameHere'' ALL&#61;NOPASSWD: /usr/bin/chvt}}
  +
  +
==== 右クリックメニューのキー ====
  +
  +
Raspberry Pi では物理キーボードの "Menu Key" が kodi で機能しないことがあります。"Enter Key" を長押しすることで kodi のサブメニューを開けます。
  +
  +
==== USB DAC が動作しない ====
  +
USB DAC/サウンドカードを使っている場合、音声設定から DAC を選択したときに音にノイズが入ったり音が鳴らなくなることがあります。
  +
  +
{{ic|guisettings.xml}} ({{ic|kodi.service}} を使用している場合 {{ic|/var/lib/kodi/.kodi/userdata/}} に存在します) を開いて以下の行を:
  +
  +
<processquality default="'''true'''">'''101'''</processquality>
  +
  +
以下のように変更してください:
  +
  +
<processquality default="'''false'''">'''100'''</processquality>
  +
  +
== トラブルシューティング ==
  +
  +
何かエラーが発生した場合はまず {{ic|~/.kodi/temp/kodi.log}} を確認してみてください。
  +
  +
=== フルスクリーンモードで Kodi が複数のディスプレイにまたがってしまう ===
  +
  +
マルチモニター環境では、Kodi はデフォルトで全てのスクリーンにまたがって表示するようになっています。{{ic|SDL_VIDEO_FULLSCREEN_HEAD}} 環境変数を表示したいディスプレイの番号に設定することでフルスクリーンモードを制限することができます。例えば、Kodi をディスプレイ0で表示するには、以下の行を Kodi ユーザーの [[Bashrc]] に追加します:
  +
  +
SDL_VIDEO_FULLSCREEN_HEAD=0
  +
  +
{{Note|マウスカーソルは Kodi のスクリーンに取られます。}}
  +
  +
=== Intel HD Graphics で動画にティアリングが発生する ===
  +
動画を視聴している際にちらつきが発生する場合、次のページを見てください: https://bbs.archlinux.org/viewtopic.php?id=176651
  +
  +
[[picom]] などの X11 コンポジタを使うことで動画のちらつきがなくならないか試してみてください。intel ドライバーは必ずしもインストールしなくてはならないということはありません。
   
 
=== ソフト字幕が表示されない ===
 
=== ソフト字幕が表示されない ===
   
 
字幕を抽出するのには {{Pkg|ffmpeg}} パッケージが使われています。
 
字幕を抽出するのには {{Pkg|ffmpeg}} パッケージが使われています。
  +
  +
=== H.264 の再生でシングルコアしか使われない ===
  +
  +
{{Tip|デフォルトでは、再生中に {{ic|O}} を押すことでコーデックの情報や CPU の使用量が表示されます。このオーバーレイに関する詳細は [http://kodi.wiki/view/Codecinfo こちら] で読めます。}}
  +
  +
あなたの設定でハードウェアアクセラレーションが利用されない場合、アクセラレーションを無効にして明示的にビデオデコードをソフトウェアに設定してください。これは [http://forum.kodi.tv/showthread.php?tid=170084&pid=1789661#pid1789661 ビデオデコードがソフトウェアに設定されている場合にのみ H.264 デコードがマルチスレッドで処理されるから] です。{{ic|System Settings}} から {{ic|Video}} を開いてください。{{ic|settings level}} を {{ic|Advanced}} または {{ic|Expert}} に設定して {{ic|Acceleration}} を開いてください。そこで、{{ic|Decoding method}} を {{ic|software}} に設定できます。
   
 
== 参照 ==
 
== 参照 ==
   
* [http://kodi.wiki/index.php?title=Main_Page Kodi Wiki] - Excellent resource with much information about Arch Linux specifically
+
* [http://kodi.wiki/index.php?title=Main_Page Kodi Wiki] - 特にArch Linuxに関する多くの情報を含む優れたリソース
  +
* http://superrepo.org/ - xbmc プラグインライブラリ

2024年7月10日 (水) 21:04時点における最新版

ノート: バージョン14のリリースから XBMC は Kodi に名前が変更されました。

Kodi はフリーで、オープンソース (GPL) のマルチメディアプレイヤーであり、もともとは初代の XBox 上で動作していました (次世代ハードの Xbox 360 ではありません)。現在では Linux, macOS, Windows, Android, iOS などのデバイスで動作します。Kodi を使うことでよく使われているフォーマットの動画、音声、画像や、あまり有名でないフォーマットを再生・表示することができます:

  • 動画 - DVD-Video, VCD/SVCD, MPEG-1/2/4, DivX, XviD, Matroska。
  • 音声 - MP3, AAC。
  • 画像 - JPG, GIF, PNG。

以上のフォーマットはどれも CD/DVD から直接再生したり、ハードドライブから再生することが可能です。また、Kodi はローカルネットワーク (LAN) 上のコンピュータからマルチメディアを再生したり、インターネットから直接メディアストリームを再生することもできます。詳細な情報は、Kodi FAQ を見て下さい。

バージョン12から、チューナーとバックエンドサーバー、PVR プラグインを使って TV 放送を再生したり録画することもできるようになりました。TV 放送の表示方法に関する情報は Kodi wiki にあります。

目次

インストール

公式リポジトリから kodi パッケージをインストールしてください。あなたの使い道にあわせて、pacman によって表示される任意の依存パッケージもインストールするようにします。

ノート: Arch Linux ARM には特定のデバイス用のパッケージが存在します。デバイスによっては何も設定しなくても動作しますが、kodi パッケージとは互換性がないことがあるので注意してください。

設定

ブート時や必要なときに自動で起動

kodi パッケージにはスタンドアロンのラッパースクリプト /usr/bin/kodi-standalone が入っており、完全な DE がなくとも最低限のシステムでアプリケーションを実行できるようになっています。以下で記述しているように、ラッパースクリプトを有効にする方法は複数存在します。

警告: この機能を有効にするときは以下の方法のどれか一つだけを選んでください。

Kodi-standalone-service

AURkodi-standalone-serviceAUR パッケージは kodi.service を提供して、スタンドアロンモードで Kodi を動かすのに必要なユーザーを作成します。Xorg パッケージが 1.16-1 にアップデートされた時に Arch の開発者が削除した、レガシーな systemd サービスと post install スクリプトの代わりになるものです (このコミット を参照)。機能的には、違いはありません。

警告: Arch Linux ARM を使っている場合はパッケージをインストールしてはいけません。

kodi.service を起動して、ブート時に起動するように有効化してください。

ノート:
  • 使用しているハードウェアにあった Xorg ビデオドライバーが必要です。
  • 特別な設定は必要ありません。
  • エラーが起こる場合、次のセクションに書かれている行を /etc/X11/Xwrapper.config に追加してください。

Xsession と LightDM

ノート:
  • 以下の設定は、システム上に kodiuser という名前のユーザーを既に作成していることを前提としています。
  • kodi-standalone-serviceAUR は kodi という名前のユーザーを作成しますが、ログインはできないため、自動ログインすることはできません。
  • lightdm は X サーバーに依存していません。あくまで任意の依存パッケージという扱いですが lightdm.service によって root で実行された場合は任意の依存パッケージとされている X サーバー (xephyr) は機能しません (FS#52067上流のバグ を参照)。Xorg サーバーをインストールしていない場合、xorg-server をインストールしてください。
/etc/X11/Xwrapper.config
needs_root_rights = yes

LightDM で自動ログインを使用する方法は LightDM#自動ログインを有効にする を見て下さい。Kodi には xsession として kodi.desktop が含まれています。

/etc/lightdm/lightdm.conf
[LightDM]
minimum-vt=1
run-directory=/run/lightdm

[Seat:*]
session-wrapper=/etc/lightdm/Xsession
pam-service=lightdm-autologin
autologin-user=kodiuser
autologin-user-timeout=0
user-session=kodi

ソケットアクティベーション

ソケットアクティベーションを使うことで、ユーザーがリモートコントロールアプリを起動したり、Kodi の html コントロールポートに接続したときに、Kodi を起動するように設定することができます。systemctl start kodi@user.socket でアクティベーションを起動してください (user は Kodi を起動するユーザーに置き換えて下さい)。

kodi-standalone-socket-activationAUR[リンク切れ: パッケージが存在しません] パッケージに kodi@.servicekodi@.socket が入っており、スタンドアロンモードでポート 8082 を使用して Kodi を起動することができます。セットアップ次第では、kodi@.socket のポートは変える必要があります。手動で以下の systemd ファイルを使ってください。

/etc/systemd/system/kodi@.service
[Unit]
Description=Launch Kodi on main display

[Service]
Type=oneshot
Environment=DISPLAY=:0.0
Nice=-1
ExecStart=/usr/bin/su %i /usr/bin/kodi
ExecStartPost=/usr/bin/bash -c "sleep 15 && systemctl start kodi@%i.socket"

[Install]
WantedBy=multi-user.target
/etc/systemd/system/kodi@.socket
[Unit]
Conflicts=kodi@%i.service

[Socket]
# listen for WOL packets
#ListenDatagram=9

# change this to Kodi's http control port
ListenStream=8082

[Install]
WantedBy=sockets.target

LIRC / irexec のリモコン操作による起動

kodi-standalone-serviceAURlirc パッケージを使うことで、リモコンのキーを押したときに Kodi を起動するような設定が可能です。このセットアップは Raspberry Pi などで特に有用で、例えば Pi を Wifi のアクセスポイントならびに PVR クライアントとして使用する場合など、コンピュータ自体は24時間365日動作させつつ Kodi は必要がないときは停止させることができます。Kodi を再度起動するのにキーボードにまで手を伸ばす必要はありません。

LIRC の設定を完了して、kodi-standalone-serviceAUR パッケージをインストールしてください。

以下の内容で /var/lib/kodi/.lircrc ファイルを作成:

/var/lib/kodi/.lircrc

begin
prog = irexec
remote = devinput
button = KEY_MEDIA
config = pgrep kodi-standalone || /usr/bin/kodi-standalone -l /run/lirc/lircd
repeat = 0
end

button には Kodi を起動するのに使いたいリモコンのボタンを指定してください。irw を使うことで remotebutton に入力するべき値を確認できます (参照: LIRC#リモコンのテスト)。

次に /usr/lib/systemd/system/kodi.service/etc/systemd/system/ にコピーして次の行を:

ExecStart = /usr/bin/kodi-standalone -l /run/lirc/lircd

以下のように置き換えてください:

ExecStart = /usr/bin/irexec

最後に kodi.service を起動・有効化してください。

複数のノード間でデータベースを共有する

一つのメディアライブラリ (動画や音楽) を共有するように Kodi を設定するのは簡単です。共有することの利点として、一つの場所にキーメタデータが保存されることで、ネットワーク上の全てのノードでメタデータを共有・更新することができます。例えば、この設定によってユーザーは以下のことが可能になります:

  • 個室で映画を視聴するのを止めて、リビングに移動して自動的に映画の続きを見る。
  • メディアを既に視聴したかどうかという情報を全てのノードで共有する。
  • 管理するべきライブラリはたった一つだけですむので設定が楽になる。

セットアップをするために必要な重要事項:

  • ネットワークを介して見れるメディア (Kodi が読み込めるプロトコル、NFS や Samba などを使う)。
  • MySQL サーバー。
ノート: 以下のガイドはあくまで一つの設定例であり、何かを制限したりはしません。参考として読んでください。主要な設定手順は示しますが、細かい解説まではしません。

このガイドでは例として以下の仮定を使います。あなたのセットアップに合わせて置き換えるようにしてください:

  • メディアは次のマウントポイント上に存在している状態です: /mnt/tv-shows /mnt/movies /mnt/music
  • 全てのノードのネットワークアドレスは 192.168.0.* のサブネットに収まっているとします。
  • NFS エクスポートと MySQL データベースを動かすマシンの IP アドレスは 192.168.0.105 です。
  • Kodi を使用する個々のコンピュータはノードと表記します。
  • Kodi を実行する Linux ユーザーは全てのノードで 'kodi' です。

詳しい情報は、公式の Kodi wiki を参照してください。

NFS サーバーのセットアップ

このセクションでは NFS エクスポートを使用する例を挙げます。ただし、上で説明したように、Kodi は様々なプロトコルを読み込むことが可能です。

警告: Kodi は libnfs を使用して NFS 共有にアクセスしますが libnfs は NFSv3 にしか対応していません (#37#156 を参照)。そのため NFSv3 からも接続できるようにサーバーを設定しないと Kodi から共有にアクセスできなくなります。
ノート: 以下の設定を全てのノードで繰り返す必要はありません。以下の例では Arch Linux を使っていますが、NFS サーバーはどの Linux や BSD でもかまいません。

NFS サーバーは nfs-utils によってインストールすることができ、コンテンツを供給するコンピュータにインストールするだけで十分です。

共有のセットアップ:

# mkdir -p /srv/nfs/{tv-shows,movies,music}
# mount --bind /mnt/tv-shows /srv/nfs/tv-shows
# mount --bind /mnt/movies /srv/nfs/movies
# mount --bind /mnt/music /srv/nfs/music

/etc/fstab にバインドマウントするエントリを追加:

...

/mnt/tv-shows /srv/nfs/tv-shows none bind 0 0
/mnt/movies /srv/nfs/movies none bind 0 0
/mnt/music /srv/nfs/music none bind 0 0

/etc/exports のコンテンツを共有:

/srv/nfs 192.168.0.0/24(ro,fsid=0,no_subtree_check)
/srv/nfs/tv-shows 192.168.0.0/24(ro,no_subtree_check,insecure)
/srv/nfs/movies 192.168.0.0/24(ro,no_subtree_check,insecure)
/srv/nfs/music 192.168.0.0/24(ro,no_subtree_check,insecure)
ヒント: この例では読み取り専用のエクスポートを設定しています。他のオプションや設定については man exports を見て下さい。

/etc/exports に変更を加えた時は、エクスポートを更新するようにします:

# exportfs -rav

rpcbind.servicenfs-server.service起動して、ブート時に動作するように有効化してください。

任意で、次のコマンドを使って確認をします:

# showmount -e localhost
Export list for localhost:
/srv/nfs/tv-shows 192.168.0.0/24
/srv/nfs/movies 192.168.0.0/24
/srv/nfs/music 192.168.0.0/24
ノート: コンピュータがファイアウォールを使っている場合は、接続がブロックされないことを確認してください。この記事ではファイアウォールの設定については扱いません。

MySQL サーバーのインストールとセットアップ

ライブラリを動かすコンピュータは24時間ずっと動作している必要があり、通常は、メディアを保存するコンピュータと同じコンピュータを使います。

ノート: 以下の例では Arch Linux を使っていますが、MySQL サーバーが動作するなら、どの Linux や BSD でもかまいません。

MySQL サーバーは mariadb でインストールすることができ、全てのノードがアクセスするコンピュータにインストールするだけで十分です。

mysqld.service起動して、ブート時に動作するように有効化してください。

初期設定:

# mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
# mysql_secure_installation
   <<follow the in-script prompts and answer "Y" to all the questions>>
$ mysql -u root -p
   <<enter the mysqld root password assigned in the first step>>
MariaDB [(none)]> CREATE USER 'kodi'@'localhost' IDENTIFIED BY 'kodi';
MariaDB [(none)]> GRANT ALL ON *.* TO 'kodi'@'localhost';
MariaDB [(none)]> \q

MySQL サーバーに他の設定をする必要はありません。

ノート: コンピュータがファイアウォールを使っている場合は、接続がブロックされないことを確認してください。この記事ではファイアウォールの設定については扱いません。

MySQL ライブラリと NFS エクスポートを使うように Kodi を設定

この例では NFS の共有を使用するので、共有にアクセスするための Kodi の任意の依存パッケージが必要になります。全ての Kodi ノードに libnfs をインストールするようにしてください。

共通の MySQL データベースを使うように Kodi を設定

Kodi に共通のデータベースを使わせるには、Kodi が動作していないのを確認して、以下のファイルを作成してください:

~/.kodi/userdata/advancedsettings.xml
<advancedsettings>
  <videodatabase>
    <type>mysql</type>
    <host>192.168.0.105</host>
    <port>3306</port>
    <user>kodi</user>
    <pass>kodi</pass>
  </videodatabase>

  <musicdatabase>
    <type>mysql</type>
    <host>192.168.0.105</host>
    <port>3306</port>
    <user>kodi</user>
    <pass>kodi</pass>
  </musicdatabase>

  <videolibrary>
    <importwatchedstate>true</importwatchedstate>
    <importresumepoint>true</importresumepoint>
  </videolibrary>
</advancedsettings>
ヒント: kodi-standalone-serviceAUR を使用する場合、プロファイルのデフォルトは /var/lib/kodi/.kodi になっています。新しく作成されたファイルを chown して kodi ユーザーとグループになるようにしてください: # chown -R kodi:kodi /var/lib/kodi
ネットワーク共有の設定
警告: この設定は一度だけ、ノードのどれか一つでだけ行えば十分です。設定をしてしまえば、他のノードは ~/.kodi/userdata/advancedsettings.xml に対応します。他の設定は必要ありません。
ノート: たとえ NFS や MySQL サーバーを動かしているのと同じコンピュータで Kodi を動作させる場合でも、nfs 共有だけを使うようにメディアを設定する必要があります。

Kodi をロードして以下を辿るようにしてインターフェイスからエクスポートに対応するネットワーク共有を定義してください:

Video>Files>Add Videos>Browse>Network Filesystem(NFS)

数秒後、NFS サーバーに対応する IP アドレスが表示されるはずです。

リストから "/srv/nfs/tv-shows" を選択してから右のメニューで "OK" を選びます。この共有には "TV Shows" のカテゴリが割り当てられ、適切なスクレーパーが設定されて適当なメタデータで MySQL データベースが作成されます。

上記の手順を "movies" や "music" でも繰り返したら、Kodi を終了してください。ここで、MySQL テーブルが作成されます。

ネットワーク上の他のノードに設定をコピー

ネットワーク上の他の Kodi ノードがこのライブラリを使用するように設定するのは楽です。コンピューターに ~/.kodi/userdata/advancedsettings.xml をコピーして Kodi を再起動するだけで終わります。

ノート: nfs のエクスポート、プログラムのメタデータ、開始/停止の時間、表示ステータスなどはすべて MySQL のテーブルに保存されているため、ソースを定義するための他のセットアップ手順を行う必要はありません。このファイルがプロファイルディレクトリに追加され、Kodi が再起動された後に問題が発生した場合、そのノードの Kodi プロファイルを単純に再作成し、再度 advancedsettings.xml ファイルをコピーすることをおすすめします。この方法で、GUI そのものへのわずかな設定だけが必要となり、これはしばしば、ローカルデータベースやソースなどの競合をトラブルシューティングするよりも簡単です。

リモートコントロールの使用

Kodi はリモコンで操作するメディアセンターとして作られているので、サポートされている IR レシーバ/リモコンと PC さえあれば、LIRC やカーネルでネイティブにサポートされているモジュールを使ってリモコンを利用することができます。Kodi で正しく動作させるには、Kodi のキープレスと lirc のイベントをマップするファイルが必要になります。~/.kodi/userdata/Lircmap.xml (大文字の 'L' に注意) に XML ファイルを作成してください。

ノート: 同梱のサービスファイルから Kodi を実行しているユーザーは、Kodi のホーム (~) が /var/lib/kodi の下にあることがわかるため、上記のショートカットと置き換えてください。また、このファイルを root ユーザーとして作成する場合、作成が完了したときに kodi:kodi という所有権が正しく設定されていることを確認してください。

Lircmap.xml のフォーマットは以下の通りです:

<lircmap>
  <remote device="devicename">
      <XBMC_button>LIRC_button</XBMC_button>
      ...
  </remote>
</lircmap>
  • Device Name は LIRC によるリモコンの呼び名です。lircd.confName ディレクティブを使って設定され、$ irw を実行してからリモコンのボタンを押すことで確認できます。IRW は行の最後に、押されたボタンの名前とリモコンの名前を表示します。
  • XBMC_buttonkeymap.xml で定義されるボタンの名前です。
  • LIRC_buttonlircd.conf で定義される名前です。# irrecord を使って lircd.conf を自動生成した場合、ボタンの名前が選択されています。詳しくは LIRC を参照してください。
  • この記事のカバー範囲からは外れるので、詳しい情報やヘルプは Kodi WikiLIRC ページを見てください。

Lirc と Systemd で MCE リモコンを使う

lirc をインストールして mce 設定のリンクを作成します:

# ln -s /usr/share/lirc/mceusb/lircd.conf.mceusb /etc/lirc/lircd.conf

次に、リモコンが lirc プロトコルを使用しているのを確認してください:

$ cat /sys/class/rc/rc0/protocols

使用されてなかった場合、次を実行:

# echo lirc > /sys/class/rc/rc0/protocols

udev ルールを追加することで lirc をデフォルトにできます。ルールが動作しないようならば、単純に RUN のコマンドを実行してください。

/etc/udev/rules.d/99-lirc.rules
KERNEL=="rc*", SUBSYSTEM=="rc", ATTR{protocols}=="*lirc*", RUN+="/bin/sh -c 'echo lirc > $sys$devpath/protocols'"

最後に、lirc サービスを有効化・起動します。lirc 0.9.1 から、適切なサービスは lircd.socket になっており、lircd.service ではありません:

# systemctl enable lircd.socket
# systemctl start lircd.socket

以上で mce リモコンが完全に動作するはずです。

HDMI-CEC と Pulse Eight USB-CEC

Kodi でリモコンを機能させる簡潔な方法は CEC を使うことです。CEC は HDMI の仕様に含まれているプロトコルです。ほとんどの最新 TV は CEC をサポートしていますが、メーカーによってはこの機能を別の名前で喧伝してることがあります。CEC 対応の TV の他に、TV からの CEC 信号を認識するハードウェアが必要で、さらにそのハードウェアは Kodi で利用できるものでなくてはなりません。そのようなデバイスとして Pulse Eight の USB-CEC アダプタ があります。USB-CEC を接続するのはとても簡単ですが、Arch で使用するには以下を実行する必要があります。

libcec をインストールしてください。

接続時、USB-CEC の /dev エントリ (大抵 /dev/ttyACM*) はデフォルトで uucp グループによって所有されています。Kodi を動かすユーザーでデバイスを使用するにはグループに属している必要があります。また、ユーザーは lock グループにも加わっている必要があり、そうでないと Kodi はデバイスに接続できません。両方のグループにユーザーを追加するには、次を実行:

# usermod -aG uucp,lock [username]

複数のユーザーが Kodi を使う場合、上のコマンドを全てのユーザーで繰り返し実行してください。例えば、kodi-standalone を使用する場合、適切なコマンドは:

# usermod -aG uucp,lock kodi

ログイン中のユーザーのグループを変更した場合、変更を適用するには、一度ユーザーがログアウトしてからログインしなおす必要があることを覚えておいてください。

ノート: 上記のグループに属していない状態で USB-CEC を使おうとすると問題が発生します (Kodi のクラッシュなど)。適当なユーザーが両方のグループに属していることを確認しましょう。

ヒントとテクニック‎

視聴ログの保存

kodi-loggerAUR を使うことで kodi で視聴した動画を記録できます。

Kodi の CLI ツール

texturecacheAUR は Kodi の強力な CLI ツールです。ライブラリの管理から何を再生しているのかの確認まで、様々な作業を行うことができます。

Intel HD Graphics で動画にちらつきが発生する

映画を視聴する際にティアリングが発生してしまう場合、次を試してください: https://bbs.archlinux.org/viewtopic.php?id=176651

CD/DVD ドライブの速度のスローダウン

util-linux パッケージの eject プログラムを使うことでスローダウンできますが、メディアを変更した時に設定はクリアされてしまいます。

以下の udev ルールで永続的に速度を落とせます:

/etc/udev/rules.d/dvd-speed.rules
KERNEL=="sr0", ACTION=="change", ENV{DISK_MEDIA_CHANGE}=="1", RUN+="/usr/bin/eject -x 2 /dev/sr0"

sr0 は光学ドライブのデバイス名に置き換えてください。2倍速から4倍速に設定したい場合は -x 2-x 4 で置き換えてください。

ファイルを作成したら、次のコマンドで udev ルールをリロードします:

# udevadm control --reload

ウェブサーバーにポート 80 を使う

Kodi にはウェブインターフェイスを使って操作をすることができるウェブサービスが付いています。デフォルトでは、このサービスはポート 8080 を使います。80 を使うには root 権限が必要なためです。以下を実行することで数字の低いポート番号を使えるようにできます:

# setcap 'cap_net_bind_service=+ep' /usr/lib/kodi/kodi.bin

kodi.service再起動して設定メニューでポートを 80 に設定してください (Services->Webserver->Port)。

ALSA を使う

PulseAudio が正しく動作しない場合、AE_SINK=ALSA 環境変数を使って Kodi を起動することで ALSA を直接使用するようにしてみてください。NUC デバイスにおける設定方法が Kodi wiki の ページ に載っています。

Raspberry Pi

Kodi は Raspberry Pi (RPi), RPi2, RPi3 でスムーズに動作します。注意すべきは以下の点です:

  • kodi パッケージの代わりに Arch Linux ARM リポジトリ から kodi-rbp (安定版) または kodi-rbp-git (開発版) パッケージをインストールしてください。
  • パッケージにはスタンドアロンモードで動作させるための systemd サービスが入っています。
  • デフォルトでは GPU のために予約されているメモリは 64 MB になっています。これでは GPU によって HD 動画の再生を支援するには足りません。/boot/config.txtgpu_mem タグを編集して 128 MB などとしてください。
  • 物理キーボードによる入力を有効にするには udev ルール SUBSYSTEM=="tty", KERNEL=="tty[0-9]*", GROUP="tty", MODE="0660"/etc/udev/rules.d/raspberrypi.rules に追加して kodi ユーザーを ttyinput グループに追加してください。
ノート: Arch ARM の上流で提案されている PR#1416 がマージされた場合、上記の設定は不要になります。

ウィンドウマネージャで kodi を実行

ウィンドウマネージャで kodi を実行すると終了時に画面が表示されなくなることがあります。そのような場合は他の tty に切り替えてください。また、以下のスクリプトを使って kodi を実行することで解決する場合があります (root ユーザーで実行してください):

kodi.sh
#!/bin/bash
kodi-standalone
sudo chvt 2 
sleep 1
sudo chvt 1

sudoers ファイルに以下の行を追加して chvt を実行するときに sudo からパスワードを要求されないようにしてください:

/etc/sudoers
UserNameHere ALL=NOPASSWD: /usr/bin/chvt

右クリックメニューのキー

Raspberry Pi では物理キーボードの "Menu Key" が kodi で機能しないことがあります。"Enter Key" を長押しすることで kodi のサブメニューを開けます。

USB DAC が動作しない

USB DAC/サウンドカードを使っている場合、音声設定から DAC を選択したときに音にノイズが入ったり音が鳴らなくなることがあります。

guisettings.xml (kodi.service を使用している場合 /var/lib/kodi/.kodi/userdata/ に存在します) を開いて以下の行を:

<processquality default="true">101</processquality>

以下のように変更してください:

<processquality default="false">100</processquality>

トラブルシューティング

何かエラーが発生した場合はまず ~/.kodi/temp/kodi.log を確認してみてください。

フルスクリーンモードで Kodi が複数のディスプレイにまたがってしまう

マルチモニター環境では、Kodi はデフォルトで全てのスクリーンにまたがって表示するようになっています。SDL_VIDEO_FULLSCREEN_HEAD 環境変数を表示したいディスプレイの番号に設定することでフルスクリーンモードを制限することができます。例えば、Kodi をディスプレイ0で表示するには、以下の行を Kodi ユーザーの Bashrc に追加します:

SDL_VIDEO_FULLSCREEN_HEAD=0
ノート: マウスカーソルは Kodi のスクリーンに取られます。

Intel HD Graphics で動画にティアリングが発生する

動画を視聴している際にちらつきが発生する場合、次のページを見てください: https://bbs.archlinux.org/viewtopic.php?id=176651

picom などの X11 コンポジタを使うことで動画のちらつきがなくならないか試してみてください。intel ドライバーは必ずしもインストールしなくてはならないということはありません。

ソフト字幕が表示されない

字幕を抽出するのには ffmpeg パッケージが使われています。

H.264 の再生でシングルコアしか使われない

ヒント: デフォルトでは、再生中に O を押すことでコーデックの情報や CPU の使用量が表示されます。このオーバーレイに関する詳細は こちら で読めます。

あなたの設定でハードウェアアクセラレーションが利用されない場合、アクセラレーションを無効にして明示的にビデオデコードをソフトウェアに設定してください。これは ビデオデコードがソフトウェアに設定されている場合にのみ H.264 デコードがマルチスレッドで処理されるから です。System Settings から Video を開いてください。settings levelAdvanced または Expert に設定して Acceleration を開いてください。そこで、Decoding methodsoftware に設定できます。

参照