Height что это: вертикальный размер изображения внутри файла, измеряемый в пикселях. В отчете о метаданных это число показано в строке Height. Ширина и height файла вместе задают размер изображения, например 1920x1080, где сначала идет width.
Height файла отличается от размера файла. Height считает строки пикселей, а размер файла считает байты в файле.
Программа ffprobe из проекта FFmpeg обозначает высоту видеопотока как height. В ExifTool есть тег с именем ImageHeight, который описан в статье Image Height. В видео MOV и MP4 ExifTool берет этот тег из заголовка дорожки, поэтому эти 2 числа могут различаться.
Какие файлы его содержат
Изображения, видео и аудиофайлы с обложкой могут указывать height. Каждый формат хранит height в своем месте:
- MOV и MP4: описание видеосэмпла хранит height исходного изображения в пикселях. Заголовок дорожки хранит отдельный height для дорожки.
- MKV и WebM: элемент
PixelHeightхранит height закодированных видеокадров. - AVI: заголовок AVI хранит height изображения.
- PNG: блок IHDR хранит height в пикселях как 4-байтовое число.
У звука нет height, поэтому ffprobe не выводит height для аудиопотока. Аудиофайл все же может показывать значение, если в нем есть обложка. FFmpeg рассматривает эту вложенную картинку как видеопоток, и у этого потока есть height.
У кадров с изображением в MP3-файле нет отдельного поля для height, поэтому число берется из данных картинки. В блоке изображения FLAC есть собственное поле height, которое содержит 0, если высота неизвестна.
С документами все по-другому. Страница PDF измеряется в единицах 1/72 дюйма, а не в пикселях. Эти значения описаны в статье Page Size.
Как выглядит это значение
Обычно это целое число пикселей без указания единицы. FFmpeg приводит среди прочих такие размеры видео, и второе число в каждом размере это height:
1280x720: height равен7201920x1080: height равен10803840x2160: height равен21607680x4320: height равен4320
В некоторых файлах хранится другое. Поток субтитров без height показывает N/A в ffprobe. Height SVG-изображения может быть длиной или процентом.
Откуда берется значение
Программа, которая создает файл, задает height. Чтобы изменить height, измените размер или обрежьте изображение и сохраните файл заново.
Почему height может отличаться от того, что вы видите
Видеофайл может хранить значение поворота, и FFmpeg по умолчанию поворачивает видео в соответствии с ним. После поворота на 90 градусов видимый height равен сохраненной ширине.
Некоторые форматы также хранят 2 разных значения height. В файлах Matroska PixelHeight это height закодированных кадров, а DisplayHeight это height для отображения после обрезки. Coded height в FFmpeg тоже может отличаться от высоты, если кадр обрезается перед выводом.
Почему это важно
Height позволяет проверить файл на соответствие ограничению по размеру, например в форме загрузки. Если в строке Height указано 720, у видео 720 строк пикселей, даже если имя файла содержит 1080.
Height и ширина также задают количество пикселей. Видео 1920x1080 имеет 2 073 600 пикселей в каждом кадре, то есть примерно 2,1 мегапикселя.
Для печати тег Y Resolution задает количество пикселей на дюйм или на сантиметр по вертикали (по height). Разделите height на это число, чтобы получить высоту отпечатка в тех же единицах.