SSブログ

XBMC(Raspbmc)「ライブTV」でリアル視聴 [録画・再生]

IPTV01.png
 XBMC(Raspbmc)の「ライブTV」機能とサーバ側PT2(又はKTV-FSUSB2)でリアル視聴の環境を作成してみた。Raspberry Pi(Raspbmc)と録画サーバ(Ubuntu server 12.04、epgrec+PT2x2)のそれぞれへの設定は以下の手順で行った。

1.アドオン「xbmc-addon-iptvsimple」の作成(Raspbmc)
$ ssh pi@192.168.xx.xx #他PCからリモートでRaspbmcへ
pi@192.168.xx.xx's password: (raspberry)←パスワードを入力
$ sudo apt-get install build-essential automake git libtool ca-certificates
$ git clone https://github.com/afedchin/xbmc-addon-iptvsimple
$ cd xbmc-addon-iptvsimple
$ git checkout frodo
$ sh ./autogen.sh
$ ./configure
$ make dist-zip
$ ls *.zip
pvr.iptvsimple.1.6.1.zip
pvr.iptvsimple.1.9.3.zip
2.番組情報(EPG)の取得(録画サーバ)
 TSデータから「epgdump」(こちらのSTZ版を使用)により作成した。「epgdump」にはバリエーションがあるが、それにより「channel id="XX"」のフォーマットが異なっているのでプレイリスト作成時は要注意。
#!/bin/sh
#
epg_xml="xmltv.xml"
channel_gr="27 26 25 24 22 23 21 16"
#channel_bs="101"
#channel_cs1="CS8"
#channel_cs2="CS24"
rec_sec=60
#rec_sec_bs=180
#rec_sec_cs=120
outdir="/home/hoge/gr_EPG/"
EPGDUMP="/usr/local/bin/epgdump"
RECODER="/usr/local/bin/recpt1 --b25 --strip --sid epg"
#RECODER="/usr/local/bin/recfsusb2n --b25 --sid epg"
#
# EPG (GR)
for channel_no in ${channel_gr}
do
   $RECODER ${channel_no} $rec_sec ${outdir}epgtemp${channel_no}.ts
   if [ ${channel_no} = "27" ] ; then
     $EPGDUMP ${channel_no} ${outdir}epgtemp${channel_no}.ts - | \
     sed -e '$d' > ${outdir}${epg_xml}
     continue
   fi
   $EPGDUMP ${channel_no} ${outdir}epgtemp${channel_no}.ts - | \
   sed -e '1,4d' -e '$d' >> ${outdir}${epg_xml}
done
#
# EPG(BS)
#$RECODER ${channel_bs} $rec_sec_bs ${outdir}epgtemp${channel_bs}.ts
#$EPGDUMP /BS ${outdir}epgtemp${channel_bs}.ts - | \
#sed -e '1,4d' -e '$d' >> ${outdir}${epg_xml}
#
# EPG(CS)
#$RECODER ${channel_cs1} $rec_sec_cs ${outdir}epgtemp${channel_cs1}.ts
#$EPGDUMP /CS ${outdir}epgtemp${channel_cs1}.ts - | \
#sed -e '1,4d' -e '$d' >> ${outdir}${epg_xml}

#$RECODER ${channel_cs2} $rec_sec_cs ${outdir}epgtemp${channel_cs2}.ts
#$EPGDUMP /CS ${outdir}epgtemp${channel_cs2}.ts - | \
#sed -e '1,4d' -e '$d' >> ${outdir}${epg_xml}
#
echo '</tv>' >> ${outdir}${epg_xml}
 確認は地上デジタルのみ他は未確認です。

3.プレイリスト(M3U)の作成(録画サーバ)
 取得したEPG(xmltv.xml)から各局「channel id」の値を以下「tvg-id」へ設定する。M3Uフォーマットの詳細は「IPTV Simple Home」を参照。
$ vi iptv.m3u
#EXTM3U
#EXTINF:-1 tvg-id="GR_1024" group-title="地上デジタル",NHK総合
http://(録画サーバIP):8800/27
#EXTINF:-1 tvg-id="GR_1032" group-title="地上デジタル",NHKEテレビ
http://(録画サーバIP):8800/26
...
...
#EXTINF:-1 tvg-id="GR_23609" group-title="地上デジタル",東京MX
http://(録画サーバIP):8800/16
4.番組情報、プレイリストをRaspbmcへコピー(録画サーバ)
 とりあえずホームフォルダへコピー。
$ scp iptv.m3u gr_EPG/xmltv.xml pi@192.168.xx.xx:
5.「recpt1」httpデーモン起動(録画サーバ)
 httpデーモンは、呼ばれたホストの名前解決に失敗するとその旨メッセージを出し終了してしまう仕様なので、予めRaspbmcをhostsファイルに登録しておく。固定IPの方が何かと便利。
$ recpt1 --b25 --sid hd --strip --http 8800
(又は$ recfsusb2n --b25 --sid hd --http 8800)
$ vi /etc/hosts
127.0.0.1     localhost
・・・・・
192.168.xx.xx     raspi #ホスト名はお好きなように
6.アドオン「xbmc-addon-iptvsimple」のインストール、設定(Raspbmc)
・インストール
  「システム」→「設定」→「アドオン」→「zipファイルからインストール」→「ホームフォルダ」
  →「xbmc-addon-iptvsimple」フォルダから「pvr.iptvsimple.1.6.1.zip」を選択
    →「PVR IPTV Simple Client アドオンが有効になりました」でインストール完了
・設定(プレイリスト、EPGファイルの指定)
 同様に「アドオン」から「有効なアドオン」→「PVRクライアント」→「IPTV Simple Client」→「設定」
 「General」タブ → 「File Location」 → 「Local Path(include Local Network)」
         「M3U Play List Path」 → 「/home/pi/iptv.m3u」
 「EPG Settings」タブ → 「File Location」 → 「Local Path(include Local Network)」
             「XMLTV Path」 → 「/home/pi/xmltv.xml」

7.「ライブTV」の設定、PVR・EPGの初期設定(Raspbmc)
 「システム」→「設定」→「ライブTV」→「一般」→「LCD有効」をオン
 これでプレイリスト、EPGファイルからそれぞれのデータベースが読み込まれ、トップメニューに「ライブTV」メニューが追加され、これでライブ視聴が可能となる。
 なお修正したプレイリスト、EPGデータを即反映するにはデータベースを一旦リセットしてやれば自動更新される。
 「システム」→「設定」→「ライブTV」
  ・「一般」→「PVRデータベースのリセット」
  ・「電子番組ガイド」→「EPGデータベースのリセット」

操作の方は専らAndroid端末(Yatse, the XBMC Remote)から行なっているが、MediaCenterとして便利に使えている。
nice!(1)  コメント(0) 
共通テーマ:パソコン・インターネット

nice! 1

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。