基本上我想旋转视频,这取决于用来拍摄它的相机。
前置摄像头90度镜像,后置摄像头显示正常。目前它将根据第一个剪辑设置矩阵。如果第一个剪辑是用前置摄像头制作的,它会将所有剪辑旋转 270 度,反之亦然。
这是一个示例代码(rotations
是一个包含剪辑旋转的ArrayList ):
for (TrackBox trackBox : trackBoxes) {
Log.d("TRACKBOX", String.valueOf(rotations.get(i)));
//trackBox.getTrackHeaderBox().setMatrix(Matrix.ROTATE_90);
if (rotations.get(i) == 90) { //if clip was made with back camera
trackBox.getTrackHeaderBox().setMatrix(Matrix.ROTATE_90);
Log.d("Rotating to:", "90 degrees");
} else if (rotations.get(i) == 270) { // if clip was made with front camera
trackBox.getTrackHeaderBox().setMatrix(Matrix.ROTATE_270);
Log.d("Rotating to:", "270 degrees");
}
m.addTrack(new Mp4TrackImpl(trackBox));
}
inMovies[i] = m;