По сути, я хотел бы повернуть видео в зависимости от того, какая камера использовалась для его съемки.
Фронтальная камера зеркально отражена под углом 90 градусов, а задняя камера отображается правильно. В настоящее время будет установлен Matrix по первому клипу. Если первый клип был сделан фронтальной камерой, то все ролики будут развернуты на 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;