Java 根据所使用的摄像机,使用mp4parser旋转视频

Java 根据所使用的摄像机,使用mp4parser旋转视频,java,android,camera,rotation,mp4parser,Java,Android,Camera,Rotation,Mp4parser,基本上,我想旋转视频,这取决于使用哪个摄像头拍摄 前摄像头以90度镜像,而后摄像头显示正确。目前,它将根据第一个剪辑设置矩阵。如果第一个剪辑是用前置摄像头制作的,它会将所有剪辑旋转270度,反之亦然 下面是一个示例代码(rotations是一个包含剪辑旋转的ArrayList): 实际上,您可以使用这些代码旋转视频,无需使用mp4解析器库,非常复杂 /** * * @param mMediaRecorder * @return */ public static MediaRecorder

基本上,我想旋转视频,这取决于使用哪个摄像头拍摄

前摄像头以90度镜像,而后摄像头显示正确。目前,它将根据第一个剪辑设置矩阵。如果第一个剪辑是用前置摄像头制作的,它会将所有剪辑旋转270度,反之亦然

下面是一个示例代码(
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;
}