Нюанси національного відеомаппінгу

Здається, що автор про нього забув. Я теж пробував їм скористатися і отримав схожі стектрейси.

Завів тікет, але їм ніхто не займається поки що.

Я колись трошки його ковиряв. Наступного тижня спробую глянути що там відбувається

То що там з цим плагіном?
В мене він лається “VLC бібліотеки ініціалізовано некоректно. Будь ласка, перевірте, що VLC 2.0.x правильно встановлено у вашій системі. Його архітектура (32/64 біт) повинна бути такою ж, як JRE, на якій працює JOSM.” при спробі імпортувати відеофайл (будь який).

У мене система WinXP 32bit
Я встановив останню версію VLC для Віндовс, знайшов, розпакував та закинув у папку VLC бібліотеку VLCj.
Виявилося, що VLCj (я запускав тестовий плейер, що йде в наборі з бібліотекою) працює тільки якщо знаходиться у папці з VLC, а не будь де на диску.

Може, плагін не може знайти бібліотек

куда и зачем? не надо…

добавить путь VLC в PATH, и пример будет запускаться из любого места
но самому палгину это не надо, он знает где находится VLC

зы: у мну таже ошибка на Вин7 х32

Так, справді. Ця бібліотека VLCj вже сидить у нутрощах плагіна videoMapping

Справді. vlcj-2.4.1-tests.jar тепер запускається з будь-якої папки. Але плагін videoMapping все одно видає ту ж саму помилку :frowning:

Так, мені вдалося запустити його на Ubuntu 13.04
По-перше повідомленя про “VLC бібліотеки ініціалізовано некоректно” буде викинуто при більшості помилок що виникають на єтапі ініціалізації і цей мессадж ні разу не інформативний.
В моєму випадку проблема була в тому, що перед імпортом відео необхідно відкрити GPX файл. Цей додаток знаходить завантажений трек, та намагається синхронізувати відео відносно цього треку.

По-друге:
https://github.com/caprica/vlcj/issues/62
в двох словах суть зводиться до того, що VLC в Ubuntu 13.04 має проблеми з LUA та Java 7. Як обхідний варіант - видалити(перейменувати) файл /usr/lib/vlc/lua/meta/reader/filename.luac
Це призведе до того що перестануть працювати деякі функції VLC, тому будьте обережні. Можна також спробувати встановити Джава 6 (наразі не маю змоги перевірити).

Отже, для користувачів Windows може бути достатньо завантажити трек перед імпортом відео.
Трохи пізніше, якщо будуть зацікавлені, опишу як автор планував використання ціого плагіну, та можна обсудити “забажалки”…

Ну і стабільність зараз вражає… :slight_smile:

Так. Падає він стабільно :slight_smile:
Я запустив ДЖОСМ, завантажив свій трек з gpx-файла, потім відкрив відеофайл. Нажаль, відеофайл не з реальної поїздки, а просто фільм.
Фільм почав відтворюватися, а на лінії треку виникли маленькі кільця. Якщо тицнути мишкою у якесь кільце, поруч видно відмітку часу.
Якщо розтягнути віконце з відео, то видно червону кнопку “Синхронізація”.
А що робити далі? Як сінхронізувати відеофайл з треком?
Я вибрав точку на треку, прокрутив відеофайл, поставив його на паузу, натиснув “Синхронізація”. І ДЖОСМ видав повідомлення про помилку.

Щодо хотілок:

  1. щоб воно працювало та не падало :slight_smile:
  2. щоби можна було вказати точку на треку, прокрутити відео до моменту, коли я був у тій точці, натиснути “Сінхронізація” та отримати синхронізований з треком відеофайл.
  3. щоби під час відтворення відео по треку бігав маркер, що показує місце, де було зроблено конкретний кадр відео
  4. щоби після клацання по точці на треку відеофайл автоматично перестрибував на відповідний момент часу.

Тиждень рефакторінгу та медитацій привів до того, що я переписав цей втулок практично з нуля.

Сирці зараз знаходяться тут:
https://bitbucket.org/PavloT/josm_videomapping

Документація:
https://bitbucket.org/PavloT/josm_videomapping/wiki/Home

Завантажити:
https://bitbucket.org/PavloT/josm_videomapping/wiki/download/videomapping.jar

Розроблялось та тестувалось на Убунту 13.04. Думаю що з лінуксами проблем не повинно бути. Під МС точно не працює, розбираюсь.

Зацікавленим прохання спробувати його запустити та поділитись результатом.

Усі зауваження та побажання сюди або в бітбакет. Втілення багатьох фіч не обіцяю, але якийсь час постараюсь підтримувати. Репозитарій публічний, як хтось має бажання допомогти - завжди радий (код, документація, переклади).

Коли я вважатиму, що код досить стабільниій та працездатний - спробую залити його в ОСМ репозитарій (зараз форк було створено тому що, свого часу, не вдалось домовитись з розробником що до моїх змін. Якщо втулок буде корисним, спробую ще раз, або зареєструю як альтернативний).

Результати: не працює :frowning:
Спочатку вимагає новішу версію ДЖОСМ. А в мене остання стабільна 6115.
Поставив тестову версію 6218. Замінив файл videomapping.jar у папці з плагінами.
Запустив ДЖОСМ. Меню “Відео” немає зовсім :frowning:

Система WinXP sp3 32bit, Java Version 7 Update 25.

На youtube за запитами на кшталт “стан доріг”/“состояние [авто]дорог [Украины]” і з фільтром “довгі” можна знайти десяток відео з реєстраторів у хорошій якості (+ ще більше у пов’язаних відео). Що скажете про їх використання? Можливо деякі автори дадуть згоду (якщо вона потрібна)?

Тут такое же есть
http://dalnoboivideo.ru/

Я так розумію, що до відео потрібен ще й GPX-трек, щоб мати змогу замапити все як треба. Тож крім згоди, повинен ще й трек від авторів відео.

Чи я помиляюсь?

Ну, тут або трек, або “аналітична” прив’язка по орієнтирах :roll_eyes:

Нюанси вітчизняного фотомаппінгу: номер будинку на паркані не відповідає дійсності
http://img94.imageshack.us/img94/2922/hsy8.jpg

Нюанси вітчизняного фотомаппінгу: вивіска на будівлі не відповідає дійсності
http://img826.imageshack.us/img826/2417/f0a6.jpg

В теорії з деякою ручною калібрацією можна приблизно виміряти швидкість за дорожньою розміткою, ні? А якщо ще додати вручну кілька точок за орієнтирами, то вийде GPX не набагато менш точний за оригінал. Принаймні, для ручної обробки. Звісно ж, це не для додавання нових доріг, а лише для розпізнавання придорожніх об’єктів.

Я як це вимірювати швидкість за дорожньою розміткою? :roll_eyes:
По-перше, її може й не бути. По-друге, наші дорожники часто малюють розмітку “з фантазією”. Наприклад, на регульованому перехресті можуть намалювати “зебру” для пішоходів за мість двох пунктирних ліній.

Тут хіба що можна одним оком дивитися “кіно”, іншим споглядати на дорогу у ДЖОСМі на знімках Бінга. І “вести” автомобіль від одного орієнтира до іншого, ризикуючи прогавити щось та заробити “косоглазіє” :slight_smile:

Звісно ж, може і не бути. :slight_smile: Але там де є:

  1. Висота, на якій знаходиться камера зазвичай стала;
  2. Кут між напрямом руху і розміткою можна приблизно виміряти відстанню до центру екрану від точки перетину з краєм видимої області;
  3. Ну і потім за швидкістю переміщення точки у кадрі в теорії, наскільки я розумію, можна з деякою похибкою визначити швидкість переміщення самої камери.

Ось бібліотека, з якої можна почати: http://www.cvlibs.net/software/libviso/
Не знаю, може у OpenCV вже навіть є щось подібне.

Мова, звісно, про місця, де є розмітка з розривами.

А нащо вам та швидкість, та ще й з таким непевним способом її отримання? Розриви у розмітці можуть мати різну довжину.
ІМХО, тут я бічу лише можливість “їхати” за відео по лінії дороги від одного орієнтира до іншого.

А якще вже братися за програмування, то ліпше вже полагодити плагін videomapping. Бо щось товариш rsh десь зник. А я на джаві не розуміюся :frowning:
От якби basic або pascal :slight_smile:

Камрад Олег знайшов цікаву програму для відеомапінгу.

http://www.registratorviewer.com/index.html

Програма дозволяє переглядати відео, прікрипити до нього трек. Під час програвання відео у сусідньому “вікні” видно онлайнову карту (доступні OSM, космознімки Бінга та інші) з треком та позначку, яка повзе по треку. Якщо клацнути на будь-яку точку у треку, програма перемотає відео на вказане місце.
Можна ставити відео на паузу, можна змінити швидкість відтворення.
Можна вручну синхронізувати трек з відео, але я щось не зовсім зрозумів як це робиться. Синхронізувати трек не дуже зручно. Після прікріплення треку програма вважає, що відеозапис починається одночасно з початком треку. Тобто перша точка треку була поставлена у ту секунду. коли відеокамера зробила перший кадр. Зазвичай, такого не буває. Отже, треба вручну задати зміщення. Наприклад, якщо процес відеозапису розпочався на 10 хвилин пізніше, ніж розпочався запис треку, треба вказати зміщення 00:10:00. Якщо відеозапис разпочався, наприклад, на 7 хвилин раніше треку, то треба вказати зміщення -00:07:00.

Програма безкоштовна, хоча автор від грошей не відмовиться.