Preview Time это момент в фильме, с которого начинается его превью. Превью фильма это очень короткая версия фильма, обычно менее 5 секунд.
Файл задает это превью двумя значениями: началом и длиной. Preview Time это начало, а Preview Duration это длина. Флаг на каждой дорожке указывает, использует ли превью эту дорожку.
Какие файлы его содержат
Preview Time хранится в заголовке фильма QuickTime, который описывает весь фильм. В заголовке также содержится временной масштаб фильма и его Duration.
QuickTime называет эту часть файла атомом типа mvhd. Формат MP4 имеет заголовок того же типа и называет его боксом.
Читалка метаданных ExifTool считывает этот заголовок в файлах QuickTime и в форматах, которые она называет QuickTime-based. Эти файлы, например, могут показывать Preview Time:
- MOV и QT, формат фильмов Apple QuickTime
- MP4, файловый формат MPEG-4
- M4A, M4B, M4P и M4V аудио- и видеофайлы
- 3GP и 3GPP аудио- и видеофайлы
- F4A, F4B, F4P и F4V файлы для Adobe Flash Player
- AAX, формат Audible Enhanced Audiobook
Поэтому аудиокнига AAX может показывать Preview Time, даже если это не видео. Файлы AVI отличаются. ExifTool описывает AVI как RIFF-based, и в его списках значений AVI нет Preview Time.
Как выглядит это значение
Внутри файла Preview Time это 4-байтовое число. Это число считает единицы временного масштаба фильма, а не секунды.
Временной масштаб это количество единиц в секунде. При временном масштабе 60, 60 единиц составляют 1 секунду.
ExifTool делит сохраненное число на временной масштаб. Затем оно показывает результат как время в одном из 3 форматов:
0 sкогда сохраненное число равно 0- секунды с двумя знаками после запятой и буквой s, для времени менее 30 секунд
- часы, минуты и секунды, разделенные двоеточиями, для времени 30 секунд и более
Откуда берется значение
Программное обеспечение, которое записывает файл фильма, устанавливает Preview Time. Документация Apple QuickTime описывает функцию, которая позволяет приложению задать начало и длину превью.
Файлы MP4 основаны на стандарте ISO/IEC 14496-12. В этом стандарте то же место в заголовке называется pre_defined и устанавливается в 0. Читалка метаданных все равно может показать эти байты как Preview Time, поэтому файл MP4 обычно показывает 0 s.
Некоторое программное обеспечение записывает сюда 0. FFmpeg записывает в это место 0 и помечает его как зарезервированное. Модуль записи MP4 в проекте браузера Chromium также записывает 0.
FFmpeg также пропускает это значение при чтении файла. Поэтому отчет, который опирается только на FFmpeg, не содержит строки Preview Time.
Почему это важно для вашего файла
Смотрите Preview Time вместе с Preview Duration. Значение 0 s само по себе не говорит вам, есть ли у фильма превью.
В документации Apple QuickTime функция возвращает 0 для обоих значений, когда у фильма нет превью. Пример кода Apple также проверяет, больше ли длительность 0, чтобы решить, есть ли у фильма превью. Поэтому, если Preview Duration тоже равно 0 s, у фильма нет превью.
Чем оно отличается от похожих значений
Рядом с Preview Time находятся другие значения или значения с похожим названием. Каждое отвечает на другой вопрос:
- Preview Duration это длина превью в тех же единицах временного масштаба.
- Poster Time это время кадра-постера фильма, статичного кадра, который представляет фильм.
- Preview Image Size это ширина и высота изображения превью внутри файла, а не время.