我试着获取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();
}
}发布于 2014-09-19 02:54:21
您需要从Movie中获取IsoFile对象,或者用MovieCreator.build()读取它,然后使用movie.getMatrix()获取矩阵的类型:Matrix.ROTATE_O、Matrix.ROTATE_90、Matrix.ROTATE_180、Matrix.ROTATE_270。
String filePath = "/path/to/movie/file.mp4"
Movie movie = MovieCreator.build(new FileInputStream(new File(filePath)).getChannel());
Matrix matrix = movie.getMatrix();https://stackoverflow.com/questions/25925153
复制相似问题