Freebox Player (Revolution / V6)

  • État À investiguer
  • Pourcentage achevé
    0%
  • Type Anomalie
  • Catégorie Lecteur multimédia → Client UPnP AV
  • Assignée à
    brouits
  • Système d'exploitation Tous
  • Sévérité Basse
  • Priorité Très Basse
  • Basée sur la version 1.3.18
  • Due pour la version Non décidée
  • Échéance Non décidée
  • Votes 1
  • Privée
Concerne le projet: Freebox Player (Revolution / V6)
Ouverte par frnchfrgg - 08/02/2014
Dernière modification par mbizon - 24/04/2014

FS#14260 - Le client RTSP ne respecte pas la bonne directive "a=control:" du DESCRIBE

Lorsque j’appelle SetAVTransportURI sur l’interface AVTransport du MediaRenderer DLNA du Player, avec CurrentURI valant rtsp://192.168.0.1:8081/stream.ts j’obtiens l’échange suivant:

Envoyé par le Player à 192.168.0.1:8081:

DESCRIBE rtsp://192.168.0.1/stream.ts RTSP/1.0
CSeq: 1
Accept: application/sdp
User-Agent: libfbxrtsp/1.2

Réponse:

RTSP/1.0 200 OK
Server: VLC/2.1.2
Date: Sat, 08 Feb 2014 23:33:24 GMT
Content-Type: application/sdp
Content-Base: rtsp://192.168.0.1:8081/stream.ts
Content-Length: 330
Cache-Control: no-cache
Cseq: 1

v=0
o=- 15465709961248091033 15465709961248091033 IN IP4 atlantis
s=Unnamed
i=N/A
c=IN IP4 0.0.0.0
t=0 0
a=tool:vlc 2.1.2
a=recvonly
a=type:broadcast
a=charset:UTF-8
a=control:rtsp://192.168.0.1:8081/stream.ts
m=video 0 RTP/AVP 33
b=RR:0
a=rtpmap:33 MP2T/90000
a=control:rtsp://192.168.0.1:8081/stream.ts/trackID=0

Envoyé par le Player à 192.168.0.1:8081:

SETUP rtsp://192.168.0.1/stream.ts RTSP/1.0
CSeq: 2
Accept: application/sdp
User-Agent: libfbxrtsp/1.2
Transport: FBXRTP/AVP;unicast;mode=play;ssrc=561072371;client_port=3001-3002
X-Freebox-Capabilities: hd,sd,ld,16_9,ac3
X-Freebox-Model: fbxhd

Et c’est là que le bât blesse, la réponse étant:

RTSP/1.0 459 Aggregate operation not allowed
Server: VLC/2.1.2
Date: Sat, 08 Feb 2014 23:33:24 GMT
Content-Length: 0
Cache-Control: no-cache
Cseq: 2

En effet, l’opération SETUP ne doit pas être effectuée sur l’url de présentation mais sur l’url de contrôle dédiée du flux, et ce pour chaque flux s’il y en a plusieurs. Si le client est VLC, l’opération SETUP s’effectue bien ainsi:

SETUP rtsp://192.168.0.1:8080/stream.ts/trackID=0 RTSP/1.0

Il semble que ou bien libfbxrtsp ignore la directive “a=control:...”, ou bien choisit la première au lieu de prendre en compte celle qui suit la directive “m=video 0...” marquant le début des metadata du premier flux.

Voir http://stackoverflow.com/a/9254673 pour les détails.

Of course, tenter de diriger la box vers rtsp://192.168.0.1:8080/stream.ts/trackID=0 dès le départ ne marche pas, puisque le DESCRIBE est refusé sur les flux eux-mêmes. À remarquer que le serveur RTSP du multiposte utilise la même url pour le flux et pour la présentation, donc le problème ne se présente pas (même si orienter le Player vers une url multiposte ne marche quand même pas, au moins la connexion se fait et le Player affiche le temps qui passe comme s’il recevait qqchose; je pense juste qu’il n’arrive pas à décoder la vidéo).

Chargement...

Activer les raccourcis clavier

Liste des tâches

Détails de la tâche

Édition de la tâche