问题描述
我是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坐标即可。