I want to be specific as to what I am asking. I am not asking to modified any MP4 files, just extract metadata such as Width and Height and bitrate and encoding and this is
At present (2015), Android SDK provides MediaMetadataRetriever class for extracting metadata:
MediaMetadataRetriever m = new MediaMetadataRetriever();
m.setDataSource(mInputFile);
String extractedHeight = m.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT);
String extractedWidth = m.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH);
I actually found what I was looking for using Mp4Parser
here is a simple lines of code to get what I wanted using Mp4Parser
FileChannel fc = new FileInputStream("content/Video_720p_Madagascar-3.mp4").getChannel();
IsoFile isoFile = new IsoFile(fc);
MovieBox moov = isoFile.getMovieBox();
for(Box b : moov.getBoxes()) {
System.out.println(b);
}
b contains all the info I needed, now I just have to parse b to get exactly what I want.