ravi
ravi

Reputation: 2782

How to rotate mp4 files?

I have a mp4 file(already recorded) and want to change the rotation(including meta data) of the video. There is a way to do this using Hex Editor where in you find the track header(tkhdr) and replace the rotation matrix with the required rotation.

I know this can be done using ffmpeg library but I do not want to use the library instead I want to do this in Android using JAVA. Let me know if anyone has done this before.

Thanks Ravi

Reference link

Upvotes: 0

Views: 761

Answers (1)

exploitr
exploitr

Reputation: 793

This library may help you: https://github.com/MasayukiSuda/Mp4Composer-android

This library generates an Mp4 movie using Android MediaCodec API and can rotate Mp4.

StackOverflow reference: https://stackoverflow.com/a/19392712/8572503


It's API is fluent and easy :

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();

You can also see this transcoder has written in pure Java: https://github.com/ypresto/android-transcoder


[EDIT: From Comment]:

You can extract code from this: https://github.com/javadev/hexeditor to manually modify the hex.

Upvotes: 3

Related Questions