Dans la télévision numérique et OTT monde, la commodité et la navigation conviviale sont essentielles pour améliorer l’expérience visuelle. L’une de ces fonctionnalités qui fait désormais partie intégrante de la télévision moderne est le guide électronique des programmes (EPG). Mais qu’est-ce qu’un EPG exactement et comment ça marche ? Cet article de blog vous présentera les tenants et les aboutissants d’un guide EPG, ses avantages et comment nous pouvons créer l’EPG dans Roku à l’aide du composant TImeGrid.
Qu’est-ce qu’un EPG ?
Un guide électronique des programmes (EPG) est un guide interactif à l’écran qui fournit aux téléspectateurs des informations détaillées sur les programmes télévisés en cours et à venir. Il permet aux utilisateurs de consulter un calendrier des émissions, s’étendant généralement sur plusieurs jours à l’avance, et est accessible en appuyant simplement sur un bouton de la télécommande du téléviseur.
Contrairement aux programmes télévisés imprimés traditionnels, les EPG sont dynamiques et fournissent des informations en temps réel qui peuvent être fréquemment mises à jour par les diffuseurs. Ils proposent des métadonnées sur les émissions de télévision, telles que les titres, les descriptions, les acteurs et même les évaluations parentales, aidant ainsi les utilisateurs à prendre des décisions éclairées sur ce qu’ils veulent regarder.
Principales caractéristiques d’un guide EPG
- Aperçu de la programmation télévisée
La fonctionnalité la plus basique et essentielle d’un guide EPG est la possibilité de visualiser un programme télévisé complet. Les utilisateurs peuvent parcourir la liste des chaînes et voir quels programmes sont diffusés, ainsi que leurs heures de début et de fin. La plupart des guides couvrent jusqu’à 7 à 14 jours de programmation. - Informations sur le programme
En cliquant sur une émission ou un film spécifique dans le guide EPG, vous obtenez des informations détaillées. Cela comprend généralement : -
- Titre et genre
- Synopsis ou résumé de l’intrigue
- Informations sur les épisodes (pour les séries, y compris les numéros de saison et d’épisode)
- Détails du casting et de l’équipe
- Évaluations parentales et avis de contenu
- Durée du programme
- Options de recherche et de filtrage
Les EPG comportent souvent des fonctions de recherche robustes qui permettent aux téléspectateurs de trouver des programmes en fonction de titres, de genres ou de mots-clés. Certains guides permettent même un filtrage en fonction des préférences, telles que les sports, les films, le contenu pour enfants ou les actualités. - Enregistrements et intégration DVR
L’intégration avec la fonctionnalité DVR (Digital Video Recorder) est l’une des fonctionnalités les plus pratiques des guides EPG modernes. Les utilisateurs peuvent programmer des enregistrements directement depuis l’EPG, leur permettant d’enregistrer un épisode ou même une série entière.
Avantages d’un guide EPG
- Commodité et facilité d’utilisation
Le principal avantage d’un EPG est la facilité avec laquelle les téléspectateurs peuvent parcourir et découvrir de nouveaux contenus. Au lieu de parcourir manuellement les chaînes, un EPG offre un moyen clair et organisé de voir ce qui est disponible, améliorant ainsi l’expérience utilisateur. - Personnalisation
De nombreux systèmes EPG modernes permettent un certain degré de personnalisation, comme la mémorisation des chaînes préférées ou la sélection de suggestions basées sur les habitudes de visionnage passées. Cette expérience sur mesure facilite la recherche de contenu correspondant aux préférences individuelles. - Contrôle de visualisation amélioré
Grâce à des rappels, des enregistrements programmés et des fonctionnalités DVR, les guides EPG offrent un contrôle sur ce que vous regardez et quand. Si vous ne pouvez pas être chez vous lors de la diffusion de votre émission préférée, planifiez simplement un enregistrement et regardez-le à votre convenance.
Défis et limites des guides EPG
Bien que les EPG soient très pratiques, ils ne sont pas sans inconvénients :
- Informations obsolètes ou incorrectes
Parfois, les informations affichées sur l’EPG peuvent ne pas être exactes en raison de changements de dernière minute dans la programmation des diffuseurs. - Complexité
Certains téléspectateurs, en particulier les générations plus âgées, peuvent trouver les fonctionnalités avancées des EPG modernes déroutantes ou difficiles à naviguer, surtout s’ils sont habitués aux habitudes traditionnelles de regarder la télévision. - Restrictions régionales
Les services EPG varient souvent en fonction de l’emplacement géographique. Certaines fonctionnalités peuvent ne pas être disponibles dans certains pays ou la gamme de programmes répertoriés peut être limitée en raison d’accords de licence. - Chargement des données
EPG comprenant de nombreuses chaînes et données de programmes. Parfois, le chargement des données du programme de la chaîne prend beaucoup de temps.
Comment créer un EPG dans Roku ?
Il existe plusieurs façons de créer un guide EPG dans Roku, nous pouvons créer un EPG personnalisé à l’aide de Rowlist et d’autres composants de grille. Ou nous pouvons le créer en utilisant le Grille horaire composant de Roku.
La création d’un EPG à l’aide de TImegrid est le moyen le plus efficace, facile à utiliser, prend moins de temps et fournit une structure optimisée et de qualité d’un EPG.
Qu’est-ce qu’une grille temporelle ?
TimeGrid est un composant fourni par Roku utilisé pour créer un guide EPG. Il se compose de plusieurs sections qui affichent des informations sur les chaînes et les programmes ainsi que leur heure de début et leur heure de fin.
EPG de grille temporelle
Éléments clés de TimeGrid
Voici la liste des éléments clés de TimeGrid qui composent la structure de l’EPG.
Colonne Canal
- La première colonne de gauche représente la colonne des canaux. Nous pouvons ajouter autant de chaînes que nous le souhaitons.
- Nous pouvons personnaliser chaque colonne de canal selon nos besoins.
- Pour la personnalisation de la colonne canal, nous utilisons le canalInfoComponentName champ. Besoin de mentionner le nom de notre composant de canal personnalisé dans ce champ.
Grille du programme
- Il s’agit de la grille composée des cellules du programme de la chaîne réparties en colonnes de la rangée de la chaîne.
- Nous pouvons contrôler les données de la cellule du programme à l’aide de certains champs fournis par le composant Timegrid.
Barre de temps
- TimeBar permet d’indiquer l’heure de début des programmes.
- Nous pouvons également personnaliser l’interface utilisateur et les délais de la barre de temps.
Maintenant Bar
- Maintenant, la barre est l’élément utilisé pour indiquer l’heure actuelle.
Intégrons la Timegrid pour créer un EPG
Pour intégrer la grille temporelle, nous devons ajouter le composant Timegrid indiquant la balise dans le fichier XML Scenegraph.
<TimeGrid id="Grid" channelInfoCOmponenetName="ChannelInfoComponent" itemSize="[1280,60]" duration="7200" programTitleFocusedColor="#000000" overlayBitmapUri="" scrollspeed="5" channelNoDataText="Loading..." vertFocusAnimationStyle="floatingFocus" translation="[0,400]"> </TimeGrid>
Après avoir ajouté la balise Timegrid avec les détails suivants, nous devons l’initialiser dans le fichier mainscene.brs.
function initialiseEPG() m.grid = m.top.findnode.findnode("grid") date = CreateObject("roDateTime") m.grid.contentStartTime = date.AsSeconds() GetChannelContent() end function
Maintenant, vous pouvez voir l’EPG vide (EPG sans données de programme de chaîne) sur l’écran. Et maintenant, nous devons remplir les données des chaînes et des programmes. Nous avons utilisé les exemples de données du fichier JSON à des fins de démonstration, mais dans le cas réel du canal, vous pouvez récupérer les mêmes données via l’API.
Pour remplir les données de chaîne et de programme, Timegrid fournit le contenu champ, nous pouvons créer un nœud de contenu pour les canaux et transmettre ce nœud à ce champ de contenu. De même, nous pouvons également remplir les données du programme dans la grille.
1. Code de création de chaînes dans la liste.
sub GetChannelContent() ' make an API call to get the list of channels raw = ReadASCIIFile("pkg:/api/1_channels.json") json = ParseJSON(raw) m.gridContent = createObject("roSGNode","ContentNode") for each channel in json ' make another API call to get detailed metadata for each channel raw = ReadASCIIFile("pkg:/api/" + channel + ".json") channelJSON = ParseJSON(raw) ' create a node for the channel and set its metadata fields channelNode = m.gridContent.createChild("ContentNode") channelNode.title = channelJSON.channel.call_sign if channelJSON.channel.major <> invalid channelNode.title += " " + channelJSON.channel.major.ToStr() end if if channelJSON.channel.minor <> invalid channelNode.title += "." + channelJSON.channel.minor.ToStr() end if channelNode.id = channelJSON.object_id.ToStr() end for m.grid.content = m.gridContent createProgramCells() end sub
2. Code pour remplir les programmes en fonction des lignes de chaînes :
function fetchPrograms(channel as dynamic) id = channel.id ' we'll fake the timestamps for demo purposes so that there Is ' always content displayed for the current time dt = CreateObject("roDateTime") now = dt.AsSeconds() playStart = now - (now mod 1800) - 3600 ' make an API call to get the guide data for the channel raw = ReadASCIIFile("pkg:/api/3_guide_" + id + ".json") json = ParseJSON(raw) for each program in json ' create a node for the program and set its metadata fields children = [] if program.title <> invalid and program.title <> "" programNode.title = program.title else if program.airing_details.show_title <> invalid and program.airing_details.show_title <> "" programNode.title = program.airing_details.show_title else programNode.title = "---" end if if program.season_number <> invalid and program.episode_number <> invalid programNode.description = "S" + program.season_number.ToStr() + " E" + program.episode_number.ToStr() end if programNode.playStart = playStart programNode.playDuration = program.airing_details.duration children.Push(programNode) playstart += programNode.playDuration end for ' update the row node with all the programs for the channel as children ' so they will be displayed in the view channel.Update(children) end function
Conclusion
En utilisant le composant TimeGrid, vous pouvez créer un guide électronique des programmes (EPG) puissant et basé sur le temps dans Roku qui fournit aux utilisateurs un calendrier clair et facile à parcourir de la programmation en direct. Le processus implique la configuration du TimeGrid, son remplissage avec des données de chaîne et de programme et la gestion de la navigation de l’utilisateur.
Cette approche vous permet de créer une expérience EPG attrayante et conviviale pour votre Chaîne Roku.
VOUS TROUVEZ CELA UTILE ? PARTAGEZ-LE
Source link