1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
Скрыть объявление
Гость ! Поздравляем вас с 14и летием нашего клуба Добро пожаловать в нашу НОВУЮ ГАЛЕРЕЮ
Скрыть объявление
Внимание !
на форуме sony-club.ru будут проводится технические работы 08.07.2019 с 09-00 до 11-00 МСК - форум будет недоступен.
Галерея продолжит работу в штатном режиме

ВидеоEXIF - извлечение покадровых мета-данных из XAVC S

Тема в разделе "Другие программы", создана пользователем SK-Hardwired, 21 ноя 2018.

  1. Салют!

    Про EXIF знают все. В нём кроется многое, вплоть до температуры батарейки камеры. Полезная штука для анализа фото на предмет параметров съёмки, настроек камеры, каталогизации и пр.
    А вот с видео похожего по сути и нет. Конечно же, если мы не говорим о профессиональных RAW-видеокамерах.
    Возникла как-то необходимость срочно посмотреть с какими параметрами было сделано одно видео. Ну очень надо было.
    Стали смотреть, чем можно посмотреть. MediaInfo показывал честные 4К и 100 mbit/sec.
    EXIFTOOL с видео спасовал. FFMPEG тоже таких вещей не показывает. XML-ка, которая пишется рядом c XAVC S видео, не содержит подробностей.
    Единственное, чем удалось посмотреть параметры съёмки из файла и найти ошибку оператора (в каком режиме, с каким ISO, диафрагмой и выдержкой снято видео), оказалась фирменная бесплатная Sony Catalyst Browse 2018. Штука для первоначального грейдинга и просмотра хорошая, но для узкоспециализированных задач - очень громоздкая. Требует админских прав и гигабайт места для установки. Но откуда-то же она в файле эти данные берёт! Значит, можно их оттуда выцепить.

    После перебора кучи приложений (всё оказалось не то, кроме одного платного), чтения разной документации, мировых форумов, изучения стандартов по мета-данным видео, познавания структуры атомов потоков h264, контейнеров mp4 и ковыряния имеющихся образцов видео в HEX-редакторе таки выяснилось, что камеры Sony при записи XAVC S не просто пишут в файл мета-данные о параметрах съёмки, но пишут их к каждому кадру видео! Удалось выделить характерные блоки по 1024 байта. Но там каша :)

    Дальше осталось за малым - за скудостью документации (а её в открытом доступе почти и нет), по крупицам разбросанной то там то сям (в основном, про формат MXF) и методом наблюдений за изменением содержимого блогов в HEX-редакторе "по ходу файла" найти и расшифровать характерные "тэги".

    И... представляю вам приложение X-RTMD2SRT (код на Python и бинарник под Windows x64 по ссылке). Простенькое, консольное, быстрое.

    Пользоваться просто: в командной строке пишем имя екзешника и путь к видеофайлу (например: x_rtmd2srt.exe D:\Video\C0035.MP4)

    Оно читает и расшифровывает блоки покадровых мета-данных реального времени из файлов XAVC S и создаёт рядышком обычный файл субтитров (формата SRT). При запуске видеофайла в VLC или другом плеере файл субтитров автоматически подхватывается (но может потребоваться включить сабы в плеере), и поверх видео в каждый момент времени вам отображаются текущие:
    • Текущий кадр
    • Режим эспозиции (Auto/A/S/M)
    • ISO (пишется только новыми моделями камер)
    • Усиление GAIN (в отличие от ISO, пишется всеми моделями камер)
    • Значение диафрагмы
    • Значение выдержки
    • Режим ББ (Авто или пресеты)
    • Режим АФ (Авто или ручной)
    • Дистанция фокусировки (для тех камер, которые пишут этот параметр; типа "дальномер" :))
    • Гамма/Gamut (типа Picture Profile, для тех камер, которые это пишут. Кастомные настройки PP могут не поддерживаться)
    Также в покадровые мета-данные XAVC S пишутся:
    • Координаты GPS. У камер со встроенными датчиками (ActionCam) и у камер без датчика, но с функцией Bluetooth Location Link (от смартфона)
    • Таймкоды (free run и rec run)
    • Дата и время каждого кадра согласно часов камеры
    • ещё что-то, что пока расшифровать не удалось (например, предположительно альтертативный формат таймкодов с загадочным тегом kkad)
    Но я их вывод пока не включид или не доделал (неактивные кусочки можно найти в коде)

    Опционально есть аргументы командной строки:
    -sidecar : извлекает из файла встроенный XML с данными не-рального времени. Если у вас вдруг потерялись создаваемые камерой при записи XML-ки, но очень нужны.
    -muxmkv : создаёт копию видеоролика в формате MKV, но с уже встроенными субтитрами мета-данных (а не внешним файлом). Требуется, чтобы в папке с приложением был файл ffmpeg.exe

    Зачем это нужно? Ну, разные бывают ситуации :)

    Короче, кому интересно, пробуйте.
     
    Procyon, Convoker, Alan и 4 другим нравится это.
  2. Спасибо за труды!Можно поинтересоваться, а чем ffprobe не угодил из того же пакета? Или он такое извлечь уже не может?
     
  3. Попробуйте. Он и ffmpeg, если не ошибаюсь, лишь показывают, что в контейнере есть неизвестный поток rtmd, но не расшифровывают.
    mp4box поток rtmd может даже извлечь в отдельный файл. И это действительно цепочка блоков мета-данных по 1024 байта. Но опять таки - они им не расшифровываются и не интерпретируются.
    Если сможете выцепить ISO и выдержку для каждого кадра видео с помощью ffmprobe - подскажите как :)
     
  4. Попробую. Сейчас под рукой нет ни одного файла с соньки, быстрым гуглением не нашел.
     
  5. Обновление июнь 2019!
    • - исправлены разные баги и вылеты
    • - добавлена расшифровка GPS информации, если она писалась в GPS файл.
      • Вывод в файл субтитров текстовой информации (координаты, метка времени (UTC); если камера писала скорость, курс и высоту - соответственно ещё и скорость и курс)
      • Экспорт GPS-данных в GPX файл (ключ "-gpx" в командной строке). Для использования с внешними приложениями и сервисами по визуализации GPX-треков и видеоредакторами, рисующими красивые приборные панельки (типа DashWare)
    • Обновлён бинарник (Win 64 bit)
     
    Alan, Meters и Convoker нравится это.
  6. Пример отображения субтитров поверх видео с по-кадровой информацией о текущих параметрах съёмки (клип снят на FDR-AX700):
    [​IMG]

    Пример использования извлечённого GPX трека из XAVC S файла, записанного экшн-камерой HDR-AS100V, в видеоприложении DashWare (наложение овевлеев различной телеметрии, "панельки приборов", на видео).
    [​IMG]
    Кстати, альфы последних моделей (А9, А7*3, A6400) при привязке к телефону по функции Bluetooth Location Link, пишут GPS не только фото (позиция), но и в видеофайлы (трек).
     
    Meters и Alan нравится это.
  7. qwz

    qwz Модератор
    Команда форума

    Регистрация:
    5 авг 2005
    Сообщения:
    6.403
    Симпатии:
    705
    Баллы:
    0
    Адрес:
    MSK
    Сайт:
    Предупреждения:
    0
    Классная затея.
    Ну и кому и палево с gps;-]

    Хотя за авторские права нарушенные бороться может и помочь.
     

Поделиться этой страницей