2012年1月21日土曜日

EyeTV 番組ガイドの登録ができました。

(2012-04-14) mc2xmlが使えなくなり、自力取得するスクリプトを公開しましたので
こちらで、どうぞ
http://samandlinda.blogspot.jp/2012/04/eyetv-gettv.html






前回チャンネル登録、IRブラスターの登録で、ソフトからのチャンネル変更や
テレビ王国のiEPGから予約録画するとこまで、先人の方々のWEB書き込みを見ながら
なんとかやってきました。

あと1つ、手つかずの課題は、EyeTV3の「番組ガイド」が残されていました。
たまたま2chのスレッドを読んでいると、「番組ガイド」が登録できるという書き込みを発見
書いてあるとおりに実行してみると、なんと「番組ガイド」が表示されるようになりました。

<参考>
「PC等」-「新・mac」-「EyeTV Part4」の888からの書き込みがあります

毎回、手動でやるには大変なので、簡単に自動取得し更新できるシェルスクリプトを作りましたので
ここに公開したいと思います。

※一度は2chの記述どおり、手動でやってみてください。


【動作した環境】
EyeTV3 V3.5.4 (6786)

【番組ガイド自動取得&更新シェルスクリプト】

#!/bin/sh

# chget.sh (mc2xml for EyeTv)
#
# Ver 1.0 2012-01-21 Original by K.M

# 本スクリプトは。EyeTV用の番組ガイド登録スクリプトです。
#最下部で定義したチャンネル情報を1件ずつ取得しEyeTVに登録します。
#
#
# <使い方>
# 1.環境定義
# sDir  mc2xml実行ファイルの場所を設定
# sZipCode 自分の郵便番号を設定
# iPlace  mc2xml実行時に聞かれる取得する番組表の番号
# 2.取得チャンネル定義(本スクリプトの最下部)
# 初期では福岡でのチャンネル取得なので7行の記述があります
# 
# <記述内容>
# GetXml 引数1 引数2 引数3 引数4
#
# 引数1 mc2xmlで取得したチャンネル番号
# 引数2 EyeTv HDで設定しているチャンネル番号
# 引数3 mc2xmlで取得したチャンネル名称
# 引数4 EyeTv HDで設定しているチャンネル名称
#
# 3.実行
# ターミナルを起動し、設置したフォルダーへ移動(dir ~/Documents/ch)
# 実行前に本スクリプトに実行権限を与えて下さい。(chmod 755 chgt.sh)※最初の1回のみ
# 本シェルスクリプト実行(./chgt.sh)
# ※()内コマンドは、~/Documents/ch に設置した場合。
#
#
# 4.Tips
# 本スクリプトを実行前に、mc2xmlを直接動かして、取得したXMLの内容を参照になり
# チャンネル番号や、チャンネル名称がどのようになっているかをまず知る必用があります。
# 
# <mc2xmlの手動実行の仕方>
# mc2xml  -c jp -g 9999999 -U
# ※mc2xmlに実行権限を設定しないと動きません(chmod 755 mc2xml)
# ※9999999は郵便番号です
# ※mc2xmlダウンロード http://mc2xml.hosterbox.net/
#
# 自動実行するには、crontab等にて自動実行してください。


#実行ディレクトリ(環境に合わせ設定して下さい)
sDir=~/Documents/ch

#郵便番号(環境に合わせ設定して下さい)
sZipCode=8112415

#取得地域(環境に合わせ設定して下さい)
iPlace=4


#実行ディレクトリヘ移動
cd $sDir

#echo $sDir
#echo $sZipCode
#echo $iPlace


#実行関数定義
function GetXml(){
    #echo “***** $1ch / $2ch / $3 / $4 *****”

    #前回のデータ削除
    if [ -f mc2xml.dat ]; then
        echo “mc2xml.dat 削除”
        rm mc2xml.dat
    fi
    if [ -f xmltv.xml ]; then
        echo “xmltv.xml 削除”
        rm xmltv.xml
    fi

    #取得するチャンネル設定
    echo “$1” > mc2xml.chl

    #チャンネルエイリアス設定
    echo “$1:$2” > mc2xml.ren

    #コマンド実行
    echo $iPlace|./mc2xml  -c jp -g $sZipCode -U


    #結果抽出
    echo “create xmltv_ch$2.xml”

    #番組名の変更
    if [ “$3” != “$4” ]; then
        echo “$3 --> $4 へ変更”;
        sed -e “s/$3/$4/g” xmltv.xml > xmltv_tmp.xml
        rm xmltv.xml
    else
        mv xmltv.xml xmltv_tmp.xml
    fi

    #名称から数字を削除
    sed -e “s/$2 $4/$4/g” xmltv_tmp.xml > xmltv_ch$2.xml
    rm xmltv_tmp.xml

    #EyeTVに読み込み
    echo “EyeTVへ取り込み xmltv_ch$2.xml”
    open -a EyeTV ./xmltv_ch$2.xml

}



#チャンネル数分処理を実行する(環境に合わせ設定して下さい)
GetXml 1 1 KBC KBC
GetXml 6 2 NHK Eテレ NHK教育
GetXml 3 3 NHK総合 NHK総合
GetXml 4 4 RKB RKB
GetXml 37 5 FBS FBS
GetXml 19 7 TVQ TVQ
GetXml 9 8 TNC TNC


【設置手順】
1.ログオン中のユーザの「書類」の中に「ch」というフォルダを作成して下さい。

2.mc2xmlをダウンロードして、「ch」フォルダの中に格納してください。
http://mc2xml.hosterbox.net/
OSX用のモジュールをダウンロードしてください。

3.ターミナルを開いて実行権限を与えます。

cd ~/Documents/ch
chmod 755 mc2xml

4.作成した「ch」フォルダの中に、「chget.sh」という名前でファイルを作成し
上記スクリプトをコピー&ペーストして、一旦保存してください。

テキストエディタで作業してください。(テキストエディットは使えません!)

5.「chget.sh」の実行環境にあわせて修正後、保存してください。

51行目 sZipCode=8112415  の数字の部分をご自分の郵便番号へ
54行目 iPlace=4 の部分の4を、mc2xmlを手動実行したとき選択する番号に変更してください。
113行目以降 ご自分の地域で、取得したいチャンネルの定義を定義します。

<記述内容>
GetXml 引数1 引数2 引数3 引数4

引数1 mc2xmlで取得したチャンネル番号
引数2 EyeTv HDで設定しているチャンネル番号
引数3 mc2xmlで取得したチャンネル名称
引数4 EyeTv HDで設定しているチャンネル名称

※mc2xmlを直接動かして、取得したXMLの内容を参照になり、チャンネル番号や、チャンネル名称がどのようになっているかをまず知る必用があります。

6.ターミナルより「chget.sh」に実行権限を与えます。

chmod 755 chget.sh

7.実行はターミナルから行います。

./chget.sh

実行が開始されると、チャンネル毎に番組情報が取得されEyeTVに自動的に登録されます。


8.EyeTV側での設定(初回のみ)

EyeTVの「チャンネル」を開き、登録されているチャンネルの「ガイド」をクリックすると「xmltv」が選択できますので
「xmltv」を選択すると、ウインドウが表示され、その中から割り当てるチャンネルガイドを選択し「割り当て」ボタンをクリックします。これを、登録した全チャンネル分繰り返します。












この登録作業が終わると「番組ガイド」に、番組情報が表示されます。

しばらくすると、iPhone、iPadのアプリ側の番組ガイドも更新され、予約が可能になります


9.自動実行について

私の場合は、crontabというコマンドで自動実行させています。

ターミナルより

crontab -e
でエディタを起動して、”i”を入力後
下記の1行を入力

0 6 * * * ~/Documents/ch/chget.sh > /dev/null 2>&1

入力が終わったら、”:wq” を入力すると、登録後、エディタが終了します。
この記述で、朝6時にスクリプトが自動実行されるようになります。


<追記>
各チャンネルに、xmltvを割り当てするとチャンネルの名前が、「KBC」だったのが「1 KBC」に変更されてしまいますので、割り当て後、名前の変更で、もとの「KBC」に戻しました。これで、テレビ王国からのiEPGでも予約できます。

0 件のコメント:

コメントを投稿