javamp4parser

mp4parser getting GPS location


Dear All,
I am working on new project in which I need to access GPS location from MP4 video. Here is the code I tried, but getting Null Pointer Exception.

File videoFile = new File(videoFilePath);
if (!videoFile.exists()) {
    throw new FileNotFoundException("File " + videoFilePath + " not exists");
}
if (!videoFile.canRead()) {
    throw new IllegalStateException("No read permissions to file " + videoFilePath);
}
IsoFile isoFile = new IsoFile(videoFilePath);
AppleNameBox nam = Path.getPath(isoFile, "/moov[0]/udta[0]/meta[0]/ilst/©xyz");
String xml = nam.getValue();

Thanks,
Om


Solution

  • This code worked for me. It gives NPE, when no location tags are available.

    private String readVideoLocation(String fullFilePath) throws Exception {
        File videoFile = new File(fullFilePath);
        if (!videoFile.exists()) {
            throw new FileNotFoundException("File " + fullFilePath + " not exists");
        }
    
        if (!videoFile.canRead()) {
            throw new IllegalStateException("No read permissions to file " + fullFilePath);
        }
    
        FileDataSourceImpl fileDataSource = new FileDataSourceImpl(fullFilePath); 
        IsoFile isoFile = new IsoFile(fileDataSource);
    
        AppleGPSCoordinatesBox locBox = Path.getPath(isoFile, "/moov[0]/udta[0]/meta[0]/ilst/©xyz");
        String xml = locBox.getValue();
        isoFile.close();
        return xml;
    }