Add support for MyNextbase Player app .MOV exports

Started by Aerandir14, February 28, 2024, 04:20:32 PM

Previous topic - Next topic

Aerandir14

Hi,

I'm trying to get the GPS datas embedded in the .MOV files exporter by the Nextbase desktop software.
ExifTool does work with the .MP4 files created by the dashcam, but as soon as I edit them with the MyNextBase Player software, it exports as a .MOV and ExifTool is not able to read the GPS data anymore.
At first, I thought that the NextBase software was removing the location datas when exporting the edited video, so I transfered the .MOV file to another computer with the NextBase software and open it there, and it still shows the GPS and accelerometer datas.

Would it be possible to add support for the .MOV file as well?

Here are the required informations:
- System Type : Windows 10
- ExifTool version : 12.77
- The specific command line I'm trying to run :
'.\exiftool(-k).exe' -ee .\Nextbase_Video_Edit.002.MOV
ExifTool Version Number         : 12.77
File Name                       : Nextbase_Video_Edit.002.MOV
Directory                       : .
File Size                       : 773 MB
File Modification Date/Time     : 2024:02:28 21:09:33+01:00
File Access Date/Time           : 2024:02:28 22:15:03+01:00
File Creation Date/Time         : 2024:02:28 21:01:17+01:00
File Permissions                : -rw-rw-rw-
File Type                       : MOV
File Type Extension             : mov
MIME Type                       : video/quicktime
Major Brand                     : Apple QuickTime (.MOV/QT)
Minor Version                   : 0.2.0
Compatible Brands               : qt
Media Data Size                 : 772212848
Media Data Offset               : 36
Movie Header Version            : 0
Create Date                     : 0000:00:00 00:00:00
Modify Date                     : 0000:00:00 00:00:00
Time Scale                      : 1000
Duration                        : 0:02:07
Preferred Rate                  : 1
Preferred Volume                : 100.00%
Matrix Structure                : 1 0 0 0 1 0 0 0 1
Preview Time                    : 0 s
Preview Duration                : 0 s
Poster Time                     : 0 s
Selection Time                  : 0 s
Selection Duration              : 0 s
Current Time                    : 0 s
Next Track ID                   : 3
Track Header Version            : 0
Track Create Date               : 0000:00:00 00:00:00
Track Modify Date               : 0000:00:00 00:00:00
Track ID                        : 1
Track Duration                  : 0:02:07
Track Layer                     : 0
Track Volume                    : 0.00%
Matrix Structure                : 1 0 0 0 1 0 0 0 1
Image Width                     : 3840
Image Height                    : 2160
Media Header Version            : 0
Media Create Date               : 0000:00:00 00:00:00
Media Modify Date               : 0000:00:00 00:00:00
Media Time Scale                : 12800
Media Duration                  : 0:02:07
Handler Class                   : Media Handler
Handler Type                    : Video Track
Handler Description             : VideoHandler
Graphics Mode                   : srcCopy
Op Color                        : 0 0 0
Handler Class                   : Data Handler
Handler Type                    : URL
Handler Description             : DataHandler
Compressor ID                   : avc1
Vendor ID                       : FFmpeg
Source Image Width              : 3840
Source Image Height             : 2160
X Resolution                    : 72
Y Resolution                    : 72
Compressor Name                 : Lavc57.64.101 libx264
Bit Depth                       : 24
Pixel Aspect Ratio              : 1:1
Video Frame Rate                : 25
Track Header Version            : 0
Track Create Date               : 0000:00:00 00:00:00
Track Modify Date               : 0000:00:00 00:00:00
Track ID                        : 2
Track Duration                  : 0:02:07
Track Layer                     : 0
Track Volume                    : 100.00%
Matrix Structure                : 1 0 0 0 1 0 0 0 1
Media Header Version            : 0
Media Create Date               : 0000:00:00 00:00:00
Media Modify Date               : 0000:00:00 00:00:00
Media Time Scale                : 16000
Media Duration                  : 0:02:07
Handler Class                   : Media Handler
Handler Type                    : Audio Track
Handler Description             : SoundHandler
Balance                         : 0
Handler Class                   : Data Handler
Handler Type                    : URL
Handler Description             : DataHandler
Audio Format                    : mp4a
Audio Channels                  : 2
Audio Bits Per Sample           : 16
Audio Sample Rate               : 16000
Purchase File Format            : mp4a
Layout Flags                    : Stereo
Audio Channels                  : 2
Software Version                : Lavf57.56.101
Image Size                      : 3840x2160
Megapixels                      : 8.3
Avg Bitrate                     : 48.6 Mbps
Rotation                        : 0
-- press ENTER --

Thank you so much for your awesome work!

StarGeek

* Did you read FAQ #3 and use the command listed there?
* Please use the Code button for exiftool code/output.
 
* Please include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).

Aerandir14

#2
Here it is : Edit: redacted for privacy

The Nextbase software also allows removing the GPS and accelerometer datas, it might be helpful to identify the data's location and format. You can find it here: Edit: redacted for privacy

You can find the original .MP4 file here: Edit: redacted for privacy

Phil Harvey

Thanks.  This is a new format I haven't seen before.  I should be able to add support for this in ExifTool 12.78.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Phil Harvey

I got this working.  Note that the timestamps written in the edited file contain the incorrect subseconds (all zeros), even though there are 10 GPS positions stored per second.  Also, the times are out by 1 hour, the speed is a bit different, and not all information is stored.  Here is a comparison.

The first fix from the original file:

[Doc1]          Sample Time                     : 0 s
[Doc1]          Sample Duration                 : 0.10 s
[Doc1]          GPS Altitude                    : 27.5 m
[Doc1]          GPS Dilution Of Precision       : 1.15
[Doc1]          GPS Date/Time                   : 2024:02:28 16:50:29.900Z
[Doc1]          GPS Latitude                    : 48.890490 N
[Doc1]          GPS Longitude                   : 2.163975 E
[Doc1]          GPS Satellites                  : 07
[Doc1]          GPS Speed                       : 30.8543
[Doc1]          GPS Track                       : 237.04

and the first fix from the edited file:

[Doc1]          GPS Date/Time                   : 2024:02:28 15:50:29.000Z
[Doc1]          GPS Latitude                    : 48.890490 N
[Doc1]          GPS Longitude                   : 2.163975 E
[Doc1]          GPS Speed                       : 35.5065
[Doc1]          GPS Track                       : 237.04
[Doc1]          Accelerometer                   : -0.01025390625 -1.095703125 0.23876953125

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Aerandir14

Hello Phil,
Thank you very much for your reactivity.
It's better than nothing but I will try to contact Nextbase for them to fix their export.
It might work for my use case, though.

Thanks

Phil Harvey

I figured out the speed difference.  They've converted from knots to mph in the edited video.  I'll handle this.  I've also found some interesting information in the original video that 12.78 will extract:

Model                           : 622GW
Firmware                        : R11.1
Serial Number                   : 225002100
FCC-ID                          : 2AOT9-NBDVR622GW
Battery Status                  : Charging
SD Card Manf ID                 : 3
SD Card OEMID                   : 5344
SD Card Model No                : SN256
SD Card Serial No               : d3f4441b
SD Card Manf Date               : 10 - 2023
SD Card Type                    : SDXC
SD Card Used Space              : 140.3GB
SD Card Class                   : 10
SD Card Size                    : 238.2GB
SD Card Format                  : exFAT
Wi-Fi SSID                      : NEXTBASE_622GW_148
Wi-Fi Password                  : xxxxxxxx
Wi-Fi MAC Address               : B8:2D:28:15:F1:48
Bluetooth Name                  : NEXTBASE 622GW 149
Bluetooth MAC Address           : B8:2D:28:15:F1:49
Resolution                      : 4K 30FPS
Exposure                        : 0
Video Length                    : 2 Min
Audio                           : On
Time Stamp                      : On
Speed Stamp                     : On
GPS Stamp                       : On
Model Stamp                     : On
Dual Files                      : Off
Time Lapse                      : Off
Number License Plate            : FP-433-KC
G Sensor                        : Medium
Image Stabilisation             : Off
Extreme Weather Mode            : Off
Screen Saver                    : On
Alerts                          : On
Recording History               : Max
Parking Mode                    : Off
Language                        : French
Country                         : EUR - France
Time Zone DST                   : +1
Time Date                       : 17:46:27, 28/02/2024, DD/MM/YYYY
Speed Units                     : KMH
Device Sounds                   : On
Screen Dimming                  : On
Auto Power Off                  : Off
Keep User Settings              : On
System Info                     : n/a
Format SD Card                  : n/a
Default Settings                : n/a
Emergency SOS                   : Off
Reversing Camera                : On
What 3words                     : Off
My Nextbase-Pairing             : No Device
My Nextbase-Paired Device Name  : No Device
Alexa                           : On
Alexa-Pairing                   : No Device
Alexa-Paired Device Name        : No Device
Alexa-Privacy Mode              : Off
Alexa-Wake Word Language        : French
Firmware Version                : R11.1
RTOS                            : 38c09bd2
Linux                           : 5d771310
NBCD                            : 04.1
Alexa                           : 01.7
Tag 2nd Cam                     : Wide

Note that they store the Wi-Fi password in there too!  (I've X'd it out in the output above.)

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

StarGeek

Quote from: Phil Harvey on February 29, 2024, 09:28:45 AMWi-Fi SSID                      : NEXTBASE_622GW_148
Wi-Fi Password                  : xxxxxxxx
Wi-Fi MAC Address               : B8:2D:28:15:F1:48
Bluetooth Name                  : NEXTBASE 622GW 149
Bluetooth MAC Address           : B8:2D:28:15:F1:49

I've removed the links to the original videos.

Will these tags be editable so they can be removed for privacy?

Edit: Were these values in the MOV file, the MP4, or both?

I think I've going to post this over on Reddit's /r/dashcam subreddit.  I think they might be interested about this.
* Did you read FAQ #3 and use the command listed there?
* Please use the Code button for exiftool code/output.
 
* Please include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).

Phil Harvey

Quote from: StarGeek on February 29, 2024, 11:13:39 AMWill these tags be editable so they can be removed for privacy?

Good point.  I'll add the ability to delete these in 12.78 by deleting the "Nextbase" group.

QuoteEdit: Were these values in the MOV file, the MP4, or both?

This metadata was only in the original MP4 video.  I have another sample from a 662GW and I can see now that it also has the password.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Aerandir14

#9
Hi!
That's awesome, thank you.
I found out something weird just now with some MP4.
When the recording file starts without GPS (for example, in a tunnel), exiftool won't display any GPS data for the whole file, even if there is a GPS fix at some point in the file (checked with MyNextbase Player) :
'.\exiftool(-k).exe' -ee .\240229_084338_177_FH.MP4
See out_177.txt
However, if the file starts with a GPS fix but lose the GPS signal, it does work as expected : the GPS datas show up until the GPS signal is lost:
'.\exiftool(-k).exe' -ee .\240229_085536_183_FH.MP4
See out_183.txt
Is this an expected behavior?
Please tell me if you want me to create another topic for this issue :)

Phil Harvey

Could you email me or send me a private messaage with a link to 240229_084338_177_FH.MP4 so I can take a look?  My email is philharvey66 at gmail.com

I should be able to fix this.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Phil Harvey

I got the file, thanks.  I'll fix this as well in 12.78.  Earlier versions gave up trying to extract GPS if there were no valid fixes in the first 100 'text' blocks.  I'll change this to skip over any number of void fixes.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Phil Harvey

Note that I have discovered another block of GPS data in the original Nextbase MP4 files that ExifTool 12.78 will also decode.  This GPS is a duplicate of the currently extracted Track2 GPS but at 1 second intervals instead of 0.1 sec.  I don't know why they duplicate the data like this.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).