2013-03-08 5 views
34

Ich benutze Android 4.1.2 auf Galaxy S3. Gegenwärtig versucht der Android Mediaplayer immer die RTSP UDP (RTP/AVP/UDP) Methode, um sich mit dem RTSP Server zu verbinden.Erzwingen Android RTSP/AVP/TCP Interleaved

Wenn der Android MediaPlayer die Daten auf seinen UDP-Ports nicht empfängt..it timeout und dann versucht RTSP TCP verschachtelt (RTP/AVP/TCP). Dies ist in Ordnung, aber es bringt eine Verzögerung von 10 Sekunden oder so. Ich möchte diese Verzögerung vermeiden und den Android MediaPlayer zwingen, immer RTSP TCP interleaved (RTP/AVP/TCP) für alle oder bestimmte URLs zu verwenden.

Ich versuchte Vorschlag in Here gegeben, um 461 oder 400 Fehlerantwort Code zu SETUP-Anfrage zu senden. Aber es scheint, dass der Mediaplayer sich nicht um die Antwort kümmert und SETUP-Befehle für beide Spuren sendet und dann die Verbindung aufhängt.

Wie kann ich dieses Problem beheben?

+0

Haben Sie dieses Problem jemals gelöst? – Marcel

+0

Ja, dieselbe Frage. – Brianjs

+0

Warum initialisieren Sie nicht selbst eine UDP-Socket-Verbindung und behandeln Sie den Stream entsprechend. Dies würde vermeiden, dass Android es für Sie behandelt – nathansizemore

Antwort

1

Ich benutze VLC anstelle der nativen. Lesen Sie den Living555-Quellcode. Sie können das Feld Transport: RAW/RAW/UDP in der SETUP-Anforderung angeben, um auszuwählen, welches Protokoll verwendet werden soll.

0

Ich könnte falsch liegen, aber AFAIK Android Mediaplayer unterstützt RTP über TCP nicht.

+0

Es ist noch nicht; ähnliche Frage http://stackoverflow.com/questions/20676092/does-android-4-x-support-streaming-rtsp-over-tcp –

Verwandte Themen