Apple TVとChinachu+Mirakurunでリアルタイム視聴(EPG対応版)

DTV・ffmpegテレビ,DTV,Chinachu,AppleTV

 

昔、XBMCでChinachuからリアルタイム視聴をする方法を記載した。

AppleTV版のXBMCとして「MrMC」というものがあり、これに「IPTV Simple Client」を入れても良いのだが、もうちょっと簡単にいかないものかと思い、今回は別の方法を使ってみた。

PVR.Chinachuをインストールする

先の記事と同様に、Chinachu-IPTV-API-Addonをインストールしておく。
なお、このプラグインは既にサポートが終了しており、Kodiで利用する場合にはPVR.Chinachuの利用が推奨されているが、Chinachu Gammaでも無事使えている。

ただし、今回はここから出力されるチャンネルリスト(m3u8)及びEPGファイルをそのままは用いない。というのも、前者はChinachuを通すよりもMirakurunからダイレクトにストリームを流した方が効率的であり、後者は文字化けをしている部分があるためその点を補正する必要があるからだ。

Mirakurunに対応したm3u8を作る

以下の記事に記載した方法で作成して欲しい。ここでは相当な力業を用いているが、もっとシンプルに作る方法があるような気もしてならない。

ちなみに、tvg-logoというオプションを加えると、ロゴ画像を表示することが出来る。

#EXTINF:-1 tvg-id="1i597ds" tvg-logo="XXXXX/fuji.png", フジテレビ
http: //XXXXXXX:40772/api/channels/GR/21/services/1056/stream

個別にWebサーバーと画像ファイルを用意しておく必要があるが、見た目にこだわるならオススメである。

EPGファイルを用意する

続いて、EPGファイルを加工するようにする。
標準で出力されるepgファイルは微妙な文字化けが存在しており、一部のアプリでは読み取ることが出来ない。
今回はPHPを用いて、Chinachuが出力するEPGファイルを修正することとした。

<?phpfunctionutf8_for_xml($string){
    return preg_replace ('/[^\x{0009}\x{000a}\x{000d}\x{0020}-\x{D7FF}\x{E000}-\x{FFFD}]+/u', ' ', $string);
}

$file = file_get_contents('http: //XXXXX/api/iptv/epg.xml');

print utf8_for_xml($file);

?>

「http: //XXXXX/api/iptv/epg.xml」とした部分をepg.xmlの場所にしてあげればOK。

iPlayTVをインストールする

使うのは「iPlayTV」というソフト。有料なのだけれども、IPTVクライアントとしては非常につかいやすい。

ということで、これをAppleTVにインストールしておく。

iPlayTVを設定する

設定はいたって簡単で、作成したm3u8ファイルとepgファイルを指定してあげれば良い。

th_iplaytv-settings

これで、チャンネルとEPGを読み込んであげれば、こんな形で表示される。

まずはチャンネルリスト。ロゴ画像を設定してみたので、ロゴが表示されるようになっている。

th_iplaytv-channels

EPG。ロゴを指定しているのだが、最近のiPlay TVのアップデートでなぜか表示されたりされなかったりになってしまった……おそらく画像の解像度やサイズが問題なのだと思うが、面倒なので放置している。

th_iplaytv-epg

再生するときには、番組情報が一瞬現れた後に再生がスタートする。モタつくことはなく非常にスムーズ。

th_iplaytv-playing

これで、AppleTVでMirakurun+Chinachuな環境を使ってリアルタイム視聴が可能になった。先に記載した通りMrMCを使っても良いのだが、多機能ななかにTVが埋め込まれているよりも、ひとつのアプリとして存在させたい……そんなワガママを解消してくれる手段である。

Posted by webnetforce