Category Archives: Culture et cojitage

Raspberry Pi 3 et Serveur Plex : le transcodage

Le Raspberry Pi 3 est récent et beaucoup d’entre nous se sont posés des questions quant à sa capacité à faire un bon serveur Plex. Le bousin a beau être plus puissant que son prédécesseur, il reste loin d’un PC classique.

Petite vérification par moi-même de ses capacités (car pas facile de trouver des réponses claires sur le Net) :

Mon montage

Ces derniers temps, je me suis amusé à faire un petit montage sympa qui répond à quelques unes de mes (vos ?) questions. Je vous propose de partager les réponses, et j’étofferai au fur et à mesure.

Pour faire des économies d’électricité, je ne me sers plus de mon PC et de ses centaines de Watts comme serveur là ou un petit truc consommant 5W et un disque réseau peuvent suffire. J’ai donc sur mon réseau :

  • Un player Freebox Revolution connectée à la TV
  • Un mobile sous Android avec l’appli Plex
  • Un Raspberry Pi 2 connecté sur une autre TV
  • Un Raspberry Pi 3 hébergeant un serveur Plex (sous Raspbian)

Le Pi 3 est-il capable de faire du transcodage à la volée ?

Transcodage, conversion, optimisation : tout ça désigne la même chose : ré-encoder le fichier en un autre format compréhensible par le logiciel de lecture. C’est une opération qui nécessite une puissance de calcul conséquente et il est difficile pour des petites machine de réaliser cette conversion aussi vite que le film est lu. Pour un Pi 3, la question se pose légitimement :

Réponse : et bien oui et non. Plex sait manifestement transcoder jusqu’à un certain point. Pour la lire la vidéo ci-dessous (en 576×240) sur Chrome (qui grosso modo ne supporte que le H.264) ou sur l’app Android, notre courageux petit Pi se lance tout de même dans le transcodage :

Transcodage en direct avec Plex

Pour lire le fichier sur la freebox en revanche, pas de problème de conversion, la lecture est directe sans altération :

Plex lecture directe

Dans ces exemples, il n’y a aucun problème car soit la vidéo est déjà encodée au bon format et elle est lue directement (direct play, seconde image), soit elle est petite et ne nécessite pas une puissance plus importante que ce que peut fournir le Pi (première image). Mais il ne faut pas se leurrer, certains fichiers plus gros ne pourront jamais être transcodés en live.

Alors point de salut sans transcodage pour les gros fichiers ?

Les plus exigeants d’entre-vous voudront au minimum des fichiers en full HD (1080p) et en 5.1 (AC3). Problème, ces formats peuvent nécessiter une conversion et là, le Pi montre ses limites. Il ne transcodera pas assez vite la vidéo. La solution, c’est soit avoir un player compatible avec ces formats (direct play), soit la conversion en tâche de fond :

Le Pi peut transcoder en arrière plan grâce à la fonction « Optimiser » qui se trouve sur chaque film. Vous choisissez la qualité et vous cliquez sur « Optimiser ». Quelques temps plus tard, vous pourrez le regarder sur votre mobile par exemple en live et sans saccade. Sauf que vous vous doutez bien que ça prend du temps : un film en full HD et en AC3 de 2h m’a pris 7h à convertir. Vous voyez là pourquoi le temps réel est impossible sur un Pi sur des fichiers full HD.

Optimiser une vidéo avec Plex

Optimisation d’une vidéo avec Plex.

Dans le détail : les niveaux H264

A noter aussi, particulièrement pour le lecteur Android : le format H264 utilise des niveaux qui sont des limitations sur un certain nombre de paramètres qui permettent aux décodeurs de limiter les ressources mémoires et calculatoires nécessaires pour décoder une vidéo. Or, ces limitations du lecteur vont forcer le serveur à transcoder la vidéo. Il faut donc trouver le meilleur compromis entre :

  • avoir un niveau le plus élevé possible jusqu’à ce que le téléphone ne puisse plus supporter la lecture de la vidéo (tant au niveau bande passante que décodage processeur)
  • avoir un niveau trop bas qui provoque un transcodage du serveur Pi

Cela étant dit, ce type de transcodage est passé comme une fleur avec mon film HD (cf. capture en bas d’article).

Sur Android, vous pouvez définir ce niveau dans Paramètres / Avancé / Lecteur /Niveau maximum H264. Par défaut il est à 40 (4.0)

Petite expérience avec un film HD / AC3 :

Le film a pu être lu tel quel (direct play) sur :

  • la Freebox Revolution
  • mon client RaspPlex (Raspberry Pi2)

Et a nécessité un transcodage qui a mis à genoux le Pi sur :

  • mon application Plex Android
  • le site Plex.tv

Plex : serveur pas assez puissant

Après optimisation pour mobile, la vidéo s’est lue sans soucis sur l’app Android (mais pas Plex.tv, je ferai un nouveau test pour lui).

Sur Plex.tv, vous pouvez même choisir votre version. Sur mobile il prend logiquement celle optimisée pour… mobile.

Plex choix de version

Les bons formats

Je conclue que pour être lues partout, il vaut mieux que nos vidéos soient en HD et en H264 (niveau 40) / AAC. Ou au pire, on « optimisera ».

Pour les exigeants fans de HD, il faut que votre player prenne en charge les codecs pour passer en direct play (sans transcodage). Là, c’est à vous de vous renseigner sur les codecs pris en charge.

Screenshot Civil War

La version transcodée pour mobiles tourne maintenant parfaitement en direct play.

Screenshot Zootopia

Attention, même en H264, la lecture peut nécessiter un transcodage (ici toutefois supporté correctement).

Voili voilou. Je reviendrai peaufiner l’article au fur et à mesure. Il faudrait tâtonner un peu pour connaître les limites du Pi en terme de conversion à la volée. ++ 🙂

Edition du 20 mars 2017 : transcodage et puissance processeur 

J’ai aujourd’hui un peu plus de recul sur le bouzin et force est de constater qu’un Raspberry Pi, même 3ème du nom ne peut pas tout. En effet, si l’on souhaite se passer du transcodage, il faut préparer son film en amont. Or, je cherche à la fois un confort lors de la sélection et du visionnage du film, mais aussi lors qu’il faut l’ajouter dans ma bibliothèque. Et là, vérifier que le film est en mp4, que le son est supporté, que le Plex ne prendra pas l’initiative d’incruster des sous-titres ou de changer le débit (et donc pour tout ça de transcoder), c’est fatigant.

Le Pi supporte certes des transcodages légers (les sous-titres, certains contenus audio), mais ce n’est pas suffisant. Vous imaginez bien que les transcodages Full HD sont tout bonnement impossibles en temps réel et nécessite tellement de puissance qu’il faut un processeur de PC pour les assumer (ou « optimiser » le film pendant plusieurs heures).

Pour avoir une idée de ce qui est nécessaire, Plex se fie au score « PassMark », un comparateur de « puissance de calcul ». Le Raspberry n’est pas intégré, mais on peut imaginer qu’il se trouve quelque part aux alentours de 500. Il vous faut minimum du 2000 pour espérer transcoder du Full HD. Mon fixe (un vieux core i7 4770k) a un score de plus de 10 000, un très vieux Core2 Quad (Q9400 @ 2.66GHz) atteint les 3 400. Moralité, il vous faut un PC, même un vieux, mais un PC.

La légende dit qu’il faudrait un score de 4 000 à 5 000 pour transcoder de la 4k. Je confirmerai peut-être un jour. 🙂

Bref, perso, j’ai retourné ma veste du bon côté et ai pris le parti de la facilité en choisissant de revenir sur un bon vieux PC des familles. Inconvénient : il faut l’allumer et l’éteindre. Le plus : ça dépote du yuka. 🙂

Edition du 24 août 2017 : le réseau

Vous allez peut-être trouvé ça un peu bête, mais ça vaut le coup de le mentionner : vérifiez la bande passante de votre réseau.

Si le processeur faiblard de votre serveur n’est pas en cause, sachez que les CPL et les WIFI n’ont pas forcément toujours un débit suffisant pour diffuser une vidéo en Full HD de 25 Mbps. Damned.

Par exemple, chez moi avec mon débit Internet de 3 Mbps, je ne me posais pas vraiment de question sur la rapidité de mon réseau domestique et on diffusait des vidéos en HD (720 lignes) stéréo au mieux (bêtement car elles sont 3 fois plus rapides à télécharger).
Puis nous avons acheté une télé plus grande et reçu la (sainte) fibre. Nous avons donc voulu diffuser via Plex des vidéos Full HD (1080p / 5.1) et : Mouhahaha, marche pas.

Et pourquoi ? Parce que mon CPL comme mon Wifi ont un débit ridicule : 10 à 20 Mbps. Comme une vidéo full HD peut atteindre facilement un débit supérieur à 20 Mbps sur des scènes riches, ça crée un goulot d’étranglement et hop : bufferisation.

Pourquoi un débit si pourri ? C’est peut-être dû à la configuration des pièces, mais plus probablement à l’encombrement de la bande Wifi des 2.4Ghz (et à l’utilisation normes WiFi obsolètes par mes appareils sur cette fréquence).
J’en déduis ça car des appareils plus récents fonctionnant avec le Wifi de la box en 5Ghz tournent à plus de 150 Mbps.

Voilà qui explique pourquoi (paradoxalement) je pouvais voir la TV Orange en Full HD via Internet et pas mes vidéos sur mon réseau local : le player et la box Orange sont connectés en Wifi ac 5 Ghz alors que mon serveur Plex est rattaché au réseau en vieux 2.4Ghz.

CQFD, il fallait le trouver !

Dans mon cas, j’ai deux choix :

  • changer mon matériel pour être complètement compatible avec les dernières normes Wifi,
  • ou passer au filaire.

Avec l’expérience, après avoir abandonné le Pi pour sa faible puissance, je vais abandonner le Wifi et le CPL pour leur lenteur et câbler la maison en ethernet. Parce qu’à un moment, ça va bien hein.
Si vous avez la possibilité et la volonté de le faire, c’est votre meilleure option. Sinon, il vous reste à mettre à niveau complètement votre équipement WiFi, si possible en norme ac 🙂

Voilà, ainsi se termine le tour de mes mystères mystérieux sur Plex. Mon installation sera bientôt parfaite. 🙂

Rogue One: A Star Wars Story, le 14 décembre en France

Bien sûr, je suis obligé de poster cette nouvelle bande annonce de Star Wars : Rogue One.
De toute façon, on ne discute pas avec l’Empire. Quoi que je trouve que… rrr, argl uk…

Allez, mettez le son et armez-vous de patience, jeunes padawans. 🙂

Le vendredi, c’est short movie

Une demande en mariage qui ne se déroule pas du tout comme prévue. Taking The Plunge est un mignon court métrage muet de 7 minutes, très bien réalisé.

En découvrir plus sur la page Facebook de Taking The Plunge.

Le vendredi, c’est short movie : Apartheid mécanique

L’informatique et l’électronique font des progrès remarquables. Puissance et miniaturisation permettront bientôt de matérialiser certains fantasmes de science-fiction comme l’IA, les membres artificiels ou la réalité virtuelle. En parallèle, naissent de nouvelles interrogations philosophiques et éthiques : comment intégrer tout ça à notre monde, comment allons-nous accueillir ces progrès ? Ces questions prennent un angle bien plus concret lorsque Square Enix, éditeur de jeu vidéo, se les pose avec le nouvel Opus de Deus Ex dans lequel les humains « augmentés » sont exclus de la société à la suite d’attentats dont ils ont été les pantins.

Voici une vidéo qui aurait eu un goût de pure SF il y a 10 ans, mais qui aujourd’hui vous fera peut-être vous interroger sur notre avenir. 🙂

Le court métrage de Deus Ex : Mankind Divided :

Et pour ceux qui sont intéressés par le jeu, une petite bande annonce en VO sous-titrée :

Ca vous fera peut-être revoir votre copie de philo : Le progrès scientifique et technique est-il toujours positif ? 😉

Merci à Rak pour la découverte. 😉

90% des messages Facebook

Bonjour le monde ! Allez, je suis en feu(1), deuxième article cette semaine !

Si Facebook est votre outil de procrastination préféré, alors cet article est fait pour vous. Je voudrais ici vous montrer que la plupart des messages n’ont aucune valeur ajoutée (les miens compris, j’en suis bien conscient ^^). J’ai donc regroupé quelques posts bien représentatifs des stéréotypes du réseau social en guise de preuve. Vous allez vous reconnaître à coup sûr dans au moins l’un d’eux (si vous atteignez 4 ou 5, je m’inquiéterais quand même à votre place). 😛

(1) : expression issue de l’anglais « I’m on fire » qui fait très fait naze en français et laisse penser que je fais une combustion spontanée, je vous rassure ce n’est pas le cas, mais je ne l’utiliserai plus.

Allez, c’est parti, top 8 des messages bateaux de Facebook ! N’hésitez pas à en ajouter dans les commentaires.

1. La satisfaction d’ego

Je fais le tri dans ma liste d’amis Facebook, je saurai que tu es vraiment mon ami si tu partages mon message !

Pourquoi c’est mal : parce que tu vas te ridiculiser et vite oublier cette demande.

2. Le message caritatif

Si tu partages ce message, Gaétan atteint d’une maladie dégénérative du scrotum vivra plus longtemps !

Pourquoi c’est mal : parce qu’après 15 ans de diffusion de ces bêtises, le web commence à comprendre que personne n’est assez cruel pour donner 5 centimes par partage à un enfant malade. Je veux dire, vous voyez sérieusement un bienfaiteur dire : « quel dommage, tu es passé à 7 clics de la vie, Nicolas. Tu ne peux t’en prendre qu’aux internautes qui n’ont pas assez liké ta maladie ! » ?

3. Le malheur sur ta famille

Si tu ne partages pas ce message, tu tomberas malade, ton compte en banque sera vidé, tu auras un dégât des eaux, tes enfants de trahirons, tu subiras une attaque de criquets mangeurs d’hommes et ton débit Internet passera sous les 2 megas (liste non exhaustive).

Pourquoi c’est mal : sérieusement ?

4. Le message public mais privé.

J’ai passé une journée de merde mais ne me demandez pas pourquoi.

Pourquoi c’est mal : parce qu’au mieux tu suscites une curiosité malsaine qui rendra les gens heureux de ne pas être à ta place. Au pire on s’en bat l’une sans toucher l’autre.

5. Le partisan d’une cause.

Vous êtes tous des enfoirés de capitalistes homophobes qui tuez des petits animaux !

Pourquoi c’est mal : parce que c’est vrai, mais je n’aime pas qu’on me le rappelle.

6. L’affreux troll.

J’ai mis une photo de mon chat : 100 j’aime ou je l’abandonne devant un restau chinois.

Pourquoi c’est mal : ça ne l’est pas. Y répondre, ça l’est. Don’t feed the troll!

7. L’innocent engagé.

Ouais, j’ai montré des vidéos de gens morts, mais c’était pour la bonne cause !

Pourquoi c’est mal : parce que Gamette, la fille de 13 ans de Liliane est roulé en boule sous son lit depuis qu’elle a vu le visage de Paul Walker après son excès de vitesse, un volant entre les incisives. Parce que les gens t’aiment encore moins maintenant.

8. Le discours de motivation.

Pour soi :

je suis gentil mais si on touche à ceux que j’aime, attention, je m’énerve tout rouge !

Pour les autres :

Il n’y a aucun but que tu ne puisses atteindre si tu te sors les doigts !

Pourquoi c’est mal : parce oui, bon bah, je crois qu’Internet a généré plus de mollusques accrochés à leurs claviers que entrepreneurs ou de grands sportifs. Donc si tu sauves quelqu’un de la dépression sur Internet, je t’offre un biscuit.

plusfb

Allez, likez-moi maintenant !