Автомобильный видеорегистратор для записи GPS-треков

Jul 28, 2017 14:08

Перед отпуском приобрёл видеорегистратор Mystery MDR-970HDG - помимо записи в видеофайл того, что находится перед его объективом, он может определять своё положение по GPS-спутникам. В инструкции описано, как смотреть получившиеся файлы специальным видеоплеером (под Windows, разумеется), который должен показывать помимо картинки и место, где она была снята, но это - не наш метод. Нам нужен трек!

Расковыривание собранных данных показало:

1. В качестве контейнера для видеороликов используется QuickTime - каталог DCIM/100MEDIA заполнен файлами FILE№№№№.MOV, кодек для видео - H.264. Для преобразования в MP4 можно применять FFMPEG:

ffmpeg -i FILE0123.MOV -f mp4 -vcodec copy -acodec copy 0123.mp4
2. Геоданные хранятся в текстовом виде - нет нужды ковырять видеофайлы в надежде извлечь координаты оттуда. С одной стороны, на карте памяти есть каталог GPSLog, в который сваливаются файлы с именами вида YYYYmmdd_HHMMSS.log, каждый их которых - текстовый, по строке на точку, поля разделены символами табуляции:

2017-07-27 19:07:46 N56.254678 E59.273161 313.4 38.72 345
Можно легко догадаться, что за поля здесь представлены - это время, широта, долгота, высота над уровнем моря в местах, скорость в километрах в час и курс в градусах. Так как регистратор смотрит вперёд, то курс можно считать совпадающим с направлением взгляда - этот параметр как только не называют: то Heading, то Bearing, то ImgDirection.

Есть и другое место - в DCIM/INFO для каждого видеофрагмента можно найти соответствующий файл FILE№№№№.dat, также являющийся текстовым с полями, разделёнными символом табуляции. Там тоже можно найти координаты:

[S] 0 0 0
[S] 0 0 0
[S] 0 0 0
[S] 0 0 0
[S] 0 0 0
[S] 0 0 0
[S] 0 0 0
[S] 0 0 0
[S] 0 0 0
[G] 2017-07-20 18:41:10 N56.740461 E60.735576 38 222
Похоже, строки, начинающиеся с [S], отписывают кадры, а те, в первом поле которых стоит [G] - геоданные. В таких файлах нет данных о высоте, да и скорость округлена до целого.

3. Эксперименты по скармливанию файлов GPSLog/*.log ГПСБабелю ничего не дали: среди различных текстовых форматов, которые знает GPSBabel, не нашлось подходящего. Пришлось по-быстрому написать свой конвертер и выложить на GitHub, чтоб не забыть довести до ума - там надо бы с часовыми поясами разобраться.

4. Трек за городом пишется весьма точно - куда лучше, чем телефоном. Например, на этой картинке (здесь трек наложен на карту OpenStreetMap) видно, и что трек идёт по дорогам, и что часть пути прошла по встречной проезжей части (своя закрыта на ремонт)



А вот в городе всё не так хорошо - треки иногда на сотни метров сдвинуты во дворы



Вывод: видеорегистратор Mystery MDR-970HDG вполне можно использовать в качестве GPS-логгера, но треки, добытые в условиях плотной городской застройки, надо фильтровать.

http://shoorick.ru/2017/07/28/dvr-as-gps-logger/

github, Челябинск, видео, perl, gps, osm, программизм, screenshot, Екатеринбург

Previous post Next post
Up