Найти тему
DJ Slava Hardware

Как извлечь дату и время из файла DV AVI в виде файла субтитров SRT/SUB?

Во времена аналоговых форматов (VHS/Video/Hi8) в видеокамерах была возможность записать дату и время съемки в уголке кадра, однако встраивалась дата в видео по принципу «хардсаба» (неотключаемых субтитров). И если оператор снимал все мероприятие со включенной датой, отключить ее не представлялось возможным.
После появления цифровых (Digital 8 и Mini-DV) форматов, появилась возможность включения/отключения даты при просмотре, как субтитров на DVD. При этом дата записывалась на ленту всегда (при условии, что дату настроили перед съемкой, иначе вместо чисел будут прочерки), а включалась по желанию.
Нынче люди переписывают Mini-DV кассеты в компьютер (в виде файла DV AVI), а затем конвертируют в MP4. Но не все знают, что вместе с видео и аудио захватываются также дата и время.

Так как же извлечь дату и время из файла DV AVI?

Запомните один нюанс: дату и время нужно извлекать из чернового только что захваченного файла DV AVI. Если вы предварительно смонтируете видео в монтажке и выведите в DV AVI даже без пережатия, монтажка запишет в файл текущую дату и время, когда файл был смонтирован, а не когда был снят.

Пример: сняли видео в 2000 году, смонтировали в 2024 — получайте дату [день].[месяц].2024 года. Единственный видеоредактор, который умел сохранять дату — это Panasonic MotionDV Studio. Однако он разрабатывался еще в начале нулевых, имеет мало функций, может с глюками показывать видео с другими DV-кодеками (отличающимися от Panasonic DV), а собственный кодек Panasonic DV, к сожалению, хуже по качеству других DV-кодеков.

К делу! ПО для извлечения:

Вариант 1: DV Time Converter

  1. На вкладке AVI->DVDT укажите путь к исходному файлу AVI.
  2. Нажмите кнопку «Extract DV Timecode». Рядом с видео будет создан файл *.dvdt с извлеченными данными.
  3. Перейдите на вкладку «DVDT->SUB» и укажите путь к созданному файлу *.dvdt.
  4. В графе «Subtitles Type» укажите систему видео (PAL для Европейских камер и NTSC для Американских) и формат субтитров, в котором мы выведем дату. Рекомендую формат SRT.
  5. Нажмите кнопку «Convert». Рядом с видеофайлом будет создан файл SRT. DVDT можно удалить.

Если вы откроете видео в Media Player Classic Home Cinema (MPC-HC), плеер автоматически подхватит субтитры (при условии, что имена видеофайла и файла *.srt совпадают) и покажет их поверх видео. Там их можно и отключить. Второй плюс SRT в том, что их можно добавить в качестве отдельной отключаемой субтитровой дорожки прямо в файл MP4 при конвертации AVI>MP4 через XVID4PSP. Субтитры формата *.sub конвертор XVID4PSP умеет встраивать исключительно как хардсаб.

Рекомендую прочитать файл Readme (он на Русском) в папке с программой — найдете много интересного. Там упоминается, что можно не просто отобразить дату и время, но и возраст ребенка. Это будет полезно для детских съемок. Также здесь можно редактировать шаблон отображения даты/времени.

Cкачать DV Time Converter

Вариант 2: DV Sub Maker

В целом DV Sub Maker работает аналогично DV Time Converter: также необходимо извлечь данные в виде DVDT и конвертировать его в файл субтитров. Однако здесь только два формата: SUB и SST. SRT отсутствует. А вот шаблон редактировать здесь можно.

Скачать DV Sub Maker

Вариант 3: DV_DateCode

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

Эта маленькая программа анализирует открытый в ней файл AVI и сохраняет дату в четырех форматах субтитров: SRT, SSA, SUB, TXT. При этом программа — своенравная и иногда не анализирует файлы (что можно понять от отсутствующим белым цифрам на синем фоне). Также программа дольше предыдущих анализирует AVI-файл.

Скачать DV_DateCode

Сравнение

DV Time Converter и DV Sub Maker в большинстве случаев успешно принимают файлы. Анализируют чуть быстрее. Но требуют второго действия по преобразованию DVDT в файл субтитров.

Также у них есть недостаток: дата и время в виде субтитров мигают каждую секунду.

В DV_DateCode такого не наблюдается + она выводит дату сразу в четыре формата субтитров. Однако она привередливая и дольше анализирует файл.

DV Time Converter и DV_DateCode стабильно работают и умеют выводить дату в формат SRT, который, на мой взгляд, является более универсальным и популярным. В DV Sub Maker этот формат отсутствует. Субтитры из DV Time Converter и DV Sub Maker мигают каждую секунду, в DV_DateCode такого эффекта нет. Как-то так.

Возможные проблемы

-5

Съемка на Mini-DV могла быть в двух звуковых форматах - 12 bit и 16 bit. Первый выполнял четырехдорожечную звукозапись, чтобы впоследствии, воспользовавшись функцией «Audio Dub», можно было наложить к уже существующей синхронной стереодорожке, например, еще и голос диктора (тоже в стерео), а затем через меню выбрать одну из дорожек (ST1, ST2) или включить их вместе (MIX). При этом платить за эту функцию приходилось качеством звука (вместо положенных 48 кГц в формате 16 бит, мы получали 32 кГц в формате 12 бит + возможные звуковые глюки при чтении кассеты на другой камере). Правильным же форматом считался двухдорожечный 16 bit (правда, при использовании «Audio Dub», новая записанная звуковая дорожка безвозвратно стирала оригинальную).

Так вот: иногда в рамках одной кассеты могут присутствовать записи в формате как в 12 bit, так и в 16 bit. И если записи в обоих форматах были захвачены в один файл AVI, либо разные AVI файлы были объединены через AviDemux, может получиться так, что та или иная запись может воспроизводиться быстрее/медленнее, а скорость времени субтитров не будет идти в реальном времени + будет расходиться с видео.

-6

Обычно камера указывает на экране, в каком формате произведена или производится запись. И записи в разных форматах необходимо захватывать разными файлами. Например, в Adobe Premiere 1.5 (она качественнее всего захватывает видео) есть два пресета - 32 кГц и 48 кГц:

-7

Первый предназначен для записей в 12 bit, второй - для 16 bit. При смене звукового формата лучше менять пресет всего проекта

Все AVI с субитрами - в MP4

Как объединить все файлы в один MP4? Как вариант:

  1. Захватить 12 bit и 16 bit разными файлами.
  2. Создать под каждый отдельную папку
  3. Извлечь из каждого субтитры
  4. Через XVID4PSP преобразовать AVI в MKV (возможно, без пережатия), вложив в каждый файл субтитры.
  5. В XVID4PSP объединить все MKV и перекодировать их как один файл с субтитрами в MP4.

Но последние два пункта пока не протестированы.

Всем удачи!

(c) 2023, DJ Slava.