Hallo Android Video Experten :)Wie kann ich Videos mit niedriger Auflösung auf Android auf einer Reihe von Geräten zuverlässig erfassen?
ich eine Android-Anwendung entwickle, die dem Anwender Video erfassen können und laden Sie es auf einem Remote-Server (es als mehr beteiligt ist, aber der Rest der App ist nicht wichtig). Wegen der Upload-Anforderung ist es wichtig, dass das Video eine vernünftige Größe hat, also keine super hohe Auflösung. Sagen wir ein Maximum von 680x480 oder 10Mb/Minute. Dies ist kein Problem auf Apple-Geräten.
Ich hatte, was nur als ein kompletter Albtraum beschrieben werden kann, der versucht, Video mit einer vernünftig niedrigen Bitrate zuverlässig über eine Reihe von Android-Geräten zu erfassen.
Wie ich es verstehe, gibt es zwei Möglichkeiten, Videos auf Android erfassen:
1) Mit dem Media Recorder/Kamera-API
2) ein Intent Verwenden der Kameras Video-Capture-Anwendung zu öffnen
Option 1) bietet die größte Flexibilität und ermöglicht uns eine einfache Änderung der Aufnahmeauflösung. Allerdings ist die Android Camera API auf einer Reihe von Geräten NICHT zuverlässig, und ich habe sehr gute Informationen (auch von jemandem, der mit Google über dieses Problem gesprochen hat), dass wenn man Video mit dieser API aufnimmt, es bei gut 50% abstürzt die Geräte da draußen. Es gibt einen Grund, dass Zoom Camera FX einen Intent für die Videoaufnahme verwendet. Zoom-Kamera (andere App) scheint Media Recorder zu verwenden, hat aber viele schlechte Kritiken für Video-Crash oder funktioniert nicht.
Option 2) funktioniert gut über eine Reihe von Geräten, da es die integrierte Anwendung auf dem Gerät verwendet. Das Problem ist, dass Sie keinerlei Kontrolle über die Auflösung haben, es gibt einen Qualitätshinweis auf die Absicht, aber die Kamera-App wird dies normalerweise ignorieren. Mein Samsung Galaxy S3 zeichnet Videos standardmäßig mit etwa 2 MB/s auf. Das ist viel zu hohe Auflösung. Die eingebaute Anwendung kann natürlich die Auflösung ändern, aber dies beruht auf einer schwer zu kontrollierenden Aktion des Benutzers.
Ich verstehe, dass ich eine Bibliothek wie ffmpeg verwenden könnte, um die Auflösung des Videos nach der Aufnahme zu ändern. Dies erfordert jedoch, dass ich die Bibliothek für Android kompiliere, und ich wurde auch darüber informiert, dass, um die Codecs decodieren/kodieren auf dem Gerät legal zu verwenden, Sie Lizenzgebühren zahlen müssen, die etwa $ 1 pro Kopie der App betragen. Da diese App kostenlos verwendet werden kann, ist dies keine Option.
Also das ist, wo ich bin. Ich habe lange gesucht und nach Antworten gesucht, aber ich kann nicht herausfinden, wie man Videos mit niedriger Auflösung zuverlässig mit Android aufnimmt.
Jede Hilfe sehr geschätzt!
Matthew
Haben Sie Probleme gefunden? Ich versuche die Option 2 und fest auf der Suche nach Antworten .... – Salmaan