Небольшое обновление плеера GPS треков и видео — ActionCam — GPS Video Player.
- По нажатию F2 сохраняется текущий кадр из видео-плеера в файл с маской filename-hhh-MM-ss-fff.jpg (где hhh-MM-ss-fff — время смещения кадра относительно начала видео), в EXIF информацию кадра добавляется информация о времени и GPS координаты; долгота и широта. Воспроизведение видео в этот момент останавливается. Кадр сохраняется в каталог, с текущим видео-файлом, показываемым в плеере.
Загрузить ActionCam — GPS Video Player
12 комментариев : “GPS Video Player, сохраняем EXIF”
Большое спасибо, работает отлично!
Для OpenStreetMap вполне подходит: например, так: http://uploadpic.org/v.php?img=1ItdwbCBy (картинки сохранены по F2),
дистанционное управление тоже работает без глюков (разве что лишнюю страничку открывает в фоне, но это мелочь).
Теперь дело за сообществом — всё-таки картографирование по видео пока экзотика 🙂
Отлично 🙂 Будут интересные предложения — пишите.
А мини-бравзер, он специально не активируется при каждом нажатии, т.е. можно контролировать ответ сервера в фоне, но и не мешается.
Позже возможно добавлю к настройкам команд чек-бокс «не показывать ответ сервера», тогда они будут вызываться через HttpWebRequest, без контроля результата.
Ответ сервера почти не напрягает, не срочно))
Люди на форуме жалуются, что не синхронизируется никак, а у меня самого пока проверять особо не на чем 🙂
И, говорят, по точке трека на карте попасть тяжело бывает (если точки редкие). Может, если мы не по точке трека кликнули, искать ближайший отрезок? (точку клика проецировать на все отрезки трека и искать ближайший, с учётом попадания проекции на отрезок)
Еще заметил вот что: если увеличивать TrackTimeOffset, время на кадрах пересчитывается, а если уменьшать — нет:)
Ещё хочу попросить добавить кнопку для синхронизации со смыслом «вот ЭТА точка трека соответствует текущему кадру видео» (изменять TrackTimeOffset). Типа среднего щелчка по GMAP или ещё как-нибудь.
Но самое главное, конечно, возможность открыть произвольный GPX и синхронизировать с видео. К сожалению, часто GPX один гигантский, а видеофайлов много или наоборот… Кроме смещения в секундах нужно хотя бы сопоставление одной точки на треке и видео (кадр-время с начала трека, кадр-координаты или кадр-время и датаь, с возможностью ввода и кнопки «этот кадр здесь»)
Кстати, используется ли дата видеофайла? Она может дать неплохое начальное приближение…
Да, произвольный GPX добавлю в первую очередь [1].
Дата видео-файла не используется.
А вот привязка по точке, наверное на самом деле решит почти все проблемы. Т.е. отматываем видео на нужное место и говорим «эта точка = текущему положению видео». Даже без других способов, это будет точная привязка сразу и по дате и по времени до доли секунд [реализовано].
А потом будет видно, надо ли после этого ещё другие, альтернативные способы привязки.
Ещё придётся сделать перемотку видео с точностью до кадра, иначе точно не подогнать видео-кадр под точку трека [3].
Одно видео — много треков, это на потом, в задумках назвать этот режим GPS-Race 🙂 , это для показа треков со спортивных соревнований. Например велосипедная гонка, камера может быть одна, а треков много. Но один трек всё равно будет основной для привязки, остальные просто будут отображаться.
А вот один трек — много видео, над этим обязательно подумаю. Как я понял это основной режим для видео-регистраторов и видео для OSM. Пока видится 3 возможности: 1) реализовать автоматический подхват видео-файла, если он по маске совпадает с текущим и 2) при ручной загрузке видео оставлять текущий трек в плеере (если у нового видео нет файла конфигурации и нет трека точно совпадающего с его именем). Это даст возможность привязать последовательно к одному треку много видео без лишних движений. Дальше они будут открываться автоматически, т.к. для них уже будет свой файл конфигурации. 3) и наконец инструмент «вырезать трек», вырезающий с запасом кусок трека для видео (уже привязанного) для устранения избыточности и легкого распространения видео с треком.
По поводу слов akks:
>Люди на форуме жалуются, что не синхронизируется никак, а у меня самого пока проверять особо не на чем
>И, говорят, по точке трека на карте попасть тяжело бывает (если точки редкие). Может, если мы не по точке трека кликнули, искать ближайший отрезок? (точку клика проецировать на все отрезки трека и искать ближайший, с учётом попадания проекции на отрезок)
Это мои жалобы, попробовал еще разок синхронизировать трек с видео, дабы разобраться в недочетах, поясняю:
Как и писал akks, уменьшение TrackTimeOffset не дает никаких результатов. У меня разница между началом трека и видео около 2-х минут (на КПК отдельно запускается GPS logger и съемка видео, так и планирую использовать ваш продукт). Т.е. TrackTimeOffset должен быть около -120. Посему и не получилось синхронизировать.
А жалобу по поводу отсутвия реакции на нажатия по точкам трека снимаю, просто в результате экспериментов с TrackTimeOffset он ушел за границы видео, вот видео и не прокручивалось.
В общем, продукт очень понравился, хорошая задумка. Но вот баг с уменьшением оффсета пока не дает возможности им пользоваться, ибо из-за специфики записи у меня всегда будет оффсет отрицательным и довольно большим. С нетерпением жду исправленных версий.
Теперь понятно,
спасибо за отзыв,
ошибку невозможности задания отрицательного TrackTimeOffset исправлю в первую очередь, одновременно с уж обещанной новой функцией упрощенной привязки «Привязать видео к этой точке».
а куда сохранятся кадр при нажатии F2?
>а куда сохранятся кадр при нажатии F2?
Кадр должен сохраняться в тот каталог, где лежит исходный видео-файл. Имя файла будет примерно таким: «4Hz_sample 000-00-09-131.jpg» где последние цифры — время кадра (в этом примере 9.131 сек)
К сожалению, после тестирования, заметил, что сохранение идет не всегда, для видео с редкими ключевыми кадрами, иногда кадр не сохраняется (плеер не успевает позиционироваться на нужный кадр).
Запишу это в список ошибок для исправления.
ага, нашел… и кадр точно не всегда сохраняется. А где и в каком виде отображаются записанные координаты на этом сохраненном кадре?
Координаты записываются в блок EXIF информации, т.е. туда же, куда цифровые фотоаппараты пишут диафрагму, выдержку и т.д. На скриншоте сверху видно, как эту информацию можно посмотреть стандартными средствами Windows (свойства файла).
Но разумеется координаты в EXIF блоке в первую очередь предназначены для автоматической привязки снимка в тех программах, которые умеют работать с этой информацией.
Для примера, это такие программы как GeoSetter (гео-привязка снимков, генерирует KML с фотографиями), публикация снимков с автоматической гео-привязкой на flicker.com, panoramio.com и т.д. Или здесь: https://gis4all.org/action-cam/gps-video-player-openstreetmap/ пример использования этих кадров в редакторе OpenStreetMap.