I have fixed the script to handle weird atoms (it just skips them now). Let me know if you still have issues.Hey guys, I've just got a GS63H dash-cam which is using the same Novatek96660 chipset and tried to extract the gps data out of some .mp4 files that I captured yesterday ,unfortunately I have one out of 2 things happening while I run the script:
- a .gpx file is generated , but it's empty(it only contains the header)
- I get a parsing error(see above trace for details):
I have to mention I ran the script in Linux subsystem for windows after installing pyhon3 on it and that I am no programmer so I want to know if any of you experienced a similar thing and if you know how can I fix it ?Code:
/usr/bin/python3 nvtk_mp42gpx.py -i sample_1.MP4 -o $GPS_TRACK.GPX Queueing file 'sample_1.MP4' for processing... Processing file 'sample_1.MP4'... Found moov atom... Found gps chunk descriptor atom... Traceback (most recent call last): File "nvtk_mp42gpx.py", line 184, in <module>main() File "nvtk_mp42gpx.py", line 169, in main process_file(f) File "nvtk_mp42gpx.py", line 157, in process_file gps_data.append(get_gps_atom(get_gps_atom_info(f.read(8)),f)) File "nvtk_mp42gpx.py", line 99, in get_gps_atom active=active.decode() UnicodeDecodeError: 'utf-8' codec can't decode byte 0x9b in position 0: invalid start byte
Slightly offtopic I had someone contact me about Soocoo S100 Pro camera that records GPS coordinates in weird format that I cannot correlate to anything real. This particular camera also had same issue (with garbage atom header).
So there is a chance that you can get random coordinates.
If you do so, I am interested in fixing it, but with the sample file from Soocoo S100 Pro provided I could not make the sense of it. They encode coordinates somehow (not arithmetic or degree vs minute thing). I even broke down the floats they store the coordinates in to make sure they behave like floats (and as far as I could see they did).