我有一个能够拍摄图像和录制视频的摄像头应用程序。但是,当从设备前置摄像头捕捉图像或录制视频时,结果会翻转,就像您在看镜子一样。我想再次翻转,所以看起来很正常。我设法与图像要做到这一点,通过使用Matrix翻转Bitmap:从Android的前置摄像头拍摄的镜像翻转视频

public Bitmap flip(Bitmap bitmap) {

int w = bitmap.getWidth();

int h = bitmap.getHeight();

Matrix matrix = new Matrix();

float[] mirrorY = {-1, 0, 0, 0, 1, 0, 0, 0, 1};

Matrix matrixMirrorY = new Matrix();

matrixMirrorY.setValues(mirrorY);

matrix.postConcat(matrixMirrorY);

matrix.postRotate(90);

return Bitmap.createBitmap(bitmap, 0, 0, w, h, matrix, true);

}

我无法弄清楚如何翻转由MediaRecorder拍摄的视频,我知道我可以运行ffmpeg命令:

-i /pathtooriginalfile/originalfile.mp4 -vf hflip -c:a copy /pathtosave/flippedfile.mp4

但我不知道如何从代码运行ffmpeg命令,我找不到另一种方法。有很多议题讨论这个问题,但我找不到解决方案。注意:Snapchat有可能以某种方式工作。

谢谢。

P.S对不起,使用前置摄像头,我的英语

+0

嗨,你找到了解决方案吗?谢谢 –

+0

@dangling_refrenz Nope,从来没有试图解决这个问题后,这个线程和我在这里得到的答案,无论如何,祝你好运。 –

+0

@ DAVIDBALAS1我面临同样的问题。你找到解决方案吗? –

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐