Epgdb » History » Version 6
Dave Chapman, 2012-11-13 00:56
1 | 1 | Dave Chapman | h1. EPG database structure |
---|---|---|---|
2 | 2 | Dave Chapman | |
3 | This page is a work-in-progress to document the internal EPG database structure in tvh. |
||
4 | |||
5 | 5 | Dave Chapman | The "HTSP" column indicates the name of the field in the HTSP event message. |
6 | |||
7 | The "Populated from" columns indicate which EPG grabbers can populate that field. |
||
8 | |||
9 | 1 | Dave Chapman | {{toc}} |
10 | |||
11 | 5 | Dave Chapman | h2. Brand object - epg_brand_t |
12 | |||
13 | 6 | Dave Chapman | |\4=. | |\4=.Populated from| |
14 | |_.Field|_.Type|_.Description|_.HTSP| |_.DVB EIT|_.OpenTV|_.XML TV|_.PyEPG| |
||
15 | |id|uint32_t|Internal ID|brandId| | | | | | |
||
16 | |uri|char*|Unique ID (from grabber)| | | | | | | |
||
17 | |title|lang_str_t*|Brand name| | | | | | | |
||
18 | |summary|lang_str_t*|Brand summary| | | | | | | |
||
19 | |season_count|uint16_t|Total number of seasons| | | | | | | |
||
20 | |image|char*|Brand image| | | | | | | |
||
21 | |seasons|epg_season_list_t| | | | | | | |
||
22 | |episodes|epg_episode_list_t| | | | | | | |
||
23 | 5 | Dave Chapman | |
24 | h2. Season object - epg_season_t |
||
25 | |||
26 | [seasonId is in HTSP] |
||
27 | |||
28 | 1 | Dave Chapman | h2. Episode object - epg_episode_t |
29 | |||
30 | 5 | Dave Chapman | |\4=. | |\4=.Populated from| |
31 | |_.Field|_.Type|_.Description|_.HTSP| |_.DVB EIT|_.OpenTV|_.XML TV|_.PyEPG| |
||
32 | |id|uint32_t|Internal ID|episodeId| | | | | | |
||
33 | |uri|char*|Unique ID (from grabber)| | | | | | | |
||
34 | |title|lang_str_t*|Title|title| | | | | | |
||
35 | |subtitle|lang_str_t*|Sub-title| | | | | | | |
||
36 | |summary|lang_str_t*|Summary|summary*| | | | | | |
||
37 | |description|lang_str_t*|An extended description|description*| | | | | | |
||
38 | |image|char*|URL of episode image|image| | | | | | |
||
39 | |genre|epg_genre_list_t|Episode genre(s)| | | | | | | |
||
40 | |epnum|epg_episode_num_t|Episode numbering| | | | | | | |
||
41 | |is_bw|uint8_t|Is black and white| | | | | | | |
||
42 | |star_rating|uint8_t|Star rating|starRating| | | | | | |
||
43 | |age_rating|uint8_t|Age certificate|ageRating| | | | | | |
||
44 | |first_aired|time_t|Original airdate|firstAired| | | | | | |
||
45 | |brand|epg_brand_t*|(Grand-)Parent brand| | | | | | | |
||
46 | |season|epg_season_t*|Parent season| | | | | | | |
||
47 | |broadcasts|epg_broadcast_list_t|Broadcast list| | | | | | | |
||
48 | 3 | Dave Chapman | |
49 | 5 | Dave Chapman | * summary/description will be replaced with the versions in the specific broadcast, if they differ. |
50 | |||
51 | ??? Where is HTSP "contentType" from? |
||
52 | |||
53 | 2 | Dave Chapman | h3. Episode numbering object - epg_episode_num_t: |
54 | |||
55 | This is for some back-compat and also to allow episode information to be "collated" into easy to use object |
||
56 | |||
57 | 5 | Dave Chapman | |\4=. | |\4=.Populated from| |
58 | |_.Field|_.Type|_.Description|_.HTSP| |_.DVB EIT|_.OpenTV|_.XML TV|_.PyEPG| |
||
59 | |s_num|uint16_t|Series number|seasonNumber| | | | | | |
||
60 | |s_cnt|uint16_t|Series count|seasonCount| | | | | | |
||
61 | |e_num|uint16_t|Episode number|episodeNumber| | | | | | |
||
62 | |e_cnt|uint16_t|Episode count|episodeCount| | | | | | |
||
63 | |p_num|uint16_t|Part number|partNumber| | | | | | |
||
64 | |p_cnt|uint16_t|Part count|partCount| | | | | | |
||
65 | |text|char*|Arbitary text description of episode num|episodeOnscreen| | | | | | |
||
66 | 2 | Dave Chapman | |
67 | |||
68 | 4 | Dave Chapman | h2. Broadcast object - epg_broadcast_t |
69 | |||
70 | 2 | Dave Chapman | This object contains the details of a specific airing (channel & time) of an episode. |
71 | |||
72 | |\3=. | |\4=.Populated from| |
||
73 | 5 | Dave Chapman | |_.Field|_.Type|_.Description|_.HTSP| |_.DVB EIT|_.OpenTV|_.XML TV|_.PyEPG| |
74 | |id|uint32_t|Internal ID|eventId| | | | | | |
||
75 | |uri|char*|Unique ID (from grabber)| | | | | | | |
||
76 | |dvb_eit|uint16_t|DVB Event ID| | | | | | | |
||
77 | |start|time_t|Start time (UTC)|start| | | | | | |
||
78 | |stop|time_t|Stop time (UTC)|stop| | | | | | |
||
79 | |is_widescreen|uint8_t|Is widescreen| | | | | | | |
||
80 | |is_hd|uint8_t|Is HD| | | | | | | |
||
81 | |lines|uint16_t|Lines in image (quality)| | | | | | | |
||
82 | |aspect|uint16_t|Aspect ratio (*100)| | | | | | | |
||
83 | |is_deafsigned|uint8_t|In screen signing| | | | | | | |
||
84 | |is_subtitled|uint8_t|Teletext subtitles| | | | | | | |
||
85 | |is_new|uint8_t|New series / film premiere| | | | | | | |
||
86 | |is_repeat|uint8_t|Repeat screening| | | | | | | |
||
87 | |summary|lang_str_t*|Summary|summary*| | | | | | |
||
88 | |description|lang_str_t*|An extended description|description*| | | | | | |
||
89 | |episode|epg_episode_t*|Link to tvheadend episode object| | | | | | | |
||
90 | |serieslink|epg_serieslink_t*|SeriesLink|serieslinkid| | | | | | |
||
91 | |channel|struct channel*|Channel being broadcast on|channelId| | | | | | |
||
92 | |||
93 | * summary/description will override the versions in the episode object |