基本的に、どのカメラを使用して撮影したかに応じて、ビデオを回転させたいと思います。
前面カメラは 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;