【发布时间】:2017-08-24 02:40:32
【问题描述】:
我使用 MediaRecorder 录制视频。使用后置摄像头时,它工作正常,但使用前置摄像头时,捕获的视频正在翻转/反转。意味着右侧的项目将出现在左侧。相机预览工作正常,只是最后捕获的视频翻转了。
这是相机预览的样子
但最终的视频看起来是这样的(左侧的所有项目,出现在右侧)
到目前为止我尝试了什么:
我尝试在准备记录器时应用matrix,但它似乎确实改变了任何东西。
private boolean prepareRecorder(int cameraId){
//# Create a new instance of MediaRecorder
mRecorder = new MediaRecorder();
setCameraDisplayOrientation(this,cameraId,mCamera);
int angle = getVideoOrientationAngle(this,cameraId);
mRecorder.setOrientationHint(angle);
if(cameraId == Camera.CameraInfo.CAMERA_FACING_FRONT){
Matrix matrix = new Matrix();
matrix.preScale(1.0f,-1.0f);
}
//all other code to prepare recorder here
}
我已经阅读了下面所有这些问题,但所有这些似乎都没有解决我的问题。有关信息,我使用SurfaceView 进行相机预览,所以这里的这个问题没有帮助。
1) Android flip front camera mirror flipped video
2)How to keep android from inverting the image from the front facing camera?
3)Prevent flipping of the front facing camera
所以我的问题是:
1) 如何通过前置摄像头截取视频不反转的视频(与摄像头预览完全相同)?
2) 当相机预览使用 SurfaceView 而不是 TextureView 时,如何实现这一点? (因为我上面提到的所有问题,请告诉使用TextureView)
所有可能的解决方案都非常受欢迎..Tq
编辑
我做了2个短视频来澄清问题,请下载看看
【问题讨论】:
-
这可能对你有帮助github.com/google/grafika
-
我们都习惯了前置摄像头的镜像效果,以至于很难区分“正确”和“反向”。前置摄像头捕捉视频的方式与后置摄像头相同。尝试用两台相机拍摄同一场景的短片,并比较结果。翻转的是您的 preview(但这并没有错,这就是我们所期望的)。
-
@AlexCohn 我拍了短片..相机预览没有翻转,但是录制的视频被翻转了......
-
你能上传这两个视频片段吗,例如到tinypic.com ?
-
确定..稍后我会告诉你..
标签: android-camera video-recording front-camera