2010-12-15 11 views
2

Ich weiß, dass Android MJPEG nativ nicht unterstützt, aber gibt es irgendwelche JAR-Dateien/Treiber, die einem Projekt hinzugefügt werden können, um dies zu ermöglichen?Anzeigen von MJPEG-Videostreams

Antwort

0

Kaum, außer es ist Ihre Android-Plattform (d. H. Sie sind der Integrator von Spezialgeräten mit Android).

Ein guter Ort zu beginnen, wie der Android-Framework ist hier Video-Streams behandelt: http://opencore.net/files/opencore_framework_capabilities.pdf

Wenn Sie etwas wollen, völlig unvereinbar kochen, ich denke, Sie tun können, dass mit dem NDK, Marmelade ffmpeg in Dort, und mit ein bisschen Glück (und einem Albtraum, der verschiedene Android-Geräte unterstützt) kannst du es funktionieren lassen.

Was ist das Grundproblem, das Sie versuchen zu lösen, vielleicht könnten wir etwas ausarbeiten.

+0

Wir haben Kameras die Linien an der DMV beobachten die Öffentlichkeit in einem Desktop-Web-Browser anzeigen können. Dies geschieht mit einem Applet. Wir möchten den gleichen Feed auf einem Smartphone anzeigen können. – Tom

+0

Denken Sie darüber nach, alle wichtigen Android-Telefone für die breite Öffentlichkeit zu unterstützen oder entwickeln Sie ein Stück einer Unternehmensanwendung für eine Reihe von Android-Telefonen, die Sie an Ihre Mitarbeiter verteilen? – qdot

+0

Sie sollten wirklich dies von Mjpeg zu etwas mit Inter-Frame-Komprimierung für eine drastische Verbesserung der Bandbreiteneffizienz sowieso transcode, warum also nicht ein Android-Format unterstützt? Mjpeg ist in erster Linie beliebt, weil es ein einfacher Hack ist, es in den Chipsatz einer Digitalkamera zu implementieren, die bereits JPEGs verwendet, um Videofähigkeit hinzuzufügen, aber es ist nicht wirklich eine gute Lösung für Webvideo. Alternativ können Sie auch ein statisches Bild anzeigen, das häufig aktualisiert wird - Bewegungsvideo wird möglicherweise nicht benötigt. –

0

Sie können natürlich Software schreiben oder portieren, um jedes dokumentierte Videoformat zu verarbeiten. Das Problem ist, dass Sie nicht den gleichen Grad an hardwareoptimiertem Code wie die eingebauten Videocodecs haben und nicht so effizient niedrig sind - Zugriff auf den Framebuffer. Ihr Code wird daher wahrscheinlich nicht in der Lage sein, mit voller Geschwindigkeit abzuspielen. Manchmal könnte das in Ordnung sein, wenn du nur ein Gefühl für etwas haben willst. Auch mjpeg komprimiert Frames einzeln, daher sollte es trivial sein, etwas zu schreiben, das nur eine Menge Frames überspringt und nur einen Teil davon entschlüsselt, mit dem es mithalten kann.

Ich denke, dass einige Leute es geschafft haben, ffmpeg oder mplayer mit den optionalen Funktionen des CPUs in einigen Handys zu bauen und für einige Videos die volle Bildrate zu bekommen, aber es ist knifflig und gerätespezifisch.

+0

Nun, da ich Ihre Anwendung verstehe, werde ich meine Antwort empfehlen. Es ist zu viel Arbeit und erfordert, dass der Benutzer eine Anwendung installiert. Sie sollten dies stattdessen auf Ihrem Server lösen. –

0

Ich sage hier wahrscheinlich das Offensichtliche, aber MJPEG besteht einfach aus mehreren JPEGs. Wenn Sie die Frames durch Ausschneiden von Daten erfassen können, können Sie wahrscheinlich die Daten wie jedes andere Bild anzeigen lassen.