- État Nouveau
- Pourcentage achevé
- 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
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.
Chargement...
Activer les raccourcis clavier
- Alt + ⇧ Shift + l Se connecter/Se déconnecter
- Alt + ⇧ Shift + a Ouvrir une tâche
- Alt + ⇧ Shift + m Mes recherches
- Alt + ⇧ Shift + t Rechercher par ID de tâche
Liste des tâches
- o Ouvrir la tâche sélectionnée
- j Déplacer le curseur vers le bas
- k Déplacer le curseur vers le haut
Détails de la tâche
- n Tâche suivante
- p Tâche précédente
- Alt + ⇧ Shift + e ↵ Enter Modifier cette tâche
- Alt + ⇧ Shift + w Surveiller
- Alt + ⇧ Shift + y Fermer cette tâche
Édition de la tâche
- Alt + ⇧ Shift + s Enregistrer la tâche
+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.