2010-01-22 8 views
8

Ich versuche Video zu streamen (oder progressiven Download zu verwenden) zu einem Motorola Droid Browser und habe nicht viel Glück. Mit meinem iPhone kann ich Safari auf http://xxx.xxx.xxx/FileName.mp4 verweisen (das ist eine MPEG-4-Videodatei), und Safari öffnet Quicktime, und das Video wird abgespielt. Allerdings, mit dem Droid, gehe ich auf die gleiche Webadresse und bin mit einem Fehler konfrontiert, der besagt: "Kann Video nicht abspielen .... Sorry, dieses Video ist nicht für das Streaming auf dieses Gerät gültig".Streaming Video (oder Progressive Download) zum Droid Browser

Wenn ich den Droid-Browser auf eine WMV-Datei leite, wird die Videodatei vollständig heruntergeladen und dann in dem, der wie der Droid-Videoplayer aussieht, abgespielt, wenn ich darauf klicke.

Im Idealfall möchte ich das Verhalten des iPhone auf dem Droid replizieren, wo der Videoplayer erscheint und das Video vor dem vollständigen Download startet. Das Videoformat ist kein Problem, da ich das Video nach fast jedem Standard kodieren kann. Ich habe versucht, die .mp4-Datei, weil die Droid-Dokumentation sagt, dass es MPEG-4-Video unterstützt, obwohl ich es vom Browser nicht funktionieren kann.

Jeder Einblick wäre sehr zu schätzen.

Antwort

0

Ich bin mir nicht ganz sicher, aber ich denke nicht, dass es wirklich möglich ist.

Soweit ich weiß "unterstützt" bedeutet nur, es kann es aus der Box spielen, aber es gibt keine Plugins für den Browser, so dass es nicht weiß, damit zu tun.

Wenn Sie überprüfen möchten, ob Android die Datei abspielen kann, legen Sie sie auf die SD-Karte und spielen Sie sie über die Galerie ab.

0

Das Abspielen einer mp4-Datei vom Browser wird unterstützt. Wenn Sie einen bestimmten Link haben, der nicht funktioniert, veröffentlichen Sie den Link. Außerdem wäre es hilfreich zu sehen, was "adb logcat" zeigt.

1

Sie sollten eine Absicht starten und den Typ auf "video/*" einstellen, damit er direkt mit einem Videoplayer anstelle des Browsers geöffnet wird.

1

Streaming in Android ist ein Schmerz in den Arsch. Die beste Option besteht darin, das Video mit dem RTSP-Protokoll zu streamen.

Wenn Ihr Droid auf 2.2 aktualisiert wird, können Sie auch eine einfache Webseite mit einem eingebetteten Flash-Player wie jwplayer einrichten (vergessen Sie nicht, alternative Inhalte einzurichten, wenn der Flash Player nicht auf dem Gerät installiert ist) es von Adobe).

Ich habe beide Lösungen erfolgreich eingesetzt. RTSP für < 2.1 und eingebetteten Flash-Player Wiedergabe von Video von RTMP-Stream (Sie können auch lokale Datei vom Server abspielen)

Beachten Sie, dass Sie in einigen Geräten (Hero) können Sie nicht das WebView mit dem Flash-Player in Ihrer App einbetten .

Wenn Sie nach einer schnellen Lösung suchen, würde ich versuchen, 3gp.

Wenn die Konnektivität nicht schnell genug ist, um das Video abzuspielen, erhalten Sie den gleichen Fehler, den Sie gepostet haben (selbst bei richtig codierten Videos).

EDIT: Ich habe H.264 auf RTSP Streams und VP6 auf RTMP. VP8 wird nur von neueren Geräten unterstützt.

+0

können Sie bitte teilen, wie Sie rtmp in Android verwendet ?? Ich meine, mit welcher Bibliothek? und alles ? –

+0

Das war lange her, also vielleicht hat es jetzt bessere Unterstützung.Was ich für RTMP getan habe, war eine extrem einfache HTML - Seite, die nur einen eingebetteten JWPlayer enthielt. Dies war eine Umgehungslösung, da der RTMP - Stream bei vielen Geräten einfach nicht als Video - Stream - Link geöffnet wurde RTSP-Verbindung mit einer Absicht). Auf der Serverseite verwendeten wir Wowza zum Streamen des Videos. Ich würde dir empfehlen, deine ersten Tests mit einem einfachen kodierten Video (vielleicht einem mpeg1 oder 2) zu machen, damit du sicher bist, dass das Streaming funktioniert, da es viele Codecs gibt, die von vielen Geräten nicht unterstützt werden – momo

+0

ist die JWPlayer Open Source ? Ich meine, ich habe viele Codes gesehen, die es verwenden, aber ich bin nicht wirklich bewusst, was es ist, eine Open Source-Bibliothek oder was? Ja, einige Codecs werden auf einigen Geräten nicht unterstützt :(. N danke auch für Ihre Antwort –