Project

General

Profile

Actions

Epgdb » History » Revision 8

« Previous | Revision 8/23 (diff) | Next »
Dave Chapman, 2012-11-13 01:03


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.

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)
title lang_str_t* Title title
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)
epnum epg_episode_num_t Episode numbering
is_bw uint8_t Is black and white
star_rating uint8_t Star rating starRating
age_rating uint8_t Age certificate ageRating
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.

??? Where is HTSP "contentType" from?

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)
dvb_eit uint16_t DVB Event ID
start time_t Start time (UTC) start
stop time_t Stop time (UTC) stop
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*
description lang_str_t* An extended description description*
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

Updated by Dave Chapman about 12 years ago · 8 revisions