Logo ng OpenStreetMap OpenStreetMap

Automating Viofo A129 Dashcam upload to Mapillary

Ipinaskil ni mvexel noong 15 Disyembre 2022 na nasa English

A few days ago I wrote about extracting GPX location data from the raw videos coming out of my A129 dashcam, and uploading to Mapillary. I was doing this one video at a time. A typical drive yields a lot of short videos, each 1, 5 or 10 minutes long depending on the settings. Some automation would be nice!

Mapper n76 suggested in the comments to my previous post to concatenate the short videos first and then process the resulting single video. I tried this following the instructions on the ffmpeg website, but I could not get exiftool to extract location data from the resulting longer video. So what I did instead was write a simple bash script that just loops over all MP4 files in the directory and does the GPX extraction and Mapillary processing / uploading for each file. Here’s the full script I used, which has the gpx.fmt file you need for exiftool baked in for convenience, but the loop itself is simply:

for f in *.MP4; do
    exiftool -m -p gpx.fmt -ee -ext mp4 -w %f.gpx $f
    mapillary_tools video_process_and_upload $f --geotag_source gpx --geotag_source_path ${f%%.*}.gpx --skip_process_errors
done

I found that I need --skip_process_errors because there’s usually one image extracted from the start or end of each video file that cannot be matched with a timestamp from the GPX file. I don’t care enough about one single image out of an entire sequence to try and figure out why, but I’m sure someone more determined than I could fix it :)

Lokasyon: 9th & 9th, Salt Lake City, Salt Lake County, Utah, 84102, United States
Email icon Bluesky Icon Facebook Icon LinkedIn Icon Mastodon Icon Telegram Icon X Icon

Discussion

Puna mula sa CjMalone noong 18 Disyembre 2022 sa ganap na 10:02

Ahh, you’re tempting me to get a dash can and try it out. But I’d also have to get a car :p

Puna mula sa bob3bob3 noong 8 Enero 2023 sa ganap na 00:09

Loosely related, the BlackVue dashcams NMEA stream is out of sync with the actual video by about 2 seconds. ie it is smart to extract all the streams, concatenate and uniq them, convert to GPX, then use as a single gpx input for each mp4. Perhaps the A29 has the same issue.

Server side Mapillary processing actually only creates 117 of a possible 120-121 images of a 2FPS stream 1 minute stream, since it processes on a file by file basis. I dont do local mp4>jpg processing myself as it results in 2x upload size (cost), so put up with the resultant gaps.

Cheers Bob

Mag-login upang makapag-iwan ng isang pagpuna