GPS Video Player, сохраняем EXIF

Опубликовано Авг 25, 2011 в ActionCam | 12 комментариев

Небольшое обновление плеера GPS треков и видео — ActionCam — GPS Video Player.

  • По нажатию F2 сохраняется текущий кадр из видео-плеера в файл с маской filename-hhh-MM-ss-fff.jpg (где hhh-MM-ss-fff — время смещения кадра относительно начала видео), в EXIF информацию кадра добавляется информация о времени и GPS координаты; долгота и широта. Воспроизведение видео в этот момент останавливается. Кадр сохраняется в каталог, с текущим видео-файлом, показываемым в плеере.

Загрузить ActionCam — GPS Video Player

Программа ActiveCam совмещает видео и GPS треки для одновременного просмотра

12 комментариев : “GPS Video Player, сохраняем EXIF”

  1. Большое спасибо, работает отлично!
    Для OpenStreetMap вполне подходит: например, так: http://uploadpic.org/v.php?img=1ItdwbCBy (картинки сохранены по F2),
    дистанционное управление тоже работает без глюков (разве что лишнюю страничку открывает в фоне, но это мелочь).

    Теперь дело за сообществом — всё-таки картографирование по видео пока экзотика 🙂

  2. Отлично 🙂 Будут интересные предложения — пишите.

    А мини-бравзер, он специально не активируется при каждом нажатии, т.е. можно контролировать ответ сервера в фоне, но и не мешается.

    Позже возможно добавлю к настройкам команд чек-бокс «не показывать ответ сервера», тогда они будут вызываться через HttpWebRequest, без контроля результата.

  3. Ответ сервера почти не напрягает, не срочно))

    Люди на форуме жалуются, что не синхронизируется никак, а у меня самого пока проверять особо не на чем 🙂

    И, говорят, по точке трека на карте попасть тяжело бывает (если точки редкие). Может, если мы не по точке трека кликнули, искать ближайший отрезок? (точку клика проецировать на все отрезки трека и искать ближайший, с учётом попадания проекции на отрезок)

    Еще заметил вот что: если увеличивать TrackTimeOffset, время на кадрах пересчитывается, а если уменьшать — нет:)

    Ещё хочу попросить добавить кнопку для синхронизации со смыслом «вот ЭТА точка трека соответствует текущему кадру видео» (изменять TrackTimeOffset). Типа среднего щелчка по GMAP или ещё как-нибудь.

  4. Но самое главное, конечно, возможность открыть произвольный GPX и синхронизировать с видео. К сожалению, часто GPX один гигантский, а видеофайлов много или наоборот… Кроме смещения в секундах нужно хотя бы сопоставление одной точки на треке и видео (кадр-время с начала трека, кадр-координаты или кадр-время и датаь, с возможностью ввода и кнопки «этот кадр здесь»)

    Кстати, используется ли дата видеофайла? Она может дать неплохое начальное приближение…

  5. Да, произвольный GPX добавлю в первую очередь [1].

    Дата видео-файла не используется.

    А вот привязка по точке, наверное на самом деле решит почти все проблемы. Т.е. отматываем видео на нужное место и говорим «эта точка = текущему положению видео». Даже без других способов, это будет точная привязка сразу и по дате и по времени до доли секунд [реализовано].

    А потом будет видно, надо ли после этого ещё другие, альтернативные способы привязки.

    Ещё придётся сделать перемотку видео с точностью до кадра, иначе точно не подогнать видео-кадр под точку трека [3].

    Одно видео — много треков, это на потом, в задумках назвать этот режим GPS-Race 🙂 , это для показа треков со спортивных соревнований. Например велосипедная гонка, камера может быть одна, а треков много. Но один трек всё равно будет основной для привязки, остальные просто будут отображаться.

    А вот один трек — много видео, над этим обязательно подумаю. Как я понял это основной режим для видео-регистраторов и видео для OSM. Пока видится 3 возможности: 1) реализовать автоматический подхват видео-файла, если он по маске совпадает с текущим и 2) при ручной загрузке видео оставлять текущий трек в плеере (если у нового видео нет файла конфигурации и нет трека точно совпадающего с его именем). Это даст возможность привязать последовательно к одному треку много видео без лишних движений. Дальше они будут открываться автоматически, т.к. для них уже будет свой файл конфигурации. 3) и наконец инструмент «вырезать трек», вырезающий с запасом кусок трека для видео (уже привязанного) для устранения избыточности и легкого распространения видео с треком.

  6. Vitalts пишет:

    По поводу слов akks:

    >Люди на форуме жалуются, что не синхронизируется никак, а у меня самого пока проверять особо не на чем

    >И, говорят, по точке трека на карте попасть тяжело бывает (если точки редкие). Может, если мы не по точке трека кликнули, искать ближайший отрезок? (точку клика проецировать на все отрезки трека и искать ближайший, с учётом попадания проекции на отрезок)

    Это мои жалобы, попробовал еще разок синхронизировать трек с видео, дабы разобраться в недочетах, поясняю:

    Как и писал akks, уменьшение TrackTimeOffset не дает никаких результатов. У меня разница между началом трека и видео около 2-х минут (на КПК отдельно запускается GPS logger и съемка видео, так и планирую использовать ваш продукт). Т.е. TrackTimeOffset должен быть около -120. Посему и не получилось синхронизировать.
    А жалобу по поводу отсутвия реакции на нажатия по точкам трека снимаю, просто в результате экспериментов с TrackTimeOffset он ушел за границы видео, вот видео и не прокручивалось.

    В общем, продукт очень понравился, хорошая задумка. Но вот баг с уменьшением оффсета пока не дает возможности им пользоваться, ибо из-за специфики записи у меня всегда будет оффсет отрицательным и довольно большим. С нетерпением жду исправленных версий.

  7. Теперь понятно,

    спасибо за отзыв,

    ошибку невозможности задания отрицательного TrackTimeOffset исправлю в первую очередь, одновременно с уж обещанной новой функцией упрощенной привязки «Привязать видео к этой точке».

  8. Дмитрий пишет:

    а куда сохранятся кадр при нажатии F2?

  9. admin пишет:

    >а куда сохранятся кадр при нажатии F2?

    Кадр должен сохраняться в тот каталог, где лежит исходный видео-файл. Имя файла будет примерно таким: «4Hz_sample 000-00-09-131.jpg» где последние цифры — время кадра (в этом примере 9.131 сек)

    К сожалению, после тестирования, заметил, что сохранение идет не всегда, для видео с редкими ключевыми кадрами, иногда кадр не сохраняется (плеер не успевает позиционироваться на нужный кадр).

    Запишу это в список ошибок для исправления.

  10. Дмитрий пишет:

    ага, нашел… и кадр точно не всегда сохраняется. А где и в каком виде отображаются записанные координаты на этом сохраненном кадре?

  11. admin пишет:

    Координаты записываются в блок EXIF информации, т.е. туда же, куда цифровые фотоаппараты пишут диафрагму, выдержку и т.д. На скриншоте сверху видно, как эту информацию можно посмотреть стандартными средствами Windows (свойства файла).

    Но разумеется координаты в EXIF блоке в первую очередь предназначены для автоматической привязки снимка в тех программах, которые умеют работать с этой информацией.

    Для примера, это такие программы как GeoSetter (гео-привязка снимков, генерирует KML с фотографиями), публикация снимков с автоматической гео-привязкой на flicker.com, panoramio.com и т.д. Или здесь: https://gis4all.org/action-cam/gps-video-player-openstreetmap/ пример использования этих кадров в редакторе OpenStreetMap.

Оставить комментарий