Project

General

Profile

Epgdb » History » Version 5

Dave Chapman, 2012-11-13 00:47

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