Wie beschneidet Instagram Videos in der Android App?

Ich versuche, das Video im Verhältnis 1: 1 (Quadrat) aufzunehmen, und ich kann es nicht zum Laufen bringen. Wenn ich die benutzerdefinierte Auflösung in der Media Recorder-Instanz einstelle, wird beim Starten des Media Recorders ein Fehler angezeigt.

mediaRecorder.setVideoSize(480, 480);

aber es funktioniert, wenn ich die von der Kamera unterstützte Auflösung einstelle.

Camera.Parameters p = c.getParameters();
        List<Camera.Size> list = p.getSupportedPreviewSizes();
        //They are ordered from largest to smallest, so the largest will be...
        for (Camera.Size i : list) {
            if (i.width <= 640 && i.width >= 480) {
                size = i;
            }
            Log.d(TAG, "i.height: " + i.height + " i.width" + i.width);
        }
        if (size != null) {
            p.setPreviewSize(size.width, size.height);
            c.setParameters(p);
        }

dann setzen

 mediaRecorder.setVideoSize(size.width, size.height);

Ich bekomme normalerweise 480 mal 640. Gibt es eine Möglichkeit, das Video auf Android zuzuschneiden? Ich habe die ffmpeg-Bibliothek gesehen, aber ich muss sie in einem Projekt verwenden und bin mir nicht sicher, wie die LGPL funktioniert. Gibt es eine einfachere Lösung dafür?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage