Wie komprimieren Sie mp4-video mit Android MediaCodec?

In meine Android-app, ich will zu komprimieren mp4-video, indem Ihre Auflösung, bitrate. Ich will nicht von FFmpeg (weil ich nicht will, zu verwenden NDK), so entschied ich mich für MediaCodec API.

Hier sind meine logischen Schritte:

  1. - Extrakt-video-Datei mit MediaExtractor, dann Daten dekodiert werden.
  2. Erstellen neuer encoder mit meiner neuen Auflösung, bitrate und Kodierung von Daten.
  3. Mit MediaMuxer erstellen Sie eine neue mp4-Datei.

Mein problem ist: ich weiß nicht, wie das einrichten der Verbindung zwischen Ausgang des decoder und Eingabe-encoder. Ich kann Dekodieren, das video, das auf einer Oberfläche oder codieren ein neues video von einer Oberfläche. Aber ich verstehe nicht, wie um Sie zu verbinden.

Ich lese diese links gilt: Android MediaCodec: Reduzieren Sie den mp4-video-GrößeVideo Kompression auf android mit neuen MediaCodec Bibliothek und das Beispiel von Bigflake: https://android.googlesource.com/platform/cts/+/jb-mr2-release/tests/tests/media/src/android/media/cts/DecodeEditEncodeTest.java

Kann jemand mir eine genaue Erklärung was ich zu tun habe?

InformationsquelleAutor der Frage TOP | 2015-06-15

Schreibe einen Kommentar