Raspberry Pi : regarder une vidéo 4K sur sa télévision

Les télévisions supportant la 4K ou UltraHD sont maintenant monnaie courante. Toutefois, le décodage d'un film ayant une telle définition demande une « grande » puissance de calcul. Dans cet article, je présente une méthode pour lire un film 4K, avec un simple Raspberry Pi ou toute autre machine.

Commentez1

Article lu   fois.

L'auteur

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Introduction

Le Raspberry Pi est une machine plutôt modeste. Certes, grâce à sa puce graphique (VideoCore IV), le nano-ordinateur est capable de lire un film avec une définition de 1920x1080 (couramment appelée FullHD ou 1080p), mais le standard actuel tend vers des résolutions bien plus grandes, notamment de 3840x2160 (appelée UltraHD - ou plus précisément UltraHD1 - ou 4K). Pour ajouter au problème, le format des pixels a changé. Chaque composante anciennement encodée sur 8 bits (pour un maximum de seize millions de couleurs) peut maintenant être encodée sur 10 bits (jusqu'à un milliard de couleurs). Cette nouveauté est commercialisée sous le nom de HDR. Toutes ces améliorations en qualité d'image ont un coût : les fichiers sont plus gros, chaque image prend plus de place et par conséquent, il faut plus de puissance pour décoder les images de la vidéo.

Tout au long de l'article, nous parlons de vidéos 4K. Les propriétés de celles-ci sont d'avoir comme résolution d'image 3840x2160 avec une profondeur de couleur sur 10 bits.

Tout cela pour conclure que le Raspberry Pi n'a pas la puissance de calcul nécessaire pour décoder ces vidéos. En réalité, même mon ordinateur portable embarquant un « vieux » i7 Q720, ne peut pas décoder la vidéo sans lenteur. Comment pouvons-nous donc voir nos vidéos 4K ?

Ici, c'est la télévision qui apporte la solution. Sachant qu'elle est capable de diffuser une image 4K, les constructeurs font le nécessaire pour lui donner la puissance adéquate pour le décodage d'un tel flux. Même si nous pouvons connecter une clé USB ou un disque dur sur la télévision, cela ne nous arrange pas. Nous préférerions utiliser le Raspberry Pi pour de multiples raisons.

II. DLNA/UPnP

Le protocole DLNA/UPnP permet à une machine d'exposer des fichiers (images, musiques et vidéos) à travers le réseau et de les diffuser. Une machine cliente, telles les télévisions intelligentes, a la capacité de se connecter à un tel serveur. De ce fait, elles vont pouvoir afficher et parcourir les dossiers exposés et surtout, jouer les fichiers.

Généralement, les serveurs DLNA/UPnP ont la possibilité de transcoder le flux avant de le diffuser (c'est-à-dire de le convertir dans un format approprié pour la lecture), mais ici, cette option sera volontairement désactivée. En effet, une télévision intelligente est suffisamment puissante pour gérer elle-même le décodage et nous ne voulons pas surcharger le serveur.

II-A. Installation matérielle

Pour mettre en place le réseau DLNA/UPnP, il suffit que le Raspberry Pi et la télévision soient connectés sur un même réseau Ethernet. Après cela, il n'y aura plus besoin de câble HDMI pour regarder les films.

II-B. Installation logicielle

II-B-1. Kodi

Le media center Kodi, en plus de permettre de lire ses fichiers audio et vidéo, propose de configurer un serveur DLNA/UPnP (désactivé par défaut). Pour installer Kodi, vous pouvez utiliser le gestionnaire de paquets, ou installer un système d'exploitation tel que LibreELEC ou OSMC.

Ensuite, dans Kodi, il suffit d'aller dans Système → Paramètres → Services → UPnP/DLNA.

Immédiatement, votre médiathèque sera exportée et visible par la télévision.

II-B-2. Rygel

Rygel est un serveur DLNA/UPnP faisant partie du projet GNOME. Rygel est léger et contrairement à Kodi, ne propose que cette fonctionnalité. Vous pouvez l'installer simplement grâce aux gestionnaires de paquets.

Vous pouvez le lancer en ligne de commande comme suit :

 
Sélectionnez
rygel &

Vous pouvez le configurer à travers le fichier .config/rygel.conf. Sachant que nous souhaitons désactiver le transcodage, nous modifions la ligne enable-transcoding pour qu'elle soit à false :

 
Sélectionnez
enable-transcoding=false

Rygel implémente un mécanisme de modules. Le module qui est le plus intéressant pour le fonctionnement voulu est nommé MediaExport (dans le fichier de configuration, les options après la « balise » [MediaExport] concernent ce module). Grâce à la variable « title », vous pouvez définir le nom du serveur affiché sur votre télévision. La variable « uris » permet d'indiquer les dossiers qui seront exposés par le serveur.

II-B-3. Choisir son serveur

Le fait d'utiliser le protocole DLNA/UPnP peut s'avérer redondant avec les fonctionnalités offertes par Kodi. En effet, si votre utilisation de Kodi se limite à la lecture de médias sur vos disques, un simple serveur DLNA/UPnP fera tout aussi bien l'affaire et Rygel sera suffisant pour vos besoins.

Par contre, si vous utilisez également Kodi pour visionner des vidéos en ligne ou encore pour regarder la télévision, alors la composante DLNA/UPnP sera un plus, notamment pour pouvoir voir vos films 4K.

II-C. Utilisation

Le serveur DLNA/UPnP sera présenté par la télévision comme une source. Ensuite, une interface vous proposera de naviguer à travers les dossiers exposés par le serveur et vous aurez la possibilité de lire vos fichiers.

III. Conclusion

Vous pouvez maintenant regarder vos vidéos 4K tout en utilisant le Raspberry Pi comme source. Vous pouvez aussi faire l‘économie d'un câble HDMI.

Évidemment, il était tout à fait possible de brancher un disque dur directement sur la télévision. Toutefois, cette solution restreindra l'utilisation du disque dur et il ne sera plus accessible à travers le réseau, ou encore, vous ne pourrez plus utiliser le Raspberry Pi comme gestionnaire de téléchargement.

Aussi, il est possible d'utiliser n'importe quelle machine comme serveur DLNA/UPnP. Le Raspberry Pi n'est qu'un exemple qui a l'avantage d'être peu coûteux et qui ne consomme pas beaucoup d'énergie.

En conclusion, il est aisé d'utiliser la pleine puissance de sa télévision afin de lire l'intégralité de sa vidéothèque.

IV. En plus

Pour les tests, j'ai utilisé les vidéos disponibles sur ce site. Ce dernier permet de télécharger les vidéos de démonstration utilisées dans les magasins pour vanter les mérites de tel ou tel téléviseur.

Certains fichiers portent l'extension .TS. Par défaut, Rygel et Kodi ne les diffusent pas. Si votre télévision supporte ce format, il vous suffit de renommer le fichier afin qu'il porte une autre extension (par exemple .MPEG) afin que le serveur DLNA/UPnP expose la vidéo.

V. Remerciements

Image non disponible

Cet article n'aurait pas pu voir le jour sans le support de la Raspberry Pi Foundation. En effet, la fondation m'a envoyé un exemplaire du Raspberry Pi 3 : modèle B afin de permettre l'écriture de ce document.
Developpez.com et moi-même tenons à remercier la Raspberry Pi Foundation.

Merci aussi aux relecteurs : zoom61 et f-leb, ainsi qu'au relecteur orthographique KartSeven.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2017 Alexandre Laurent. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.