|
Link de 録! を平日の日中、自動でスリープさせるため、予約状況を
PCast から取得する必要があり、PCast を解析する。
HGLAN のファームウェアは、Ver.1.49。
PCast のコントロールは /usr/local/PCast/DbacRap で行う。
PCast の www ディレクトリ以下を grep して、判明したコマンドは次のとおり。
コマンドの形式は二種類あるらしい。説明は実際に確認できたもののみ。
- パラメータのないもの。あるいは空白で区切ってパラメータを渡すもの。
|
# /usr/local/PCast/DbAcRap コマンド [パラメータ]
|
| コマンド | パラメータ | 説明 |
| GetDevJudgment |
なし |
デバイス種別を取得 |
| GetDeviceStatus |
なし |
デバイスの状態を取得 |
| GetIcommander |
なし or 1 |
不明 |
GetMergeListTop GetMergeListBottom |
なし |
全てのデバイスの録画予約一覧取得 |
GetPlListTop GetPlListBottom |
なし |
録画済み一覧取得 |
| SetIcommander |
1 |
不明 |
| SetUserChannel |
1 |
不明 |
| channelscan |
なし |
チャンネルスキャン |
- コマンド名に間を空けずに {}
でくくってパラメータを渡す形式のもの。
|
# /usr/local/PCast/DbAcRap コマンド{パラメータ}{パラメータ}....
|
- 予約コマンド
add{Reserve_Type}{Mpeg_Type}{Start_Time}{End_Time}{Channel}{Audio}
{Undefine}{Undefine}{Undefine}{Device}{Title}
- 予約変更コマンド
ChangeKey{Reserve_Type}{Mpeg_Type}{Start_Time}{End_Time}{Channel}
{Audio}{Undefine}{Undefine}{Undefine}{Device}{Title}{Key}
- 録画コマンド
RecordStart{Device}{Mpeg_Type}{Channel}{Audio}
- その他
| コマンド |
パラメータ1 |
パラメータ2 |
説明 |
GetListTop GetListBottom |
{Device} |
なし |
指定デバイスの予約一覧取得 |
| GetLiveInfo |
{Device} |
なし |
不明 |
| GetRecordInfo |
{Device} |
なし |
不明 |
| GetStartTime |
{Device} |
なし |
不明 |
| RecordStop |
{Device} |
なし |
録画停止 |
| ChangePlayTitle |
{Title} |
{Key} |
不明 |
| DelKey |
{Device} |
{Key} |
不明 |
| DelPlKey |
{Key} |
なし |
不明 |
GetLiveInfo、GetRecordInfo、GetStartTime はエラーになったが、
録画中に有効なコマンドかも知れない。
- EPG 関連
EpgProxy{No}{Ip1]}{Ip2}{Ip3}{Ip4}{Port}
パラメータの意味は次のようになる。
| パラメータ名 | 説明 |
| Device |
デバイス番号( 0 〜 ) |
| Reserve_Type |
0:1回
1:毎日
2:毎週
3:毎週(月曜日〜金曜日)
4:毎週(火曜日〜土曜日)
5:毎週(月曜日〜土曜日)
6:毎週(火曜日〜日曜日)
|
| Mpeg_Type |
0:MPEG2 高画質
1:MPEG2 標準画質
2:MPEG2 低画質
4:MPEG2 ストリーミング画質
10:MPEG4 高画質
11:MPEG4 標準画質
12:MPEG4 低画質
14:MPEG4 ストリーミング画質
|
| Start_Time |
開始時間( 年/月/日/時/分 ) |
| End_Time |
終了時間( 年/月/日/時/分 ) |
| Channe |
チャンネル。 S 端子入力は 1000、ビデオ入力は 1001 |
| Audio |
2:ステレオ
3:主音声
4:副音声
5:主+副音声
|
| Undefine |
未使用 |
| Title |
番組名 |
| Key |
データキー |
| No |
Proxy の順位(0/1) |
| Ip1 |
IP アドレスの1番目( 0 〜 255 ) |
| Ip2 |
IP アドレスの2番目( 0 〜 255 ) |
| Ip3 |
IP アドレスの3番目( 0 〜 255 ) |
| Ip4 |
IP アドレスの4番目( 0 〜 255 ) |
コマンド名Top/Bottom はリストを昇順にするか降順にするかの違い。
情報を取得するコマンドの実行結果は次の通り。
- GetDevJudgment
GetDevJudgment
[START]GetDevJudgment
[DATA]Device=0 TYPE=MV7DXU2
[DATA]Device=1 TYPE=UNKNOW
[DATA]Device=2 TYPE=UNKNOW
[DATA]Device=3 TYPE=UNKNOW
[FINISH]GetDevJudgment
|
- GetDeviceStatus
GetDeviceStatus
[START]GetDeviceStatus
[DATA]Device=0 Status=WAIT
[DATA]Device=1 Status=NODEVICE
[DATA]Device=2 Status=NODEVICE
[DATA]Device=3 Status=NODEVICE
[FINISH]GetDeviceStatus
|
- GetPlListBottom
GetPlListBottom
[START]GetPlListBottom
[DATA]Index=0002 TittleName=・ネ・・ホ・ェ・・・ヤ・テ・ッ」イ」ー」ー」カ
[DATA]Index=0002 Status=2
[DATA]Index=0002 ResType=0
[DATA]Index=0002 Formet=12
[DATA]Index=0002 Reserve1=0
[DATA]Index=0002 Reserve2=0
[DATA]Index=0002 Start=2006/02/13/23/25
[DATA]Index=0002 End=2006/02/14/06/50
[DATA]Index=0002 TvChannel=3
[DATA]Index=0002 TvAudioMode=0
[DATA]Index=0002 DeviceId=0
[DATA]Index=0002 FileName=/mnt/share/トリノオリンピック2006_0213.mpg
[DATA]Index=0002 DataKey=1139840700
[DATA]Index=0001 TittleName=・ネ・・ホ・ェ・・・ヤ・テ・ッ」イ」ー」ー」カ
[DATA]Index=0001 Status=2
[DATA]Index=0001 ResType=0
[DATA]Index=0001 Formet=12
[DATA]Index=0001 Reserve1=0
[DATA]Index=0001 Reserve2=0
[DATA]Index=0001 Start=2006/02/12/21/53
[DATA]Index=0001 End=2006/02/13/04/00
[DATA]Index=0001 TvChannel=3
[DATA]Index=0001 TvAudioMode=0
[DATA]Index=0001 DeviceId=0
[DATA]Index=0001 FileName=/mnt/share/トリノオリンピック2006_0212.mpg
[DATA]Index=0001 DataKey=1139748780
[FINISH]GetPLListBottom
|
漢字コードが違うようで、FileName は shift jis だが、TittleName
は euc のようだ。
TittleName はひょとして TitleName ?
- GetListTop{0}
GetListTop{0}
[START]GetListTop
[DATA]Index=0001 TittleName=フタクススハシアメシキネヨセ。ノi
[DATA]Index=0001 Status=0
[DATA]Index=0001 ResType=2
[DATA]Index=0001 Formet=12
[DATA]Index=0001 Reserve1=0
[DATA]Index=0001 Reserve2=0
[DATA]Index=0001 Reserve3=0
[DATA]Index=0001 Start=2006/03/17/21/15
[DATA]Index=0001 End=2006/03/17/21/58
[DATA]Index=0001 TvChannel=3
[DATA]Index=0001 TvAudioMode=2
[DATA]Index=0001 DeviceId=0
[DATA]Index=0001 FileName=/mnt/share/柳生十兵衛七番勝負_0317.mpg
[DATA]Index=0001 DataKey=1142597700
[DATA]Index=0002 TittleName=タ、ウヲネスムエロオェケヤ
[DATA]Index=0002 Status=0
[DATA]Index=0002 ResType=2
[DATA]Index=0002 Formet=12
[DATA]Index=0002 Reserve1=0
[DATA]Index=0002 Reserve2=0
[DATA]Index=0002 Reserve3=0
[DATA]Index=0002 Start=2006/03/17/22/00
[DATA]Index=0002 End=2006/03/17/22/25
[DATA]Index=0002 TvChannel=5
[DATA]Index=0002 TvAudioMode=2
[DATA]Index=0002 DeviceId=0
[DATA]Index=0002 FileName=/mnt/share/世界美術館紀行_0317.mpg
[DATA]Index=0002 DataKey=1142600400
[FINISH]GetListTop
|
やっぱり、TittleName ?
よし、これで予約状況が取得できるから、予約が入っていないときにスリープするスクリプトが書けるぞ。
|