Epgdb » History » Revision 4
Revision 3 (Dave Chapman, 2012-11-13 00:18) → Revision 4/23 (Dave Chapman, 2012-11-13 00:20)
h1. EPG database structure
This page is a work-in-progress to document the internal EPG database structure in tvh.
{{toc}}
h2. Episode object - epg_episode_t
|\3=. | |\4=.Populated from|
|_.Field|_.Type|_.Description| |_.DVB EIT|_.OpenTV|_.XML TV|_.PyEPG|
|id|uint32_t|Internal ID| | | | | |
|uri|char*|Unique ID (from grabber)| | | | | |
|title|lang_str_t*|Title| | | | | |
|subtitle|lang_str_t*|Sub-title| | | | | |
|summary|lang_str_t*|Summary| | | | | |
|description|lang_str_t*|An extended description| | | | | |
|image|char*|URL of episode image| | | | | |
|genre|epg_genre_list_t|Episode genre(s)| | | | | |
|epnum|epg_episode_num_t|Episode numbering| | | | | |
|is_bw|uint8_t|Is black and white| | | | | |
|star_rating|uint8_t|Star rating| | | | | |
|age_rating|uint8_t|Age certificate| | | | | |
|first_aired|time_t|Original airdate| | | | | |
|brand|epg_brand_t*|(Grand-)Parent brand| | | | | |
|season|epg_season_t*|Parent season| | | | | |
|broadcasts|epg_broadcast_list_t|Broadcast list| | | | | |
h3. 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
|\3=. | |\4=.Populated from|
|_.Field|_.Type|_.Description| |_.DVB EIT|_.OpenTV|_.XML TV|_.PyEPG|
|s_num|uint16_t|Series number| | | | | |
|s_cnt|uint16_t|Series count| | | | | |
|e_num|uint16_t|Episode number| | | | | |
|e_cnt|uint16_t|Episode count| | | | | |
|p_num|uint16_t|Part number| | | | | |
|p_cnt|uint16_t|Part count| | | | | |
|text|char*|Arbitary text description of episode num| | | | | |
h2. Broadcast object - epg_broadcast_t
This object contains the details of a specific airing (channel & time) of an episode.
|\3=. | |\4=.Populated from|
|_.Field|_.Type|_.Description| |_.DVB EIT|_.OpenTV|_.XML TV|_.PyEPG|
|id|uint32_t|Internal ID| | | | | |
|uri|char*|Unique ID (from grabber)| | | | | |
|dvb_eit|uint16_t|DVB Event ID| | | | | |
|start|time_t|Start time (UTC)| | | | | |
|stop|time_t|Stop time (UTC)| | | | | |
|is_widescreen|uint8_t|Is widescreen| | | | | |
|is_hd|uint8_t|Is HD| | | | | |
|lines|uint16_t|Lines in image (quality)| | | | | |
|aspect|uint16_t|Aspect ratio (*100)| | | | | |
|is_deafsigned|uint8_t|In screen signing| | | | | |
|is_subtitled|uint8_t|Teletext subtitles| | | | | |
|is_new|uint8_t|New series / film premiere| | | | | |
|is_repeat|uint8_t|Repeat screening| | | | | |
|summary|lang_str_t*|Summary| |summary|lang_str_t*|Summary text| | | | | |
|description|lang_str_t*|An extended description| |description|lang_str_t*|Description| | | | | |
|episode|epg_episode_t*|Link to tvheadend episode object| | | | | |
|serieslink|epg_serieslink_t*|SeriesLink| | | | | |
|channel|struct channel*|Channel being broadcast on| | | | | |
This page is a work-in-progress to document the internal EPG database structure in tvh.
{{toc}}
h2. Episode object - epg_episode_t
|\3=. | |\4=.Populated from|
|_.Field|_.Type|_.Description| |_.DVB EIT|_.OpenTV|_.XML TV|_.PyEPG|
|id|uint32_t|Internal ID| | | | | |
|uri|char*|Unique ID (from grabber)| | | | | |
|title|lang_str_t*|Title| | | | | |
|subtitle|lang_str_t*|Sub-title| | | | | |
|summary|lang_str_t*|Summary| | | | | |
|description|lang_str_t*|An extended description| | | | | |
|image|char*|URL of episode image| | | | | |
|genre|epg_genre_list_t|Episode genre(s)| | | | | |
|epnum|epg_episode_num_t|Episode numbering| | | | | |
|is_bw|uint8_t|Is black and white| | | | | |
|star_rating|uint8_t|Star rating| | | | | |
|age_rating|uint8_t|Age certificate| | | | | |
|first_aired|time_t|Original airdate| | | | | |
|brand|epg_brand_t*|(Grand-)Parent brand| | | | | |
|season|epg_season_t*|Parent season| | | | | |
|broadcasts|epg_broadcast_list_t|Broadcast list| | | | | |
h3. 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
|\3=. | |\4=.Populated from|
|_.Field|_.Type|_.Description| |_.DVB EIT|_.OpenTV|_.XML TV|_.PyEPG|
|s_num|uint16_t|Series number| | | | | |
|s_cnt|uint16_t|Series count| | | | | |
|e_num|uint16_t|Episode number| | | | | |
|e_cnt|uint16_t|Episode count| | | | | |
|p_num|uint16_t|Part number| | | | | |
|p_cnt|uint16_t|Part count| | | | | |
|text|char*|Arbitary text description of episode num| | | | | |
h2. Broadcast object - epg_broadcast_t
This object contains the details of a specific airing (channel & time) of an episode.
|\3=. | |\4=.Populated from|
|_.Field|_.Type|_.Description| |_.DVB EIT|_.OpenTV|_.XML TV|_.PyEPG|
|id|uint32_t|Internal ID| | | | | |
|uri|char*|Unique ID (from grabber)| | | | | |
|dvb_eit|uint16_t|DVB Event ID| | | | | |
|start|time_t|Start time (UTC)| | | | | |
|stop|time_t|Stop time (UTC)| | | | | |
|is_widescreen|uint8_t|Is widescreen| | | | | |
|is_hd|uint8_t|Is HD| | | | | |
|lines|uint16_t|Lines in image (quality)| | | | | |
|aspect|uint16_t|Aspect ratio (*100)| | | | | |
|is_deafsigned|uint8_t|In screen signing| | | | | |
|is_subtitled|uint8_t|Teletext subtitles| | | | | |
|is_new|uint8_t|New series / film premiere| | | | | |
|is_repeat|uint8_t|Repeat screening| | | | | |
|summary|lang_str_t*|Summary| |summary|lang_str_t*|Summary text| | | | | |
|description|lang_str_t*|An extended description| |description|lang_str_t*|Description| | | | | |
|episode|epg_episode_t*|Link to tvheadend episode object| | | | | |
|serieslink|epg_serieslink_t*|SeriesLink| | | | | |
|channel|struct channel*|Channel being broadcast on| | | | | |