- Status Nouveau
- Percent Complete
- Task Type Anomalie
- Category UPnP AV
- Assigned To No-one
- Operating System Tous
- Severity Low
- Priority Very Low
- Reported Version 1.6.13
- Due in Version Undecided
-
Due Date
Undecided
- Votes
- Private
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.
Loading...
Available keyboard shortcuts
- Alt + ⇧ Shift + l Login Dialog / Logout
- Alt + ⇧ Shift + a Add new task
- Alt + ⇧ Shift + m My searches
- Alt + ⇧ Shift + t focus taskid search
Tasklist
- o open selected task
- j move cursor down
- k move cursor up
Task Details
- n Next task
- p Previous task
- Alt + ⇧ Shift + e ↵ Enter Edit this task
- Alt + ⇧ Shift + w watch task
- Alt + ⇧ Shift + y Close Task
Task Editing
- Alt + ⇧ Shift + s save task
+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.