Android MediaCodec: Reduzieren Sie die Größe von MP3-Videos

Ich suche nach einer Möglichkeit, ein mp4-Video zu "komprimieren". Um dies zu erreichen, möchte ich die Auflösung des Videos und / oder die FPS reduzieren.

Nach langen Recherchen ist es meiner Meinung nach möglich, MediaCodec und verwandte APIs wie folgt zu verwenden:

-> MediaExtractor zum Extrahieren verschlüsselter Mediendaten aus einer mp4-Datei. -> MediaCodec (Decoder): Decodiert jeden Frame für die spätere Verarbeitung. -> MediaCodec (Encoder): An dieser Stelle sollten wir wohl MediaFormat-Parameter wie die Videoauflösung festlegen, um die endgültige Größe der mp4-Datei zu verringern. -> MediaMuxer zum generieren von mp4-Dateien (MinSDK 18, dies könnte ein Problem sein, aber vorerst ... ok).

Ich möchte kein SurfaceView / TextureView verwenden. In Bezug auf das Audio möchte ich es nicht verarbeiten, um die Qualität zu verringern.

Ich habe mir alle Beispiele hier angesehen:http://bigflake.com/mediacodec/

Ich habe auch CTS-Quellcodemodule gesehen.

Und ich habe mir mehrere Projekte wie dieses angesehen:https://github.com/vecio/MediaCodecDemo/blob/master/src/io/vec/demo/mediacodec/DecodeActivity.java

Und natürlich habe ich Dutzende Beiträge über Stackoverflow gelesen.

Das Problem ist, dass ich noch kein Codebeispiel gefunden habe, das für diesen Schweinswal gut funktioniert. Ich habe versucht, verschiedene Codeteile zu einem Projekt zusammenzufügen, aber es funktioniert nicht wirklich.

Vielen Dank.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage