Ich arbeite an einer Chat-Anwendung wie whatsApp, ich möchte die Mediendatei transcodieren, bevor ich sie auf den Server hochlade. Ich habe so viele Links durchgespielt, aber nicht entscheiden können, welche Methode ich verwenden soll in android?
FFMPEG Ich habe festgestellt, dass es sich um einen sehr CPU-intensiven Prozess handelt, der mehr Akkuleistung verbrauchen wird
Media Codec Ich möchte die Transcodierung mit dem Mediacodec durchführen, aber keine geeigneten Schritte zum Verständnis des Prozesses finden.
Der beste Link, um eine Idee zum Transkodieren zu erhalten
Bibliothek zum Umcodieren mit Medien-Codec (Es hat viele Bugs)
Wir haben beide Implementierungen für unsere Videoschnitt-App verwendet. Im Grunde genommen haben wir die MediaCodec-Implementierung verwendet, wenn die Android-Version & gt; = 4.3 ist und ansonsten FFMPEG verwendet.
Das Problem bei der Verwendung von FFMPEG:
MediaCodec hat jedoch auch einige Nachteile, zum Beispiel:
Ich sollte also sagen, wenn Sie nur eine neue Android-Version unterstützen, sollten Sie mediacodec verwenden, aber wenn Sie sicher sein wollen (einfacher Code zu schreiben, der auf allen Geräten funktioniert) und die Leistung nicht wirklich stört, verwenden Sie FFMPEG mit OpenH264
Der MediaCodec von Android ist eine relativ bessere Möglichkeit, auf dem Client zu transkodieren, da er eine eigene Low-Level-Pufferverarbeitung verwendet. Aber es bietet keine aufwendige Optimierungsfreiheit wie FFMpeg. Was MediaCodec-Quellcode betrifft, so ist es auch CPU-intensiv, um die Puffer zu halten und zu verarbeiten, aber es ist tatsächlich weniger als FFmpeg.
Tags und Links transcoding mediacodec