旋转标签mp4parser android



我正在尝试获取MP4视频中的旋转信息,我正在尝试使用mp4parser,但我不确定如何获取,我正在这样做,

IsoFile isoFile = null;
try {
    isoFile = new IsoFile(filePath);
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
List<Box> boxes = isoFile.getBoxes();
for (Box box : boxes) {
    System.out.println(box);
}

输出就是这个

I/System.out(23548): FileTypeBox[majorBrand=isom;minorVersion=0;compatibleBrand=isom;compatibleBrand=3gp4]
I/System.out(23548): MovieBox[]
I/System.out(23548): com.coremedia.iso.boxes.FreeBox@0
I/System.out(23548): MediaDataBox{size=7913167}

知道如何获得旋转标记值吗?

更新1工作代码

import java.io.File;
import java.io.FileInputStream;
import android.app.Activity;
import android.os.Bundle;
import com.coremedia.iso.IsoFile;
import com.coremedia.iso.IsoTypeReader;
import com.coremedia.iso.boxes.Box;
import com.coremedia.iso.boxes.MovieBox;
import com.coremedia.iso.boxes.UserDataBox;
import com.googlecode.mp4parser.authoring.Movie;
import com.googlecode.mp4parser.authoring.container.mp4.MovieCreator;
import com.googlecode.mp4parser.util.Matrix;
public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        String filePath = "/storage/emulated/0/test/test.mp4";
        Activity activity = (Activity) MainActivity.this;
        movie = MovieCreator.build(filePath);
        Matrix matrix = movie.getMatrix();
    }

}

您需要从IsoFile中获取Movie对象或用MovieCreator.build()读取它,然后用movie.getMatrix()获得矩阵类型:Matrix.ROTATE_OMatrix.ROTATE_90Matrix.ROTATE_180Matrix.ROTATE_270

String filePath = "/path/to/movie/file.mp4"
Movie movie = MovieCreator.build(new FileInputStream(new File(filePath)).getChannel());
Matrix matrix = movie.getMatrix();

最新更新