Кодирование и декодирование временных меток на кадр с использованием libav * в mp4 - PullRequest
1 голос
/ 09 мая 2019

Я пишу программу для записи и воспроизведения видео вместе с другой программой, которая связана с оборудованием, которое мы продаем. Эта другая программа собирает данные с аппаратного обеспечения, которое содержит счетчики меток времени с фиксированной частотой дискретизации.

Я ищу способ кодировать эти временные метки (необработанные или преобразованные в unix) в выходной файл mp4. Основная причина в том, что видеопоток может начать сохраняться только через несколько минут после приобретения оборудования

Запись:

                timestamp
Main program --------------->  Video program
  |                                 |
  |                                 |
  v                                 v
Save hardware data               Save frame data
  and timestamp                    and timestamp

  |                                 |
  |                                 |
  v                                 v
Custom data format                .mp4 file

Анализ после обработки:

for i in range(0,datalen):
    hardwareData, timestamp = readHardwareFile()
    frame, timestamp = readMP4()

    myData[timestamp].hardware = hardwareData
    mydata[timestamp].video = frame

analyze(myData)

Цель состоит в том, чтобы при воспроизведении в VLC или OpenCV у меня был доступ к временным меткам для каждого кадра.

В настоящее время я сохраняю его как отдельный текстовый файл с отметкой времени и рамкой #, но мне интересно, есть ли более стандартизированный способ сделать это.

...