Add support for Yada RoadCam Pro 4K (BT58189)

Started by Relik, January 04, 2024, 08:03:54 PM

Previous topic - Next topic

Relik

I recently got this dash cam for $20, primarily because it saves GPS data.  While it is accurately recording the GPS location & speed on the video, I can't seem to extract the metadata from the SD card files.

Among other things, I tried:

exiftool -n -p "$gpsdatetime,$gpslatitude,$gpslongitude" -ee  20231228_171025M.MOVWarning: Truncated 'GPSI' data - 20231228_171025M.MOV
Warning: [Minor] Tag 'gpsdatetime' not defined - 20231228_171025M.MOV

The GPS track does play in the Yada app while playing back a recorded file from the dashcam on WiFi, so it should be in the file, somewhere.

I uploaded this raw 49 second test file to Pixeldrain.  The camera was covered and this is far from my location, so I'm not worried about any privacy aspects of posting this.

https://pixeldrain.com/u/kxfRfxvt

exiftool version : 12.71 on Windows 10. 

Phil Harvey

#1
I can extract this information but I have some questions:

The recorded speeds are in mph -- is this configurable in the device?  And if so, it would be useful to have a sample recorded in km/h for comparison to see how the units are handled.

Also, there are 2 sets of date/time values in the timed metadata of this file, and they differ by 5 hours.  Here are the first of these values:

1. 2023:12:10 23:10:22
2. 2023:12:10 17:10:26

Which one is the GPS UTC time?  I'm guessing the 17:10:26, but then what is the other time for?  The timestamp on the video overlay of the first frame is 17:10:24.

The static timestamps in this file are 2023:12:28 09:10:25, which I am assuming is your local time.  But your time zone should be -06:00 (I believe), which would be 2023:12:28 15:10:25 UTC.  So I am confused.  Did you have the time zone set correctly on the dashcam?  What was the actual time when the video was recorded?

- 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 ($).

Relik

#2
Quote from: Phil Harvey on January 05, 2024, 08:46:47 AMI can extract this information but I have some questions:

The recorded speeds are in mph -- is this configurable in the device?  And if so, it would be useful to have a sample recorded in km/h for comparison to see how the units are handled.

Also, there are 2 sets of date/time values in the timed metadata of this file, and they differ by 5 hours.  Here are the first of these values:

1. 2023:12:10 23:10:22
2. 2023:12:10 17:10:26

Which one is the GPS UTC time?  I'm guessing the 17:10:26, but then what is the other time for?  The timestamp on the video overlay of the first frame is 17:10:24.

How strange.  The time in the video is my local time, UTC-6.  There is no time zone setting in the dash cam, it only lets me set the time/date.  Annoyingly, if unplugged for a long time it resets to Jan 1 2021 and even when it gets GPS signal it won't gps-sync the time even though GPS time would be far better than anything I could enter. 

This could be causing the discrepancy in that the timestamp in the metadata would likely be from the GPS whereas the time shown in the video is the time I set..  They are close (in minutes/seconds) but would not be exact - and I assume would differ by the time zone.

I believe this is why you see 2 sets of times in the timed metadata.  The 23:10:22 one is GPS time, the other is dashcam (user-entered) time.  I would want the local time (#2) semi-ignored since it isn't GPS accurate.  That's what I would use for data analysis, but then I'm thinking the local time can't be completely ignored because it would be helpful to locate a certain part of the video.

As for the MPH and km/h setting.  I believe there is a setting on the dashcam.  I can change it and record another small video for you to check.

If you want to compare a speed in the video with a particular metadata sample, then it seems you would need to compare it to the metadata with the time shown in the video (time #2 as you say above - not the minutes/seconds of time #1, GPS time).  (I hope that makes sense)

Quote from: Phil Harvey on January 05, 2024, 08:46:47 AMThe static timestamps in this file are 2023:12:28 09:10:25, which I am assuming is your local time.  But your time zone should be -06:00 (I believe), which would be 2023:12:28 15:10:25 UTC.  So I am confused.  Did you have the time zone set correctly on the dashcam?  What was the actual time when the video was recorded?

- Phil

I think of "static timestamp" as something like the file creation date, but that "09:10:25" time makes no sense to me.  It was filmed at 17:10 local and would have been 23:10 UTC.


Phil Harvey

OK, great.  That helps a lot.  I'll extract both times, with the 23:10 as the UTC GPS time.

Yes, I can compare the speed in the video overlay to the metadata to figure out what is happening.  I'm worried that the metadata will change to km/h without any way to determine the units when you change the dashcam settings, but hopefully I can find a way to identify the units used.

- 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 ($).

Relik

Thanks so much for the work.  I don't get out every day, but the next time I go out I will record a sample in km/h and upload it for you. 

Relik

Phil,

Here's the other sample I promised with km/h set.  https://pixeldrain.com/u/qdVQNRnc

After you are satisfied with the changes, I'd be happy to test a Windows binary build with my files.  Alternatively, let me know if you will just release the support in your next scheduled release.


Phil Harvey

Great, thanks.

Actually, the stored value was in knots, not mph as I thought.  And it stays as knots when you change the display to km/h.  This sample was very helpful in figuring this out.  (I probably could have figured this out if I compared the numbers carefully, but the factor of 1.15 didn't jump out at me when doing a casual comparison.)

But now I have closely compared time/speed on the video overlay to that reported by ExifTool (I'm extracting the local time as DateTimeOriginal), and they match exactly with the exception that for some reason the time on the overlay is 1 second later than the GPS record with the matching speed.

I plan to release 12.73 this week with this support included.

- 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 ($).

Relik

Sounds great, I'll await the release.  I hate to ask one more question, but I just thought of it as I was searching for GPS data visualization online.  Does it happen to also store the altitude even though it's not shown?  If it doesn't, is it common for dash cameras to store the altitude or is it rare?  Thanks!  I've used several dash cams, but this is my first with GPS.

Phil Harvey

Altitude is commonly stored by other dashcams, but unfortunately not by yours.

- 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 ($).