Ok. Es gibt also viele verschiedene Android-Geräte. Ich habe einen Video-Streaming-Dienst, funktioniert wunderbar für iOS. Meine App verfügt über eine Live-Videofunktion und eine gespeicherte Videoclip-Wiedergabefunktion (die auch auf das Gerät streamt). Ich habe einige Tests auf verschiedenen Android-Geräten durchgeführt und eine ganze Reihe verschiedener Wiedergabeergebnisse erhalten. Ich verwende ein 640x480 h.264 Basisprofilvideo. Das Streaming dieses Videos funktioniert nur auf einigen Geräten. Für andere Geräte kann derselbe Videostream mit niedriger Auflösung zum Streamen gebracht werden, was bei einigen Geräten funktioniert, bei anderen aber nicht. Das hochkarätige Streaming läuft durch Ссылка (rtsp) und funktioniert auf keinem Android-Gerät (funktioniert aber auf dem iPhone). Die niedrigste und schlechteste Option ist Motion JPEG, die bisher auf allen getesteten Geräten funktioniert.
Also meine Frage ist, wie kann ich herausfinden (ohne jedes Gerät auf dem Markt zu testen), wenn das Gerät spielen wird: 640x480 h.264 Basisprofil - wenn das nicht funktioniert dann spielen Sie die niedrige Auflösung Video - wenn das funktioniert nicht, standardmäßig auf Motion JPEG.
Auch jede Idee, warum mein rtsp transcoded durch wowza funktioniert auf dem iPhone, aber nicht auf jedem Android-Gerät (nicht einmal das Motorola Atrix)?
Streaming auf Android ist ein absolutes Durcheinander. Die meisten Geräte unterstützen nichts, das höher ist als Baseline 3.0. Wenn Sie für das iPhone 3 kodieren, sollte es im Allgemeinen über RTSP funktionieren. Neuere Versionen von Android unterstützen HLS, aber es ist Hit oder Miss und weitgehend abhängig von bestimmten Geräten.
Ich habe dieses Problem gelöst. Überprüfen Sie die RTP-Umsetzung in Ihrem Streaming-Dienst und x264-Profil. Mein RTSP-Server funktioniert auf 90% Geräten einwandfrei.
ps Einige Video-Frameworks in verschiedenen Android-Versionen können RTP- und RTSP-Protokolle mit einigen Unterschieden implementieren.
Dies sind einige der Links / Probleme, auf die ich gestoßen bin, während ich versucht habe, Streaming in verschiedenen Geräten zu ermöglichen.
MediaPlayer seekTo funktioniert nicht für Streams
MediaPlayer seekTo spielt Songs von Anfang an inkonsistent
Basic Streaming Audio funktioniert in 2.1 aber nicht in 2.2
MediaPlayer.seekTo () funktioniert nicht für ungepufferte Position
Streaming-Video, wenn die Suche nach Pufferung beginnt nochmal in videoView / Mediaplayer
Selbst die großen Schüsse im stackoverflow wundern sich darüber
Wenn Sie nur streamen möchten ohne zu suchen (was lahm ist), kann dies erreicht werden. Aber wenn Sie einen Anruf erhalten, während Sie zusehen, werden Sie von Anfang an enden.
Tags und Links android video-streaming rtsp live-streaming wowza