Actions
Epgdb » History » Revision 15
« Previous |
Revision 15/23
(diff)
| Next »
Dave Chapman, 2012-11-13 02:50
EPG database structure¶
This page is a work-in-progress to document the internal EPG database structure in tvh.
The "HTSP" column indicates the name of the field in the HTSP event message.
The "Populated from" columns indicate which EPG grabbers can populate that field.
- Table of contents
- EPG database structure
Brand object - epg_brand_t¶
Populated from | ||||||||
Field | Type | Description | HTSP | DVB EIT | OpenTV | XML TV | PyEPG | |
---|---|---|---|---|---|---|---|---|
id | uint32_t | Internal ID | brandId | |||||
uri | char* | Unique ID (from grabber) | ||||||
title | lang_str_t* | Brand name | ||||||
summary | lang_str_t* | Brand summary | ||||||
season_count | uint16_t | Total number of seasons | ||||||
image | char* | Brand image | ||||||
seasons | epg_season_list_t | Season list | ||||||
episodes | epg_episode_list_t | Episode list |
Season object - epg_season_t¶
Populated from | ||||||||
Field | Type | Description | HTSP | DVB EIT | OpenTV | XML TV | PyEPG | |
---|---|---|---|---|---|---|---|---|
id | uint32_t | Internal ID | seasonId | |||||
uri | char* | Unique ID (from grabber) | ||||||
summary | lang_str_t* | Season summary | ||||||
number | uint16_t | The season number | ||||||
episode_count | uint16_t | Total number of episodes | ||||||
image | char* | Season image | ||||||
brand | epg_brand_t | Parent brand | ||||||
episodes | epg_episode_list_t | Episode list |
Episode object - epg_episode_t¶
Populated from | ||||||||
Field | Type | Description | HTSP | DVB EIT | OpenTV | XML TV | PyEPG | |
---|---|---|---|---|---|---|---|---|
id | uint32_t | Internal ID | episodeId | |||||
uri | char* | Unique ID (from grabber) | Yes | |||||
title | lang_str_t* | Title | title | Yes | Yes | |||
subtitle | lang_str_t* | Sub-title | ||||||
summary | lang_str_t* | Summary | summary* | |||||
description | lang_str_t* | An extended description | description* | |||||
image | char* | URL of episode image | image | |||||
genre | epg_genre_list_t | Episode genre(s) | contentType* | Yes | Yes | |||
epnum | epg_episode_num_t | Episode numbering | ||||||
is_bw | uint8_t | Is black and white | Yes | |||||
star_rating | uint8_t | Star rating | starRating | |||||
age_rating | uint8_t | Age certificate | ageRating | Yes | ||||
first_aired | time_t | Original airdate | firstAired | |||||
brand | epg_brand_t* | (Grand-)Parent brand | ||||||
season | epg_season_t* | Parent season | ||||||
broadcasts | epg_broadcast_list_t | Broadcast list |
- summary/description will be replaced with the versions in the specific broadcast, if they differ.
- contentType contains only the first genre in the case where multiple genres are stored.
Episode numbering object - epg_episode_num_t:¶
This is for some back-compat and also to allow episode information to be "collated" into easy to use object
Populated from | ||||||||
Field | Type | Description | HTSP | DVB EIT | OpenTV | XML TV | PyEPG | |
---|---|---|---|---|---|---|---|---|
s_num | uint16_t | Series number | seasonNumber | |||||
s_cnt | uint16_t | Series count | seasonCount | |||||
e_num | uint16_t | Episode number | episodeNumber | |||||
e_cnt | uint16_t | Episode count | episodeCount | |||||
p_num | uint16_t | Part number | partNumber | |||||
p_cnt | uint16_t | Part count | partCount | |||||
text | char* | Arbitary text description of episode num | episodeOnscreen |
Broadcast object - epg_broadcast_t¶
This object contains the details of a specific airing (channel & time) of an episode.
Populated from | ||||||||
Field | Type | Description | HTSP | DVB EIT | OpenTV | XML TV | PyEPG | |
---|---|---|---|---|---|---|---|---|
id | uint32_t | Internal ID | eventId | |||||
uri | char* | Unique ID (from grabber) | No | |||||
dvb_eit | uint16_t | DVB Event ID | Yes | |||||
start | time_t | Start time (UTC) | start | Yes | ||||
stop | time_t | Stop time (UTC) | stop | Yes | ||||
is_widescreen | uint8_t | Is widescreen | Yes | |||||
is_hd | uint8_t | Is HD | Yes | |||||
lines | uint16_t | Lines in image (quality) | ||||||
aspect | uint16_t | Aspect ratio (*100) | ||||||
is_deafsigned | uint8_t | In screen signing | Yes | |||||
is_subtitled | uint8_t | Teletext subtitles | Yes | |||||
is_audio_desc | uint8_t | Audio description | Yes | |||||
is_new | uint8_t | New series / film premiere | ||||||
is_repeat | uint8_t | Repeat screening | ||||||
summary | lang_str_t* | Summary | summary* | Yes | Yes | |||
description | lang_str_t* | An extended description | description* | Yes | Yes | |||
episode | epg_episode_t* | Link to tvheadend episode object | ||||||
serieslink | epg_serieslink_t* | SeriesLink | serieslinkid | |||||
channel | struct channel* | Channel being broadcast on | channelId |
- summary/description will override the versions in the episode object
SeriesLink object - epg_serieslink_t¶
This object represents a related set of broadcasts intended to be automatically recorded by a DVR
Populated from | ||||||||
Field | Type | Description | HTSP | DVB EIT | OpenTV | XML TV | PyEPG | |
---|---|---|---|---|---|---|---|---|
id | uint32_t | Internal ID | eventId | |||||
uri | char* | Unique ID (from grabber) | Yes | Yes | ||||
broadcasts | epg_broadcast_list_t | List of broadcasts |
Updated by Dave Chapman about 12 years ago · 15 revisions