RaspberryPIへosmcのインストールと日本語化など

最終更新日

今月は、Amazon Fire 5th genで、プライムビデオを見まくりしたりして、ハマってしまた。って、結局、ビデオを観る環境をあれこれ下準備。

今年は、HDハンディカム等で撮ったmtsm2tsをH.264の1080pの5Mbps〜6Mbpsくらい+AACでmp4コンテナ化してNASへの保存を敢行してみた。
MacとかiPadとかAmazon Fireとかでは、さくっと再生されることは確認したんだけど、Panasonicプラズマテレビ(ビエラ TH-P42ST3)で「お部屋ジャンプlink」機能で観ると、どうもH.264のビットレートが、3M以上だとコマ落ち激しい
動画送出は、FreeNAS+miniDLNA。最初は、「んーーー、LANの帯域が足りない?」とか思ったけど、FreeNAS上にあるフルセグTSファイルは問題なく再生できる。H.264を1.5Mbpsとかにさげてみたら、問題なく再生。
H.264は、ビエラのTH-P42ST3は、上限3Mくらいまでなのかな?
このテレビ、Ether接続すれば、「テレビでネット」という機能が使えるんだけど、いつのまにか、YouTubeが非対応(サービス終わり)になってるし。
いちいち、パソコン経由ぢゃなく気軽にみるのにはよかった機能だったのに残念。うーむ、非対応としたのは、実はこのあたりが理由なの?とか憶測してみたり。

ってことで、どうしよう・・・方向性は、2つ

1.ハンディカムで撮りためたHDV等をH.264(720p)、1.5Mbps程度でお茶を濁す
2.パナのテレビのお部屋ジャンプ(DLNAクライアント機能)は使わずに、STBもどきを使う

1.案は、再エンコは、とほほ(画質も下がりまくるし)なので、却下
2.案を採用・・でも、新規に買うには、家庭内稟議的に無理(Fire TV Stick欲しいなぁ・・。また、特別割引して欲しいなぁ。¥3000円割引だったら、なにも考えずに買うんだけどなぁ(笑))。

というわけで、昨年遊んだRaspberry PI B+(シングルコアなやつ)が余ってるので、それを使うことに。
ビエラには、録画用USB端子が2つあったりするので、電源は、ビエラのUSB端子からで十分(B+だしね)ってことで、採用。

ソフトはってーと、xbmcがぁ〜kodiがぁ〜osmc.tvってなに?ってな感じで、いまどきの時間の流れについていけない。。
kodiなのか、osmcなのか、どちらがいいのかよくわからんけど、kodiをベースにしてるって言うosmcっていうのをチョイス。
たぶん、kodiのエクスポートってことになるのかな?(NetBSDからOpenBSDみたいな?って、わかる人は少ないか・・・)

osmcのドキュメントをざっくり斜め読みしてみると、

メディアセンターのリーダーになるさ!
シンプルで簡単なのさ!
・お金はとらないし、オープンソースだから、自由につかって、好きに改造してね。改造の成果はフィードバックしあうと、すんばらしい価値になるって、俺らは思ってるんだ。
・インストールに時間はかけない。OSMCは、だいたい数分でインストールできることを誇りに思ってる。
・アップデートやappのインストールはリモート経由で、簡単にできるよ。もちろん無料!
巨大なコミュニティを持ってるんだ
・著明な動画や音声フォーマット、共有プロトコルやら、多様なデバイスへのストリームとか、対応するよ。
どう?すげーだろ?

能書き(失礼)がシンプルで、こういうノリが好きなので、osmcを使ってみることに。
Youtubeとかも、これで観れるし。

というわけで、

 

お題:「Raspberry PI B+で、osmcのセットアップをするべ」

です。

今回の用意するもの

Mac
Raspberry PI B+
microSDメモリ(手持ちの8Gを使いました)

はじめに、osmcのインストールイメージをダウンロードします。
osmc.tvのダウンロードページに行くと、WinMacOS XLinux用にGUIインストーラが用意されています(すげー)が、GUIインストーラをインストールして、SDに書き出すのもいいんですが、手持ちのPCは、Macなので、ddコマンドでmicroSDへ書き出すことにします。

microSDへの書き出しイメージは、サイト画面の中ほどに「You can also download disk images.」の下の「Disk images」ボタンをクリックすると表示されます。

今回は、Raspberry Pi B+をつかうので、ダウンロードするのは、「Raspberry Pi 1 / Zero」のRelease 2015.11-1(MD5:d5c0805022f67e3d17152ff69e693ed6)をダウンロードします。

Macで、terminalを開いて、microSDカードを挿しておきます。

$ curl -L http://download.osmc.tv/installers/diskimages/OSMC_TGT_rbp1_20151129.img.gz > OSMC_TGT_rbp1_20151129.img.gz
% Total    % Received % Xferd  Average Speed   Time    Time     Time   Current
                                                              Dload  Upload   Total   Spent    Left  Speed
0     0    0     0    0     0      0      0 –:–:– –:–:– –:–:–     0
100  152M  100  152M    0     0   193k      0  0:13:24  0:13:24 –:–:–  186k
$ md5 OSMC_TGT_rbp1_20151129.img.gz
MD5 (OSMC_TGT_rbp1_20151129.img.gz) = d5c0805022f67e3d17152ff69e693ed6
$ gzip -d OSMC_TGT_rbp1_20151129.img.gz
$ sudo mount
/dev/disk1 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
/dev/disk2s1 on /Volumes/NO NAME (msdos, local, nodev, nosuid, noowners)
$ sudo diskutil umount /Volumes/NO\ NAME
Volume NO NAME on disk2s1 unmounted
sudo dd if=OSMC_TGT_rbp1_20151129.img of=/dev/rdisk2 bs=1m
256+0 records in
256+0 records out
268435456 bytes transferred in 34.425496 secs (7797577 bytes/sec)
$ sudo diskutil eject disk2
Disk disk2 ejected

microSDヘ、osmcのブートイメージの書き出し完了。
これを、RaspberryPiへ挿して、電源ONします。

OSMC起動初期化
OSMC起動&初期化

起動時すぐに、formatが開始されて、

OSMGのインストール
OSMGのインストール

インストールが始まります。インストール時間は、B+だけあって、遅い。。。
インストールが終了すれば、基本設定事項(国どこよ?ライセンスにagreeしてねとか)を設定して、終了となります(ここまでは、RaspberryPiの表示は、テレビ撮らなきゃいけないんで、割愛します)。

 

osmcのトップメニューの表示

無事に起動したので、ここから、メニューの日本語化。
#ついでに、VNC経由での表示対応(4fpsくらいしかでねー)したので、キャプチャしていきます。

osmcのトップメニュー
osmcのトップメニュー

setting -> Appearance -> Language で、Japaneseを選択をする。

setting -> Appearance -> Language
setting -> Appearance -> Language

Japaneseを選択して、画面表示が更新されたら・・

Japaneseを選択してみた
Japaneseを選択してみた

というわけで、見事に「豆腐」だらけに・・。
「Character Set」という項目があったりもするが、CP932かいな・・samba指定用かな?。
Skinの項目にFontsというのがあるが、選べるのは「Default」と「Arial」のみ。
というわけで、日本語フォントファイルを入れることに。

 

osmcに日本語フォントを入れる – 豆腐の駆除戦(笑)

osmcのSkinをざっと調べてみると、

/usr/share/kodi/addons/skin.osmc

に諸々入ってるっぽい。

簡単に結論(ソース全部読んでないから不十分かもしれない)から言うと、

/usr/share/kodi/addons/skin.osmc/fonts/NotoSans-Regular.ttf

に日本語フォントが入っていない。
No more Tofu Sansなのになぜ・・・?
次に、

/usr/share/kodi/addons/resource.language.ja_jp/addon.xml

の locale=ja_JPな場合が、CP932に指定されてる。

ということで、上記2つのファイルを差し替えます。

NotoSans-Regular.ttfの用意

NotoSansフォントは、NotoSans CJKを利用します。OTF/OTCで配布されているので、これをttf化したフォントファイルとして用意し、osmcのNotoSans-Regular.ttfと差し替えます。
addon.xml内のgui unicodefontとsubtitleは「utf-8」とする(samba使う場合は文字化けするかもしれないけど、私はDLNA経由で使うから、今回は深追いしない)。

もともとあるNotoSans-Regular.ttfは、

osmc $ ls -l NotoSans-Regular.ttf
-rw-r–r– 1 osmc osmc 306788  5月 10  2015 NotoSans-Regular.ttf

NotoSansCJKから日本語サブセットを含んだものをttfとして作成したものが、

mba $ ls -l NotoSans-RegularJ.ttf
-rw-r–r–  1 nobody  staff  707688 12 12 16:45 NotoSans-Regular.ttf

ってことで、およそ倍のファイルサイズとなりました。

これを、osmcへコピーすれば、フォントファイルの入れ替えは終わります。

mba $ scp NotoSans-Regular.ttf osmc@osmc.local:/usr/share/kodi/addons/skin.osmc/fonts/
osmc@osmc.local’s password:
NotoSans-Regular.ttf                          100%  691KB 691.1KB/s   00:01

次に、osmcの/usr/share/kodi/addons/resource.language.ja_jp/addon.xmlを変更して差し替えします。
(差し替えしなくても、メニューは、日本語表示にはなります。)

変更後の/usr/share/kodi/addons/resource.language.ja_jp/addon.xml


<?xml version="1.0" encoding="UTF-8"?>
<addon
  id="resource.language.ja_jp"
  version="1.0.4"
  name="Japanese"
  provider-name="Team Kodi">
  <requires>
    <import addon="kodi.resource" version="1.0.0"/>  </requires>
  <extension
    point="kodi.resource.language"
    locale="ja_JP">
    <charsets>
      <gui unicodefont="true">utf-8</gui>
      <subtitle>utf-8</subtitle>
    </charsets>
    <sorttokens>
      <token>The</token>
    </sorttokens>
  </extension>
  <extension point="kodi.addon.metadata">
    <summary lang="en">Japanese language pack</summary>
    <description lang="en">Japanese version of all texts used in Kodi.</description>
    <platform>all</platform>
  </extension>
</addon>


変更箇所は、gui unicodefontとsubtitleをcp932をutf-8へ変更したのみです。

以上、アーカイブしたもを下記においておきます。

[sdm_download id=”136″ fancy=”2″]

PCからscpするのがめんどい場合は、osmcへsloginして、ホームディレクトリからオペレーションしちゃえます。

mba: $ slogin -l osmc osmc.local
osmc@osmc.local’s password:
The programs included with the Debian GNU/Linux system are free software;the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.
Last login: X X XX XX from mba
osmc@osmc:~$ curl -L https://neko.makoti.com/dl/osmc_ja_JP_fontset_Dec-2015.tar.bz2 | bzip2 -d | tar -C /usr/share/kodi/addons/ -xvpf –
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
     Dload  Upload   Total   Spent    Left  Speed
100  526k  100  526k    0     0   207k      0  0:00:02  0:00:02 –:–:–  207k
skin.osmc/fonts/osmc_ja_JP_fontset.txt
skin.osmc/fonts/NotoSans-Regular.ttf
resource.language.ja_jp/addon.xml

上記の一行コマンドで、変更とフォントの差し替えが終わります。

というわけで、この作業が終わったら、osmcをリブート。
すると、豆腐だらけのメニューが、日本語表記になってくれましたとな。

OSMCの日本語表示トップ画面
OSMCの日本語表示トップ画面

 Youtubeのプラグインで表示の確認

Youtubeでの検索結果表示
Youtubeでの検索結果表示

プレーヤーでの日本語表示

プレーヤでの日本語表示
プレーヤでの日本語表示

文字化けという意味では、サブタイトルはどうよ?ということで、mkvで日本語サブタイトルが入ってるものを再生してみたら、ちゃんと日本語が表示できた。

osmc-subtitle-jp
日本語サブタイトル表示(mkv)

というわけで、豆腐戦により、ほぼ解き放たれたとな。

「ほぼ」というのは、ARIBなEPGとかのEUC-JP文字コードベースの一部は豆腐表示のままだったりします。が、めんどいので、この辺りは、気にしないことにします(ほとんどテレビ観ないし、観たいものは、放送局の動画ストリーミサービスとか、それこそ、Amazonビデオとかあるしね)。

makoti