It appears that not only my quick hack of a script is popular but also that the dashcam manufacturers keep changing things.
In this case the biggest change (beyond utterly stupid data obfuscation) is the switch to the TS format.
In retrospect TS format is an obvious choice for something like dashcam as it is very resilient to crashes (no pun intended).
TS format unlike the MP4/MOV format is very simple, it is pretty much made up of fixed 188 byte segments which have ASCII ‘G’ as a header. The actual payload lives in last 184 bytes while the first 4 bytes are reserved for header (of course this is all simplified).
The biggest difficulty of adding TS functionality is that Blueskysea B4K camera was engineered by sadists and they split the payload into two packets (arbitrary cutting off at the seconds 4 bytes). If you are the person at the BlueSkysea who made this obfuscation – fuck you.
In anyway this update is massive rewrite.
Just to make it easy here is the script: nvtk_mp42gpx.py
Great work, thank you!
Hi,
I tried export the gps data from mp4 (dashcam Azdome M10) by nvtk_mp42gpx.py and I got a message –
https://prnt.sc/1r4kwnu
I’m wonder because when I’m trying get coordinates by https://gist.github.com/hiskang/d12c70722a5aeca0280d1f0e28b0ac44
it’s works fine.
There is a written that it is JavaScript implementation of Sergei’s nvtk_mp42gpx.py + Google Maps.
Am I doing something wrong? Or what I can do?
Hey,
I have fixed the script. The Azdome “support” fell through the cracks after numerous updates to the script.
I have made it python2/3 agnostic as well (the thing showed its age as the Azdome bit of code was python2 specific).
It is good to see someone using the thing ;).
Regards.
Sergei.