Java 根据所使用的摄像机,使用mp4parser旋转视频
基本上,我想旋转视频,这取决于使用哪个摄像头拍摄 前摄像头以90度镜像,而后摄像头显示正确。目前,它将根据第一个剪辑设置矩阵。如果第一个剪辑是用前置摄像头制作的,它会将所有剪辑旋转270度,反之亦然 下面是一个示例代码(Java 根据所使用的摄像机,使用mp4parser旋转视频,java,android,camera,rotation,mp4parser,Java,Android,Camera,Rotation,Mp4parser,基本上,我想旋转视频,这取决于使用哪个摄像头拍摄 前摄像头以90度镜像,而后摄像头显示正确。目前,它将根据第一个剪辑设置矩阵。如果第一个剪辑是用前置摄像头制作的,它会将所有剪辑旋转270度,反之亦然 下面是一个示例代码(rotations是一个包含剪辑旋转的ArrayList): 实际上,您可以使用这些代码旋转视频,无需使用mp4解析器库,非常复杂 /** * * @param mMediaRecorder * @return */ public static MediaRecorder
rotations
是一个包含剪辑旋转的ArrayList):
实际上,您可以使用这些代码旋转视频,无需使用mp4解析器库,非常复杂
/**
*
* @param mMediaRecorder
* @return
*/
public static MediaRecorder rotateBackVideo(MediaRecorder mMediaRecorder) {
/**
* Define Orientation of video in here,
* if in portrait mode, use value = 90,
* if in landscape mode, use value = 0
*/
switch (CustomCamera.current_orientation) {
case 0:
mMediaRecorder.setOrientationHint(90);
break;
case 90:
mMediaRecorder.setOrientationHint(180);
break;
case 180:
mMediaRecorder.setOrientationHint(270);
break;
case 270:
mMediaRecorder.setOrientationHint(0);
break;
}
return mMediaRecorder;
}
/**
*
* @param mMediaRecorder
* @return
*/
public static MediaRecorder rotateFrontVideo(MediaRecorder mMediaRecorder) {
/**
* Define Orientation of video in here,
* if in portrait mode, use value = 90,
* if in landscape mode, use value = 0
*/
switch (CustomCamera.current_orientation) {
case 0:
mMediaRecorder.setOrientationHint(270);
break;
case 90:
mMediaRecorder.setOrientationHint(180);
break;
case 180:
mMediaRecorder.setOrientationHint(90);
break;
case 270:
mMediaRecorder.setOrientationHint(0);
break;
}
return mMediaRecorder;
}
嗨,托尔斯滕,让我面对同样的问题。你解决了入职问题了吗?如果您解决了问题,请提供帮助me@MuraliGanesan很抱歉,我很久没有处理这个项目了。我最后使用了Instagram的策略,在你用后/前摄像头录制了一个视频片段后,你可以禁用切换摄像头。旋转照片与旋转视频有什么关系?这篇文章可以通过先阅读问题,然后只回答问题来改进。旋转照片与修改视频完全无关。
/**
*
* @param mMediaRecorder
* @return
*/
public static MediaRecorder rotateBackVideo(MediaRecorder mMediaRecorder) {
/**
* Define Orientation of video in here,
* if in portrait mode, use value = 90,
* if in landscape mode, use value = 0
*/
switch (CustomCamera.current_orientation) {
case 0:
mMediaRecorder.setOrientationHint(90);
break;
case 90:
mMediaRecorder.setOrientationHint(180);
break;
case 180:
mMediaRecorder.setOrientationHint(270);
break;
case 270:
mMediaRecorder.setOrientationHint(0);
break;
}
return mMediaRecorder;
}
/**
*
* @param mMediaRecorder
* @return
*/
public static MediaRecorder rotateFrontVideo(MediaRecorder mMediaRecorder) {
/**
* Define Orientation of video in here,
* if in portrait mode, use value = 90,
* if in landscape mode, use value = 0
*/
switch (CustomCamera.current_orientation) {
case 0:
mMediaRecorder.setOrientationHint(270);
break;
case 90:
mMediaRecorder.setOrientationHint(180);
break;
case 180:
mMediaRecorder.setOrientationHint(90);
break;
case 270:
mMediaRecorder.setOrientationHint(0);
break;
}
return mMediaRecorder;
}