Epgdb » History » Version 19
Dave Chapman, 2012-11-13 09:43
| 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 | 8 | Dave Chapman | |seasons|epg_season_list_t|Season list| | | | | | |
| 22 | |episodes|epg_episode_list_t|Episode list| | | | | | |
||
| 23 | 5 | Dave Chapman | |
| 24 | h2. Season object - epg_season_t |
||
| 25 | |||
| 26 | 7 | Dave Chapman | |\4=. | |\4=.Populated from| |
| 27 | |_.Field|_.Type|_.Description|_.HTSP| |_.DVB EIT|_.OpenTV|_.XML TV|_.PyEPG| |
||
| 28 | |id|uint32_t|Internal ID|seasonId| | | | | | |
||
| 29 | |uri|char*|Unique ID (from grabber)| | | | | | | |
||
| 30 | |summary|lang_str_t*|Season summary| | | | | | | |
||
| 31 | |number|uint16_t|The season number| | | | | | | |
||
| 32 | |episode_count|uint16_t|Total number of episodes| | | | | | | |
||
| 33 | |image|char*|Season image| | | | | | | |
||
| 34 | |brand|epg_brand_t|Parent brand| | | | | | |
||
| 35 | |episodes|epg_episode_list_t|Episode list| | | | | | |
||
| 36 | |||
| 37 | 5 | Dave Chapman | |
| 38 | 1 | Dave Chapman | h2. Episode object - epg_episode_t |
| 39 | |||
| 40 | 5 | Dave Chapman | |\4=. | |\4=.Populated from| |
| 41 | |_.Field|_.Type|_.Description|_.HTSP| |_.DVB EIT|_.OpenTV|_.XML TV|_.PyEPG| |
||
| 42 | |id|uint32_t|Internal ID|episodeId| | | | | | |
||
| 43 | 19 | Dave Chapman | |uri|char*|Unique ID (from grabber)| | |=. Yes | |=. Yes |=. Yes | |
| 44 | |title|lang_str_t*|Title|title| |=. Yes |=. Yes |=. Yes |=. Yes | |
||
| 45 | |subtitle|lang_str_t*|Sub-title| | | | |=. Yes |=. Yes | |
||
| 46 | |summary|lang_str_t*|Summary|summary*| | | |=. Yes |=. Yes | |
||
| 47 | |description|lang_str_t*|An extended description|description*| | | |=. Yes |=. Yes | |
||
| 48 | |image|char*|URL of episode image|image| | | |=. Yes | | |
||
| 49 | |genre|epg_genre_list_t|Episode genre(s)|contentType*| |=. Yes |=. Yes |=. Yes |=. Yes | |
||
| 50 | |epnum|epg_episode_num_t|Episode numbering| | | | |=. Yes | | |
||
| 51 | |is_bw|uint8_t|Is black and white| | |=. Yes | |=. Yes |=. Yes | |
||
| 52 | |star_rating|uint8_t|Star rating|starRating| | | |=. Yes | | |
||
| 53 | 12 | Dave Chapman | |age_rating|uint8_t|Age certificate|ageRating| |=. Yes | | | | |
| 54 | 19 | Dave Chapman | |first_aired|time_t|Original airdate|firstAired| | | |=. Yes | | |
| 55 | 5 | Dave Chapman | |brand|epg_brand_t*|(Grand-)Parent brand| | | | | | | |
| 56 | 19 | Dave Chapman | |season|epg_season_t*|Parent season| | | | |=. Yes |=. Yes | |
| 57 | |broadcasts|epg_broadcast_list_t|Broadcast list| | |=. Yes |=. Yes |=. Yes |=. Yes | |
||
| 58 | 3 | Dave Chapman | |
| 59 | 5 | Dave Chapman | * summary/description will be replaced with the versions in the specific broadcast, if they differ. |
| 60 | 10 | Dave Chapman | * contentType contains only the first genre in the case where multiple genres are stored. |
| 61 | 5 | Dave Chapman | |
| 62 | 2 | Dave Chapman | h3. Episode numbering object - epg_episode_num_t: |
| 63 | |||
| 64 | This is for some back-compat and also to allow episode information to be "collated" into easy to use object |
||
| 65 | |||
| 66 | 5 | Dave Chapman | |\4=. | |\4=.Populated from| |
| 67 | |_.Field|_.Type|_.Description|_.HTSP| |_.DVB EIT|_.OpenTV|_.XML TV|_.PyEPG| |
||
| 68 | 19 | Dave Chapman | |s_num|uint16_t|Series number|seasonNumber| | | |=. Yes | | |
| 69 | |s_cnt|uint16_t|Series count|seasonCount| | | |=. Yes | | |
||
| 70 | |e_num|uint16_t|Episode number|episodeNumber| | | |=. Yes | | |
||
| 71 | |e_cnt|uint16_t|Episode count|episodeCount| | | |=. Yes | | |
||
| 72 | |p_num|uint16_t|Part number|partNumber| | | |=. Yes | | |
||
| 73 | |p_cnt|uint16_t|Part count|partCount| | | |=. Yes | | |
||
| 74 | |text|char*|Arbitary text description of episode num|episodeOnscreen| | | |=. Yes | | |
||
| 75 | 2 | Dave Chapman | |
| 76 | |||
| 77 | 4 | Dave Chapman | h2. Broadcast object - epg_broadcast_t |
| 78 | |||
| 79 | 2 | Dave Chapman | This object contains the details of a specific airing (channel & time) of an episode. |
| 80 | |||
| 81 | |\3=. | |\4=.Populated from| |
||
| 82 | 5 | Dave Chapman | |_.Field|_.Type|_.Description|_.HTSP| |_.DVB EIT|_.OpenTV|_.XML TV|_.PyEPG| |
| 83 | 1 | Dave Chapman | |id|uint32_t|Internal ID|eventId| | | | | | |
| 84 | 18 | Dave Chapman | |uri|char*|Unique ID (from grabber)| | | | | | | |
| 85 | 17 | Dave Chapman | |dvb_eid|uint16_t|DVB Event ID| | |=. Yes | | | | |
| 86 | 18 | Dave Chapman | |start|time_t|Start time (UTC)|start| |=. Yes |=. Yes |=. Yes |=. Yes | |
| 87 | |stop|time_t|Stop time (UTC)|stop| |=. Yes |=. Yes |=. Yes |=. Yes | |
||
| 88 | 17 | Dave Chapman | |is_widescreen|uint8_t|Is widescreen| | |=. Yes | |=. Yes |=. Yes | |
| 89 | |is_hd|uint8_t|Is HD| | |=. Yes | |=. Yes |=. Yes | |
||
| 90 | |lines|uint16_t|Lines in image (quality)| | | | |=. Yes | | |
||
| 91 | |aspect|uint16_t|Aspect ratio (*100)| | | | |=. Yes | | |
||
| 92 | |is_deafsigned|uint8_t|In screen signing| | |=. Yes | |=. Yes | | |
||
| 93 | |is_subtitled|uint8_t|Teletext subtitles| | |=. Yes | |=. Yes | | |
||
| 94 | |is_audio_desc|uint8_t|Audio description| | |=. Yes | |=. Yes | | |
||
| 95 | |is_new|uint8_t|New series / film premiere| | | | |=. Yes |=. Yes | |
||
| 96 | |is_repeat|uint8_t|Repeat screening| | | | |=. Yes |=. Yes | |
||
| 97 | |summary|lang_str_t*|Summary|summary*| |=. Yes |=. Yes | |=. Yes | |
||
| 98 | |description|lang_str_t*|An extended description|description*| |=. Yes |=. Yes |=. Yes |=. Yes | |
||
| 99 | 19 | Dave Chapman | |episode|epg_episode_t*|Link to tvheadend episode object| | |=. Yes |=. Yes |=. Yes |=. Yes | |
| 100 | |serieslink|epg_serieslink_t*|SeriesLink|serieslinkid| |=. Yes |=. Yes |=. Yes |=. Yes | |
||
| 101 | 17 | Dave Chapman | |channel|struct channel*|Channel being broadcast on|channelId| |=. Yes |=. Yes |=. Yes |=. Yes | |
| 102 | 5 | Dave Chapman | |
| 103 | * summary/description will override the versions in the episode object |
||
| 104 | 9 | Dave Chapman | |
| 105 | h2. SeriesLink object - epg_serieslink_t |
||
| 106 | |||
| 107 | This object represents a related set of broadcasts intended to be automatically recorded by a DVR |
||
| 108 | |||
| 109 | |\3=. | |\4=.Populated from| |
||
| 110 | |_.Field|_.Type|_.Description|_.HTSP| |_.DVB EIT|_.OpenTV|_.XML TV|_.PyEPG| |
||
| 111 | |id|uint32_t|Internal ID|eventId| | | | | | |
||
| 112 | 15 | Dave Chapman | |uri|char*|Unique ID (from grabber)| | |=. Yes |=. Yes | | | |
| 113 | 9 | Dave Chapman | |broadcasts|epg_broadcast_list_t|List of broadcasts| | | | | | | |