Étant l'heureux possesseur d'une freebox V6, et étant comme tout le monde en incapacité de lire les fichiers de sous-titre (srt), j'ai décidé ce week-end d'essayer de régler le problème (principalement pour la tranquilité du ménage ;)).

Lire les fichiers srt

Résumons, le protocole UPnP, utilisé entre la freebox server et le freebox player, ne permet pas de lire les fichiers srt (ce n'est tout simplement par suppporté par le protocole).

La solution est donc de se servir d'un serveur[1] domestique (celui où se trouve ce blog en réalité), afin de réencoder au fur et à mesure la vidéo avec les sous-titres et ne proposer qu'un flux unique contenant la réunion des deux. Pour cela, j'ai utilisé mediatomb sur mon serveur lucid, et après avoir corrigé et simplifié le script sur la documentation francophone d'ubuntu, j'ai enfin accès aux vidéos, avec des sous-titres sur la freebox V6! Pour ceux qui veulent en savoir plus, voir les avantages et les inconvénients du transcoding.

Vidéos sur Youtube

Vu qu'il m'arrive (rarement) de regarder quelques émissions sur Youtube, je me suis dit qu'il serait dommage de s'arrêter en si bon chemin :)

Je me suis donc mis en quête d'envoyer les flux mp4 (H.264) directement au freebox player. La documentation officielle de mediatomb explique cela assez bien. Il suffit d'ajouter un:

<account user="utilisateur" password="mot de passe"/> au bon endroit du fichier de configuration (/etc/mediatomb/config.xml), puis de changer la section:

     @@<YouTube enabled="yes" refresh="28800" update-at-start="yes" purge-after="604800" racy-content="exclude" hd="no">
       <favorites user="utilisateur"/>
       <standardfeed feed="most_viewed" time-range="today"/>
       <playlists user="utilisateur"/>
       <uploads user="utilisateur"/>
       <standardfeed feed="recently_featured" time-range="today"/>
     </YouTube>@@

en replaçant bien entendu le nom d'utilissateur et le mot de passe aux bons endroits.

Cependant, cela ne marchait pas (je n'avais pas accès au compte "Online Service") de mediatomb. En lisant la documentation, il est fait état que cette fonctionnalité utilise curl. Pas de problème, un apt-get install curl fixe cela! Cependant, après un redémarrage de mediatomb, je ne vois toujours rien à part les flux récents sur Youtube :/

Quelques recherches montrent rapidement que la version incluse dans la 10.04 (0.12.0~svn2018) de mediatomb, ne supporte plus YouTube. Je trouve alors le ppa de micahg (le mainteneur d'ubuntu) qui a backporté 0.12.1 pour lucid.

Installation et hop redémarrage! Je vois alors toujours les flux récents et mes favoris, mais le Freebox player m'indique que le fux n'est pas valide. Que se passe-t-il?

En regardant les logs, je vois que mediatomb se reçoit (méchamment) une page 404 de Youtube. Après un peu de recherche, il semble que Youtube ait récemment changé quelques adresses. Un patch posté sur le bugtracker de mediatomb corrige ceci. Je l'ai intégré à 0.12.1 et envoyé sur mon ppa pour lucid. Après installation, tout se passe bien, je vois donc les vidéos sur Youtube sur la freebox V6. Il me suffit d'ajouter les vidéos en favoris sur mon compte pour y avoir directement accès par upnp sur tous mes lecteurs :)

Mais quel fût ma stupeur en voyant de nombreuses erreurs (tâches vertes, freeze complet, etc.) sur cette vidéo par exemple. Voulant vérifier que le problème venait bien de médiatomb, je me suis rué sur ma playstation 3. Elle cependant, lit cette même vidéo avec le même serveur UPnP mediatomb parfaitement… je peux mettre en pause, accélérer, arrêter.

Bref, encore du travail à faire au niveau de la Freebox V6 et de son player? Il semble bien, aussi bien pour trouver une solution pour ces sous-titres que dans les codecs supportés (même si le H.264 est officiellement supporté). Report de bug pour le freeplayer ici.).

Notes

[1] redondance!