Эта библиотека может вам помочь: https://github.com/MasayukiSuda/Mp4Composer-android
Эта библиотека создает фильм Mp4 с помощью Android MediaCodec API и может вращать Mp4.
Ссылка на StackOverflow: https://stackoverflow.com/a/19392712/8572503
Это API свободно и просто:
new Mp4Composer(sourceFile, destinationFile)
.rotation(Rotation.ROTATION_90)
.size(1280,720) //720P
.fillMode(FillMode.PRESERVE_ASPECT_FIT)
.listener(new Mp4Composer.Listener() {
@Override
public void onProgress(double progress) {
Log.d(TAG, "onProgress = " + progress);
//or show in notification
}
@Override
public void onCompleted() {
Log.v(TAG, "onCompleted() : Destination → "+ destinationFile);
}
@Override
public void onCanceled() {
Log.d(TAG, "onCanceled");
}
@Override
public void onFailed(Exception exception) {
Log.wtf(TAG, "onFailed()", exception);
}
})
.start();
Вы также можете видеть, что этот транскодер написан на чистом Java: https://github.com/ypresto/android-transcoder
[РЕДАКТИРОВАТЬ: Из комментария] : Вы можете создать измененный новый файл, получить предыдущее имя файла и сохранить его в объекте String
, затем удалить предыдущий файл и переименовать новый файл в файл, сохраненный вString
объект.
Вы можете извлечь код из этого: https://github.com/javadev/hexeditor, чтобы вручную изменить шестнадцатеричный код.