Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何旋转mp4文件?_Java_Android_Ffmpeg_Rotation_Mp4 - Fatal编程技术网

Java 如何旋转mp4文件?

Java 如何旋转mp4文件?,java,android,ffmpeg,rotation,mp4,Java,Android,Ffmpeg,Rotation,Mp4,我有一个mp4文件(已经录制),想更改视频的旋转(包括元数据)。有一种方法可以做到这一点,即在何处找到轨迹标头(tkhdr),并用所需的旋转替换旋转矩阵 我知道这可以使用ffmpeg库来完成,但我不想使用该库,而是想在Android中使用JAVA来完成。如果以前有人这样做过,请告诉我 谢谢 拉维 此库可以帮助您: 该库使用Android MediaCodec API生成Mp4电影,并可以旋转Mp4 StackOverflow参考: 它的API流畅且简单: new Mp4Composer(sou

我有一个mp4文件(已经录制),想更改视频的旋转(包括元数据)。有一种方法可以做到这一点,即在何处找到轨迹标头(tkhdr),并用所需的旋转替换旋转矩阵

我知道这可以使用ffmpeg库来完成,但我不想使用该库,而是想在Android中使用JAVA来完成。如果以前有人这样做过,请告诉我

谢谢 拉维


此库可以帮助您:

该库使用Android MediaCodec API生成Mp4电影,并可以旋转Mp4

StackOverflow参考:


它的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编写的:


[编辑:来自评论]


您可以从此中提取代码:手动修改十六进制。

此库可能会帮助您:

该库使用Android MediaCodec API生成Mp4电影,并可以旋转Mp4

StackOverflow参考:


它的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编写的:


[编辑:来自评论]


您可以从中提取代码:手动修改十六进制。

添加一些代码示例,以便任何人都可以轻松了解该库,而不是直接访问link@toasterthanking@Toaster以获得答复。我认为这将创建一个新文件,而不是在同一个文件中进行更改。我的想法是从文件中获取字节数组,搜索该字节数组中的旋转属性并更改旋转。这种方法的问题是我无法从字节数组中找到旋转矩阵。我不能说任何东西都不起作用。但是android支持实时文件修改吗?“我还没试过。”多谢。我会让你知道它是否适合我。添加一些代码示例,以便任何人都可以轻松了解该库,而不是直接访问链接@ToasterThank@Toaster获得你的答复。我认为这将创建一个新文件,而不是在同一个文件中进行更改。我的想法是从文件中获取字节数组,搜索该字节数组中的旋转属性并更改旋转。这种方法的问题是我无法从字节数组中找到旋转矩阵。我不能说任何东西都不起作用。但是android支持实时文件修改吗?“我还没试过。”多谢。如果对我有效,我会让你知道的。