「Kodi」の版間の差分
(en:Kodiへの転送ページ) |
Kusanaginoturugi (トーク | 投稿記録) (校正(でき・出来)) |
||
(5人の利用者による、間の19版が非表示) | |||
1行目: | 1行目: | ||
+ | [[Category:ホームシアター]] |
||
− | #redirect[[en:Kodi]] |
||
+ | [[en:Kodi]] |
||
+ | [[zh-hans:Kodi]] |
||
+ | {{Note|バージョン14のリリースから XBMC は 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。 |
||
+ | * 音声 - MP3, AAC。 |
||
+ | * 画像 - JPG, GIF, PNG。 |
||
+ | |||
+ | 以上のフォーマットはどれも CD/DVD から直接再生したり、ハードドライブから再生することが可能です。また、Kodi はローカルネットワーク (LAN) 上のコンピュータからマルチメディアを再生したり、インターネットから直接メディアストリームを再生することもできます。詳細な情報は、[http://kodi.wiki/index.php?title=Kodi_FAQ Kodi FAQ] を見て下さい。 |
||
+ | |||
+ | バージョン12から、チューナーとバックエンドサーバー、PVR プラグインを使って TV 放送を再生したり録画することもできるようになりました。TV 放送の表示方法に関する情報は [http://kodi.wiki/?title=PVR Kodi wiki] にあります。 |
||
+ | |||
+ | == インストール == |
||
+ | [[公式リポジトリ]]から {{Pkg|kodi}} パッケージを[[pacman|インストール]]してください。あなたの使い道にあわせて、pacman によって表示される任意の依存パッケージもインストールするようにします。 |
||
+ | |||
+ | {{Note|Arch Linux ARM には特定のデバイス用のパッケージが存在します。デバイスによっては何も設定しなくても動作しますが、{{Pkg|kodi}} パッケージとは互換性がないことがあるので注意してください。}} |
||
+ | |||
+ | == 設定 == |
||
+ | === ブート時や必要なときに自動で起動 === |
||
+ | {{Pkg|kodi}} パッケージにはスタンドアロンのラッパースクリプト {{ic|/usr/bin/kodi-standalone}} が入っており、完全な DE がなくとも最低限のシステムでアプリケーションを実行できるようになっています。以下で記述しているように、ラッパースクリプトを有効にする方法は複数存在します。 |
||
+ | |||
+ | {{Warning|この機能を有効にするときは以下の方法の'''どれか一つだけ'''を選んでください。}} |
||
+ | |||
+ | ==== 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 このコミット] を参照)。機能的には、違いはありません。 |
||
+ | |||
+ | {{Warning|Arch Linux ARM を使っている場合はパッケージをインストールしてはいけません。}} |
||
+ | |||
+ | {{ic|kodi.service}} を起動して、ブート時に起動するように[[有効化]]してください。 |
||
+ | |||
+ | {{Note| |
||
+ | * 使用しているハードウェアにあった Xorg ビデオドライバーが必要です。 |
||
+ | * 特別な設定は必要ありません。 |
||
+ | * エラーが起こる場合、次のセクションに書かれている行を {{ic|/etc/X11/Xwrapper.config}} に追加してください。 |
||
+ | }} |
||
+ | |||
+ | ==== Xsession と LightDM ==== |
||
+ | {{Note| |
||
+ | * 以下の設定は、システム上に 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}} が含まれています。 |
||
+ | |||
+ | {{hc|/etc/lightdm/lightdm.conf|2= |
||
+ | [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 を起動するように設定することができます。{{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| |
||
+ | <nowiki>[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</nowiki>}} |
||
+ | |||
+ | {{hc|/etc/systemd/system/kodi@.socket| |
||
+ | <nowiki>[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</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}} を起動・有効化してください。 |
||
+ | |||
+ | === 複数のノード間でデータベースを共有する === |
||
+ | 一つのメディアライブラリ (動画や音楽) を共有するように Kodi を設定するのは簡単です。共有することの利点として、一つの場所にキーメタデータが保存されることで、ネットワーク上の全てのノードでメタデータを共有・更新することができます。例えば、この設定によってユーザーは以下のことが可能になります: |
||
+ | * 個室で映画を視聴するのを止めて、リビングに移動して自動的に映画の続きを見る。 |
||
+ | * メディアを既に視聴したかどうかという情報を全てのノードで共有する。 |
||
+ | * 管理するべきライブラリはたった一つだけですむので設定が楽になる。 |
||
+ | |||
+ | セットアップをするために必要な重要事項: |
||
+ | * ネットワークを介して見れるメディア (Kodi が読み込めるプロトコル、NFS や Samba などを使う)。 |
||
+ | * MySQL サーバー。 |
||
+ | |||
+ | {{Note|以下のガイドはあくまで一つの設定例であり、何かを制限したりはしません。参考として読んでください。主要な設定手順は示しますが、細かい解説まではしません。}} |
||
+ | このガイドでは例として以下の仮定を使います。あなたのセットアップに合わせて置き換えるようにしてください: |
||
+ | * メディアは次のマウントポイント上に存在している状態です: {{ic|/mnt/tv-shows}} {{ic|/mnt/movies}} {{ic|/mnt/music}}。 |
||
+ | * 全てのノードのネットワークアドレスは 192.168.0.* のサブネットに収まっているとします。 |
||
+ | * NFS エクスポートと MySQL データベースを動かすマシンの IP アドレスは 192.168.0.105 です。 |
||
+ | * Kodi を使用する個々のコンピュータはノードと表記します。 |
||
+ | * Kodi を実行する Linux ユーザーは全てのノードで 'kodi' です。 |
||
+ | |||
+ | 詳しい情報は、[http://kodi.wiki/index.php?title=HOW-TO:Share_libraries_using_MySQL/Setting_up_MySQL#tab=Arch_Linux 公式の Kodi wiki] を参照してください。 |
||
+ | |||
+ | ==== NFS サーバーのセットアップ ==== |
||
+ | このセクションでは [[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|以下の設定を全てのノードで繰り返す必要はありません。以下の例では Arch Linux を使っていますが、NFS サーバーはどの Linux や BSD でもかまいません。}} |
||
+ | |||
+ | NFS サーバーは {{Pkg|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 |
||
+ | |||
+ | {{ic|/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 |
||
+ | |||
+ | {{ic|/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) |
||
+ | |||
+ | {{Tip|この例では読み取り専用のエクスポートを設定しています。他のオプションや設定については {{ic|man exports}} を見て下さい。}} |
||
+ | |||
+ | {{ic|/etc/exports}} に変更を加えた時は、エクスポートを更新するようにします: |
||
+ | # exportfs -rav |
||
+ | |||
+ | {{ic|rpcbind.service}} と {{ic|nfs-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 |
||
+ | |||
+ | {{Note|コンピュータがファイアウォールを使っている場合は、接続がブロックされないことを確認してください。この記事ではファイアウォールの設定については扱いません。}} |
||
+ | |||
+ | ==== MySQL サーバーのインストールとセットアップ ==== |
||
+ | ライブラリを動かすコンピュータは24時間ずっと動作している必要があり、通常は、メディアを保存するコンピュータと同じコンピュータを使います。 |
||
+ | {{Note|以下の例では Arch Linux を使っていますが、MySQL サーバーが動作するなら、どの Linux や BSD でもかまいません。}} |
||
+ | |||
+ | MySQL サーバーは {{Pkg|mariadb}} でインストールすることができ、全てのノードがアクセスするコンピュータにインストールするだけで十分です。 |
||
+ | |||
+ | {{ic|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 サーバーに他の設定をする必要はありません。 |
||
+ | {{Note|コンピュータがファイアウォールを使っている場合は、接続がブロックされないことを確認してください。この記事ではファイアウォールの設定については扱いません。}} |
||
+ | |||
+ | ==== MySQL ライブラリと NFS エクスポートを使うように Kodi を設定 ==== |
||
+ | この例では NFS の共有を使用するので、共有にアクセスするための Kodi の任意の依存パッケージが必要になります。全ての Kodi ノードに {{Pkg|libnfs}} をインストールするようにしてください。 |
||
+ | |||
+ | ===== 共通の MySQL データベースを使うように Kodi を設定 ===== |
||
+ | Kodi に共通のデータベースを使わせるには、Kodi が動作していないのを確認して、以下のファイルを作成してください: |
||
+ | {{hc|~/.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> |
||
+ | }} |
||
+ | |||
+ | {{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}} に対応します。他の設定は必要ありません。}} |
||
+ | {{Note|たとえ 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 ノードがこのライブラリを使用するように設定するのは楽です。コンピューターに {{ic|~/.kodi/userdata/advancedsettings.xml}} をコピーして Kodi を再起動するだけで終わります。 |
||
+ | |||
+ | {{Note|nfs のエクスポート、プログラムのメタデータ、開始/停止の時間、表示ステータスなどはすべて MySQL のテーブルに保存されているため、ソースを定義するための他のセットアップ手順を行う必要はありません。このファイルがプロファイルディレクトリに追加され、Kodi が再起動された後に問題が発生した場合、そのノードの Kodi プロファイルを単純に再作成し、再度 advancedsettings.xml ファイルをコピーすることをおすすめします。この方法で、GUI そのものへのわずかな設定だけが必要となり、これはしばしば、ローカルデータベースやソースなどの競合をトラブルシューティングするよりも簡単です。}} |
||
+ | |||
+ | === リモートコントロールの使用 === |
||
+ | |||
+ | Kodi はリモコンで操作するメディアセンターとして作られているので、サポートされている IR レシーバ/リモコンと PC さえあれば、[[LIRC]] やカーネルでネイティブにサポートされているモジュールを使ってリモコンを利用することができます。Kodi で正しく動作させるには、Kodi のキープレスと lirc のイベントをマップするファイルが必要になります。{{ic|~/.kodi/userdata/Lircmap.xml}} (大文字の 'L' に注意) に [[Wikipedia:ja:XML|XML]] ファイルを作成してください。 |
||
+ | |||
+ | {{Note|同梱のサービスファイルから Kodi を実行しているユーザーは、Kodi のホーム (~) が /var/lib/kodi の下にあることがわかるため、上記のショートカットと置き換えてください。また、このファイルを root ユーザーとして作成する場合、作成が完了したときに kodi:kodi という所有権が正しく設定されていることを確認してください。}} |
||
+ | Lircmap.xml のフォーマットは以下の通りです: |
||
+ | |||
+ | {{bc|1=<lircmap> |
||
+ | <remote device="devicename"> |
||
+ | <XBMC_button>LIRC_button</XBMC_button> |
||
+ | ... |
||
+ | </remote> |
||
+ | </lircmap>}} |
||
+ | |||
+ | * '''Device Name''' は LIRC によるリモコンの呼び名です。{{ic|lircd.conf}} で '''Name''' ディレクティブを使って設定され、{{ic|$ irw}} を実行してからリモコンのボタンを押すことで確認できます。IRW は行の最後に、押されたボタンの名前とリモコンの名前を表示します。 |
||
+ | |||
+ | * '''XBMC_button''' は [http://kodi.wiki/index.php?title=Keymap.xml keymap.xml] で定義されるボタンの名前です。 |
||
+ | |||
+ | * '''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] ページを見てください。 |
||
+ | |||
+ | ==== Lirc と Systemd で MCE リモコンを使う ==== |
||
+ | |||
+ | {{Pkg|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 のコマンドを実行してください。 |
||
+ | |||
+ | {{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'"}} |
||
+ | |||
+ | 最後に、lirc サービスを有効化・起動します。lirc 0.9.1 から、適切なサービスは {{ic|lircd.socket}} になっており、{{ic|lircd.service}} ではありません: |
||
+ | |||
+ | # systemctl enable lircd.socket |
||
+ | # systemctl start lircd.socket |
||
+ | |||
+ | 以上で mce リモコンが完全に動作するはずです。 |
||
+ | |||
+ | ==== 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 で使用するには以下を実行する必要があります。 |
||
+ | |||
+ | {{ic|libcec}} をインストールしてください。 |
||
+ | |||
+ | 接続時、USB-CEC の {{ic|/dev}} エントリ (大抵 {{ic|/dev/ttyACM*}}) はデフォルトで {{ic|uucp}} グループによって所有されています。Kodi を動かすユーザーでデバイスを使用するにはグループに属している必要があります。また、ユーザーは {{ic|lock}} グループにも加わっている必要があり、そうでないと Kodi はデバイスに接続できません。両方のグループにユーザーを追加するには、次を実行: |
||
+ | |||
+ | # usermod -aG uucp,lock [username] |
||
+ | |||
+ | 複数のユーザーが Kodi を使う場合、上のコマンドを全てのユーザーで繰り返し実行してください。例えば、{{ic|kodi-standalone}} を使用する場合、適切なコマンドは: |
||
+ | |||
+ | # usermod -aG uucp,lock kodi |
||
+ | |||
+ | ログイン中のユーザーのグループを変更した場合、変更を適用するには、一度ユーザーがログアウトしてからログインしなおす必要があることを覚えておいてください。 |
||
+ | |||
+ | {{Note|上記のグループに属していない状態で USB-CEC を使おうとすると問題が発生します (Kodi のクラッシュなど)。適当なユーザーが両方のグループに属していることを確認しましょう。}} |
||
+ | |||
+ | ==ヒントとテクニック == |
||
+ | === 視聴ログの保存 === |
||
+ | {{AUR|kodi-logger}} を使うことで kodi で視聴した動画を記録できます。 |
||
+ | |||
+ | === Kodi の CLI ツール === |
||
+ | {{AUR|texturecache}} は Kodi の強力な CLI ツールです。ライブラリの管理から何を再生しているのかの確認まで、様々な作業を行うことができます。 |
||
+ | |||
+ | === Intel HD Graphics で動画にちらつきが発生する === |
||
+ | 映画を視聴する際にティアリングが発生してしまう場合、次を試してください: |
||
+ | https://bbs.archlinux.org/viewtopic.php?id=176651 |
||
+ | |||
+ | === CD/DVD ドライブの速度のスローダウン === |
||
+ | |||
+ | {{ic|util-linux}} パッケージの {{ic|eject}} プログラムを使うことでスローダウンできますが、メディアを変更した時に設定はクリアされてしまいます。 |
||
+ | |||
+ | 以下の udev ルールで永続的に速度を落とせます: |
||
+ | |||
+ | {{hc|/etc/udev/rules.d/dvd-speed.rules|2= |
||
+ | KERNEL=="sr0", ACTION=="change", ENV{DISK_MEDIA_CHANGE}=="1", RUN+="/usr/bin/eject -x 2 /dev/sr0" |
||
+ | }} |
||
+ | |||
+ | {{ic|sr0}} は光学ドライブのデバイス名に置き換えてください。2倍速から4倍速に設定したい場合は {{ic|-x 2}} を {{ic|-x 4}} で置き換えてください。 |
||
+ | |||
+ | ファイルを作成したら、次のコマンドで udev ルールをリロードします: |
||
+ | # udevadm control --reload |
||
+ | |||
+ | === ウェブサーバーにポート 80 を使う === |
||
+ | |||
+ | Kodi にはウェブインターフェイスを使って操作をすることができるウェブサービスが付いています。デフォルトでは、このサービスはポート {{ic|8080}} を使います。{{ic|80}} を使うには root 権限が必要なためです。以下を実行することで数字の低いポート番号を使えるようにできます: |
||
+ | # setcap 'cap_net_bind_service=+ep' /usr/lib/kodi/kodi.bin |
||
+ | |||
+ | {{ic|kodi.service}} を[[再起動]]して設定メニューでポートを {{ic|80}} に設定してください (''Services->Webserver->Port'')。 |
||
+ | |||
+ | === 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=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}} パッケージが使われています。 |
||
+ | |||
+ | === 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] - 特にArch Linuxに関する多くの情報を含む優れたリソース |
||
+ | * http://superrepo.org/ - xbmc プラグインライブラリ |
2024年7月10日 (水) 21:04時点における最新版
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 によって表示される任意の依存パッケージもインストールするようにします。
設定
ブート時や必要なときに自動で起動
kodi パッケージにはスタンドアロンのラッパースクリプト /usr/bin/kodi-standalone
が入っており、完全な DE がなくとも最低限のシステムでアプリケーションを実行できるようになっています。以下で記述しているように、ラッパースクリプトを有効にする方法は複数存在します。
Kodi-standalone-service
AUR の kodi-standalone-serviceAUR パッケージは kodi.service
を提供して、スタンドアロンモードで Kodi を動かすのに必要なユーザーを作成します。Xorg パッケージが 1.16-1 にアップデートされた時に Arch の開発者が削除した、レガシーな systemd サービスと post install スクリプトの代わりになるものです (このコミット を参照)。機能的には、違いはありません。
kodi.service
を起動して、ブート時に起動するように有効化してください。
Xsession と LightDM
/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@.service
と kodi@.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-serviceAUR と lirc パッケージを使うことで、リモコンのキーを押したときに 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 を使うことで remote
や button
に入力するべき値を確認できます (参照: 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 は様々なプロトコルを読み込むことが可能です。
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)
/etc/exports
に変更を加えた時は、エクスポートを更新するようにします:
# exportfs -rav
rpcbind.service
と nfs-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時間ずっと動作している必要があり、通常は、メディアを保存するコンピュータと同じコンピュータを使います。
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 をロードして以下を辿るようにしてインターフェイスからエクスポートに対応するネットワーク共有を定義してください:
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 を再起動するだけで終わります。
リモートコントロールの使用
Kodi はリモコンで操作するメディアセンターとして作られているので、サポートされている IR レシーバ/リモコンと PC さえあれば、LIRC やカーネルでネイティブにサポートされているモジュールを使ってリモコンを利用することができます。Kodi で正しく動作させるには、Kodi のキープレスと lirc のイベントをマップするファイルが必要になります。~/.kodi/userdata/Lircmap.xml
(大文字の 'L' に注意) に XML ファイルを作成してください。
Lircmap.xml のフォーマットは以下の通りです:
<lircmap> <remote device="devicename"> <XBMC_button>LIRC_button</XBMC_button> ... </remote> </lircmap>
- Device Name は LIRC によるリモコンの呼び名です。
lircd.conf
で Name ディレクティブを使って設定され、$ irw
を実行してからリモコンのボタンを押すことで確認できます。IRW は行の最後に、押されたボタンの名前とリモコンの名前を表示します。
- XBMC_button は keymap.xml で定義されるボタンの名前です。
- LIRC_button は
lircd.conf
で定義される名前です。# irrecord
を使ってlircd.conf
を自動生成した場合、ボタンの名前が選択されています。詳しくは LIRC を参照してください。
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
ログイン中のユーザーのグループを変更した場合、変更を適用するには、一度ユーザーがログアウトしてからログインしなおす必要があることを覚えておいてください。
ヒントとテクニック
視聴ログの保存
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.txt
のgpu_mem
タグを編集して 128 MB などとしてください。 - 物理キーボードによる入力を有効にするには udev ルール
SUBSYSTEM=="tty", KERNEL=="tty[0-9]*", GROUP="tty", MODE="0660"
を/etc/udev/rules.d/raspberrypi.rules
に追加して kodi ユーザーをtty
とinput
グループに追加してください。
ウィンドウマネージャで 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
Intel HD Graphics で動画にティアリングが発生する
動画を視聴している際にちらつきが発生する場合、次のページを見てください: https://bbs.archlinux.org/viewtopic.php?id=176651
picom などの X11 コンポジタを使うことで動画のちらつきがなくならないか試してみてください。intel ドライバーは必ずしもインストールしなくてはならないということはありません。
ソフト字幕が表示されない
字幕を抽出するのには ffmpeg パッケージが使われています。
H.264 の再生でシングルコアしか使われない
あなたの設定でハードウェアアクセラレーションが利用されない場合、アクセラレーションを無効にして明示的にビデオデコードをソフトウェアに設定してください。これは ビデオデコードがソフトウェアに設定されている場合にのみ H.264 デコードがマルチスレッドで処理されるから です。System Settings
から Video
を開いてください。settings level
を Advanced
または Expert
に設定して Acceleration
を開いてください。そこで、Decoding method
を software
に設定できます。
参照
- Kodi Wiki - 特にArch Linuxに関する多くの情報を含む優れたリソース
- http://superrepo.org/ - xbmc プラグインライブラリ