iEPGフォーマット解析
ソニーが提唱している、インターネットでのテレビ番組録画予約方式 iEPGのフォーマットを解析してみました。※ かつて、ソニーのGigaPocketのページで公開されていた、Giga Pocket Control Reference Manual(http://www.vaio.sony.co.jp/Enjoy/Guide/Gigapocket/API/tvpi_body.html リンク切れ)を参考に書き直しました。(2005/2/4)
※ デジタルテレビジョン放送に対応したiEPG Version2の解析結果を、iEPG Version2 フォーマット解析のページで公開しています。(2009/5/22)
フォーマット
- ファイル形式
-
- 拡張子は「tvpi」(TV Program Informationの略)
- MIME Content-Typeは「application/x-tv-program-info」
- 文字コードはShift JIS、改行コードはCR+LF
- 半角カナは、使用禁止
※ 機種依存文字の規定はないが、使用しないほうがよい
- データ構造
-
- iEPGデータは「ヘッダ部」と「メモ部」から構成される
「メモ部」は省略可能 - ヘッダ部の後に一行以上の空行をおくと、以降はメモ部になる
このため、ファイル先頭行に空行をおくことはできない - ヘッダ部の各フィールドは、1行1フィールドで記述
- 各フィールドは、「フィールド名: 値」の形式で表記(フィールド名は、大・小文字どちらでも可)
- iEPGデータは「ヘッダ部」と「メモ部」から構成される
- 各フィールド
-
- Content-type:
-
コンテンツタイプを指定 省略不可
必ず1行目に記述
値は「application/x-tv-program-info」のみ
「application/x-tv-program-info; charset=文字エンコード」とすることで、使用する文字コードを変更できる
※ 文字エンコードの規定はないが、Shift JISのみ対応の端末が多いため、Shift JIS推奨 - version:
-
データのバージョンを指定 省略不可
値は「1」のみ - station:
-
放送局名を指定 省略不可
1バイトASCIIコードまたは2バイトコードで表記(半角カナは使用禁止)
放送局の名称について規定はない(愛称や略称等の別名があるため、クライアント側で曖昧検索によって特定する)
※ 互換性の問題から、iEPGデータ上では「め~テレ」「tvk」等の愛称は使われず、旧来の「名古屋テレビ」「TVKテレビ」が使われている。
局名表記は、iEPG提供サイトのiEPGデータや、各社のHDDレコーダの取扱説明書・東芝RD-style内の[番組表の使いこなし] → [各機種別番組表設定]にある、「設定入力用チャンネル名」の部分が参考になる。 - year:
-
録画開始の西暦を指定 省略可能
4桁の数字(1バイトASCIIコード)で表記
省略時には、クライアント側はデータ取得時の年と解釈する - month:
-
録画開始の月を指定 省略可能(記述を推奨)
1~12、またはJan・Feb・Mar・Apr・May・Jun・Jul・Aug・Sep・Oct・Nov・Decを、1バイトASCIIコードで表記
省略時には、クライアント側はデータ取得時の月と解釈する - date:
-
録画予約日付を指定 省略可能(記述を推奨)
1~31の1バイトASCIIコードで表記
省略時には、クライアント側はデータ取得時の日付と解釈する
存在しない日(4月31日等)が指定された場合は、クライアント側は存在する月の最後の日からの差分を翌月の日として解釈する
※ 4月31日が指定された場合、5月1日と解釈される(4月は30日までしかないため) - start:
-
録画開始時間を指定 省略不可能
1バイトASCIIコードで表記(コロンも含む)
時・分ともに、1桁または2桁の数字で指定
時は1~23までの24時制。 24:00以降の時間が指定された場合は、クライアント側は翌日の時間が指定されたものと解釈する
分は0~59で表記(60以上を指定されても、59であると解釈する)
- end:
-
録画終了時間を指定 省略不可能
「strat:」で指定した時間よりも前の時間は指定できない(日付をまたぐ場合は可能)
記述は、start:と同様に
- program-title:
-
番組の名前を指定 省略可能(記述を推奨)
※ 特に規定は無いが、1バイトASCIIコードと2バイトコードの混在が可能 - program-subtitle:
-
番組のサブタイトルを指定 省略可能
※ 特に規定は無いが、1バイトASCIIコードと2バイトコードの混在が可能 - performer:
-
番組出演者の名前を指定 省略可能
※ 特に規定は無いが、1バイトASCIIコードと2バイトコードの混在が可能
デリミターは定義されていないが、全角スペースを使用していることが多い
データの例
ファイル名: sample.tvpi
Content-type: application/x-tv-program-info; charset=Shift_JIS
version: 1
station: NHK総合
year: 2002
month: 12
date: 31
start: 23:45
end: 00:30
program-title: ゆく年くる年
program-subtitle: ゆく年くる年▽妙法寺ほか
performer:森田美由紀
空行をはさんでいるので、ここはメモ部です
version: 1
station: NHK総合
year: 2002
month: 12
date: 31
start: 23:45
end: 00:30
program-title: ゆく年くる年
program-subtitle: ゆく年くる年▽妙法寺ほか
performer:森田美由紀
空行をはさんでいるので、ここはメモ部です
iEPG提供サイト
- テレビ王国(So-net)
- インターネットTVガイド(東京ニュース通信社)
- ON TV JAPAN(ONTV Corporation)
- テレビ番組ナビ(NTT-X)
- TVニッカンスポーツ(日刊スポーツ新聞社)
など
このデータの公開に問題があるようであれば、問い合わせフォームからご連絡ください。