Android MediaCodec: Reduzieren Sie den mp4-video-Größe

Ich bin auf der Suche nach einem Weg zu "komprimieren" ein mp4-video. Um dies zu erreichen, möchte ich, um die Auflösung des video-und /oder Verringerung der FPS.

Nach langen Recherchen, ich denke, die Art und Weise, es zu tun, ist die Verwendung von MediaCodec und die zugehörigen APIs wie folgt :

-> MediaExtractor zum extrahieren von codierten media-Daten aus einer mp4-Datei.
-> MediaCodec (Decoder): Dekodierung jedes Frames für die spätere Verarbeitung.
-> MediaCodec (Encoder): An diesem Punkt, ich denke, das ist, wo wir feststellen sollte MediaFormat-Parameter wie video-Auflösung, die uns helfen sollen, reduzieren Sie die endgültige Größe der mp4-Datei.
-> MediaMuxer für generieren mp4-Datei (MinSDK 18, könnte dies ein problem sein, aber für jetzt... ok) .

Ich will nicht von einer SurfaceView/TextureView.
In Bezug auf die audio, ich will nicht, um es zu verarbeiten, um die Qualität.

Habe ich alle Beispiele hier:
http://bigflake.com/mediacodec/

Hab ich auch gesehen CTS-source-code-Module.

Und ich habe schon einige Projekte wie diese:
https://github.com/vecio/MediaCodecDemo/blob/master/src/io/vec/demo/mediacodec/DecodeActivity.java

Und natürlich habe ich gelesen, Dutzende von posts auf stackoverflow.

Das problem ist, dass ich noch nicht gefunden code-Beispiel, das gut funktioniert, dafür hat. Ich habe versucht, verschiedene Teile des Codes, und legen Sie Sie zusammen an einem Projekt, aber nicht wirklich funktioniert.

Dank.

  • bitte teilen, wenn du keine Lösung gefunden für dieses problem.
  • Waren Sie jemals in der Lage, dieses problem zu lösen?
InformationsquelleAutor Ricardo Cion | 2014-02-27
Schreibe einen Kommentar