Freebox V5 HD

  • État Nouveau
  • Pourcentage achevé
    0%
  • Type Anomalie
  • Catégorie UPnP AV
  • Assignée à Personne
  • Système d'exploitation Tous
  • Sévérité Basse
  • Priorité Très Basse
  • Basée sur la version 1.6.13
  • Due pour la version Non décidée
  • Échéance Non décidée
  • Votes
  • Privée
Concerne le projet: Freebox V5 HD
Ouverte par fsenis - 17/04/2014

FS#14680 - Rajouter un header "User-Agent" à la demande de flux

Les serveurs DLNA actuels sont puissants en particulier ils permettent le transcodage des fichiers présents sur le stockage dans des formats non reconnus par le lecteur.

La Freebox HD (V5) agit comme un tel lecteur (renderer on dit) mais il lui manque certains codecs ou containers. En particulier, le MP4 n’est pas digéré (il est même filtré à l’affichage dans la liste des fichiers alors qu’envoyés par le serveur).

Les serveurs se basent généralement sur une base de profils pour savoir quoi proposer à qui et dans quel format. Le choix du profil se fait habituellement sur la présence d’un champ d’entête “User-Agent” dans les requêtes.

La Freebox lors du parcours de l’arborescence met bien en place un User-Agent: “Linux/2.6 UPnP/1.0 fbxupnpav/1.0”, le serveur présente donc les fichiers dans les formats reconnus et ceux non reconnus dans le format destination du transcodage.

Cependant, lorsque la freebox demande le fichier (ou un byterange), elle n’indique plus son User-Agent, le serveur repasse donc en mode de base et propose au mieux le fichier dans le format original (éventuellement non compatible...) au pire, il ne sait plus comment générer le fichier demandé car n’a plus la notion des restrictions du renderer. Elle se prend donc une erreur 404 ou 400 en retour...

La solution est simple, il suffirait que la requête de streaming contienne aussi ce User-Agent, cela permettrait par exemple de créer un profil Plex ( https://forums.plex.tv/index.php/topic/73702-writing-profiles-for-dlna-devices/ ) supportant le trancodage ce qui est actuellement impossible.


Exemple de l’entête d’une requête UPNP (demande de contenu d’un répertoire) :

POST /ContentDirectory/51966528-f846-a974-f2d2-7d2caeb48766/control.xml HTTP/1.1
Content-Type: text/xml; charset="utf-8"
User-Agent: Linux/2.6 UPnP/1.0 fbxupnpav/1.0
SOAPACTION: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"
Host: 192.168.5.113:32469
Content-length: 490

<...>

Exemple de l’entête d’une requête d’un media :

GET /object/9738a1d508787a45192d/file.avi HTTP/1.0
Host: 192.168.5.113:32469
Range: bytes=0-

Il suffirait donc que lors de la requête d’un média, la freebox envoye :

GET /object/9738a1d508787a45192d/file.avi HTTP/1.0
Host: 192.168.5.113:32469

User-Agent: Linux/2.6 UPnP/1.0 fbxupnpav/1.0

Range: bytes=0-

Oh petit démon dans la freeboite ! Implémente donc cette unique ligne de code et délivre nous d’heures de souffrance et de questionnement sur “pourquoi ca marche pô” ! On te fera une bise.

dperetti a commenté le 25.03.2016 09:25

+1 . Incompréhensible que ce ne soit pas fait.

Fortunately, this best essay writing services exists - read more here on https://www.tacomadailyindex.com/blog/5-best-cheap-essay-writing-services-reddit-users-recommend-in-2023/2465752/. Aside from that, one can expect that a paper will be finished as per every predefined prerequisite. The office gives its all to ensure that each client is happy with each order they get.

Chargement...

Activer les raccourcis clavier

Liste des tâches

Détails de la tâche

Édition de la tâche