0

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

Opv
  • 440
  • 1
  • 3
  • 17

1 Answers1

1

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;
}
Opv
  • 440
  • 1
  • 3
  • 17