파일 높이는 파일 안의 이미지 세로 크기를 말하며, 픽셀 단위로 계산합니다. 메타데이터 보고서에서는 Height 행에 이 숫자가 표시됩니다. 파일의 너비와 높이는 함께 이미지의 크기를 나타내며, 예를 들어 1920x1080에서 width가 먼저 옵니다.
파일 높이는 파일 크기와 다릅니다. 높이는 픽셀의 행 수를 세고, 파일 크기는 파일 안의 바이트 수를 셉니다.
FFmpeg 프로젝트의 ffprobe 프로그램은 비디오 스트림의 높이를 height라고 부릅니다. ExifTool에는 ImageHeight라는 태그가 있으며, Image Height 문서에서 다룹니다. MOV와 MP4 비디오에서 ExifTool은 이 태그 값을 트랙 헤더에서 가져오기 때문에, 두 숫자가 서로 다를 수 있습니다.
어떤 파일에 포함되어 있는지
이미지, 비디오, 그리고 커버 아트가 포함된 오디오 파일은 높이를 보고할 수 있습니다. 각 형식은 저마다 다른 위치에 높이 정보를 저장합니다.
- MOV 및 MP4: 비디오 샘플 설명에 원본 이미지의 높이를 픽셀 단위로 저장합니다. 트랙 헤더에는 트랙용 별도의 높이가 저장됩니다.
- MKV 및 WebM:
PixelHeight요소에 인코딩된 비디오 프레임의 높이를 저장합니다. - AVI: AVI 헤더에 이미지 높이를 저장합니다.
- PNG: IHDR 청크에 높이를 4바이트 숫자의 픽셀 값으로 저장합니다.
소리는 높이가 없기 때문에, ffprobe는 오디오 스트림의 높이를 출력하지 않습니다. 다만 오디오 파일에 커버 이미지가 포함되어 있으면 높이 값을 표시할 수 있습니다. FFmpeg는 이 attached picture를 비디오 스트림으로 처리하며, 이 스트림에는 높이가 있습니다.
MP3 파일의 그림 프레임에는 높이 필드가 없으므로, 숫자는 그림 데이터에서 가져와야 합니다. FLAC 그림 블록에는 자체 높이 필드가 있으며, 높이를 알 수 없을 때는 0을 저장합니다.
문서는 방식이 다릅니다. PDF 페이지는 픽셀이 아니라 1인치당 72분의 1 단위로 측정합니다. Page Size 문서에서 이 값들을 설명합니다.
값이 어떻게 보이는지
값은 보통 단위가 없는 정수 픽셀 수입니다. FFmpeg는 여러 비디오 크기를 나열하며, 각 크기에서 두 번째 숫자가 높이입니다.
1280x720: 높이는7201920x1080: 높이는10803840x2160: 높이는21607680x4320: 높이는4320
일부 파일은 다른 값을 표시합니다. 높이가 없는 자막 스트림은 ffprobe에서 N/A로 나타납니다. SVG 이미지의 높이는 길이 값일 수도 있고 퍼센트 값일 수도 있습니다.
값이 어디에서 오는지
파일을 만드는 프로그램이 높이를 설정합니다. 높이를 바꾸려면 이미지를 리사이즈하거나 자른 뒤 파일을 다시 저장해야 합니다.
화면에서 보이는 것과 높이가 다를 수 있는 이유
비디오 파일에는 회전 값을 저장할 수 있으며, FFmpeg는 기본적으로 이 값에 따라 비디오를 회전합니다. 90도 회전된 후에는 화면에 보이는 높이가 저장된 너비와 같아집니다.
일부 형식은 서로 다른 두 가지 높이를 함께 유지하기도 합니다. Matroska 파일에서 PixelHeight는 인코딩된 프레임의 높이이고, DisplayHeight는 크롭 후 화면에 표시할 높이입니다. FFmpeg의 coded height 역시, 프레임이 출력 전에 크롭되는 경우 실제 높이와 다를 수 있습니다.
왜 중요한지
높이는 파일이 제한 크기를 만족하는지 확인할 때 유용합니다. 예를 들어 업로드 양식에서 그렇습니다. Height 행에 720이라고 표시되면, 파일 이름에 1080이 적혀 있더라도 비디오는 720개의 픽셀 행을 가집니다.
높이와 너비는 픽셀 수를 결정하기도 합니다. 1920x1080 비디오는 한 프레임에 2,073,600픽셀을 가지며, 이는 약 2.1메가픽셀입니다.
인쇄에서 Y Resolution 태그는 세로 방향으로 인치당 또는 센티미터당 픽셀 수를 나타냅니다. 이 숫자로 높이를 나누면 같은 단위의 인쇄 높이를 얻을 수 있습니다.