如何在没有第三方依赖项的情况下以编程方式在Android中镜像视频文件

问题描述

我是Android上图像和视频操作的新手,有一种情况,我想将视频文件(.mp4)加载到我的应用中,并以编程方式对其进行修改,以使视频中的每一帧都可以水平翻转(镜像)。否则,视频应保持不变。一个限制是我不能使用任何第三方框架,因此,如果可能的话,只需要使用Android SDK即可。

这可能吗?如果可以,我应该怎么做?我遇到了MediaCodec类,但是还没有找到任何可靠的示例来说明如何使用此类。

解决方法

https://android.googlesource.com/platform/cts/+/jb-mr2-release/tests/tests/media/src/android/media/cts/ExtractDecodeEditEncodeMuxTest.java有一个文件 TextureRender.java ,您需要更改矩阵U-V,并且可以翻转,旋转。

      private final float[] mTriangleVerticesData = {
    // X,Y,Z,U,V
    -1.0f,-1.0f,1.f,0.f,1.0f,};

它的工作方式类似于this(只是忽略小的纹理)。 只需尝试使用U-V坐标即可。