.QT 파일이란?
확장자가 .qt인 파일은 멀티미디어 파일 내용을 저장하기 위해 QuickTime 프레임워크에서 사용하는 멀티미디어 컨테이너 파일입니다. Apple Inc.에서 개발한 QTFF(QuickTime File Format)는 나중에 재생할 수 있도록 오디오, 비디오 또는 텍스트가 포함된 멀티미디어 컨테이너 파일입니다. 장치, 응용 프로그램 및 운영 체제 간의 디지털 미디어 교환을 위해 선택한 형식입니다. QT 파일도 Apple Inc.에서 개발한 MOV 형식으로 저장됩니다. QT 파일을 열 수 있는 응용 프로그램에는 Apple QuickTime 플레이어, VLC 미디어 플레이어 및 Media Player Classic with K-가 있습니다. 라이트 코덱 팩.
QT 파일 형식
QTFF는 구문 분석 및 확장을 쉽게 하기 위해 유연한 개체 컬렉션을 노출하는 개체 지향입니다. QT 파일의 각 트랙에는 디지털로 인코딩된 미디어 스트림 또는 다른 파일에 있는 미디어 스트림에 대한 데이터 참조가 포함되어 있습니다. 원자라는 객체로 구성된 계층적 데이터 구조는 트랙 컨테이너 역할을 합니다. QT 파일 형식 에 대한 파일 형식 사양은 개발자 참조용으로 Apple Inc.에서 공식적으로 제공합니다.
미디어 설명
QuickTime 파일의 미디어 설명은 미디어 데이터와 별도로 저장됩니다. 트랙 수, 비디오 압축 형식 및 타이밍 정보와 같은 정보는 미디어 설명(영화 리소스, 영화 원자 또는 단순히 영화라고도 함)에 저장됩니다. 미디어 데이터는 이 미디어 구조의 인덱스에 의해 참조됩니다. 미디어 데이터는 동영상에서 사용되는 비디오 프레임 및 오디오 샘플과 같은 실제 샘플 데이터입니다.
아톰
Atom은 QuickTime 파일의 기본 단위입니다. 모든 원자에는 다른 필드보다 먼저 크기 및 유형 필드라는 두 가지 주요 필드가 있습니다. 크기 필드는 원자의 크기를 나타내고 유형 필드는 원자에 저장된 데이터의 유형을 나타냅니다. 본질적으로 원자는 계층적이므로 한 원자는 다른 원자를 포함할 수 있지만 다른 원자는 포함할 수 있습니다. 샘플 원자의 레이아웃은 다음 이미지에 나와 있습니다.
각 원자에는 헤더와 데이터의 두 부분이 있습니다. 헤더에는 크기 및 유형 필드가 포함되고 데이터 부분에는 실제 데이터가 포함됩니다. 또한 각 필드는 다음과 같습니다.
원자 크기
원자의 헤더와 내용은 원자의 크기로 알려진 32비트 정수로 표시됩니다. 크기 필드에는 32비트 부호 없는 정수로 표시되는 원자 크기(바이트)가 포함됩니다.
원자 유형
원자의 유형은 32비트 정수로도 표시되며, 이는 영화 원자의 경우 ‘moov’(0x6D6F6F76) 또는 트랙 원자. 원자 유형이 알려지면 해당 데이터를 해석할 수 있습니다.
파일 구조
QT/MOV 파일은 연속적인 청크로 구성됩니다. 모든 청크에는 8바이트 헤더가 있습니다. 4바이트 청크 크기(big-endian, 상위 바이트 먼저) 및 4바이트 청크 유형 - 미리 정의된 서명 중 하나: “ftyp”, “mdat”, “moov”, “pnot “, “udta”, “uuid”, “moof”, “free”, “skip”, “jP2”, “wide”, “load”, “ctab”, “imap”, “matt”, “kmat”, “클립”, “crgn”, “동기화”, “chap”, “tmcd”, “scpt”, “ssrc”, “PICT”. 첫 번째 청크 유형은 “ftype"이고 오프셋 8에 하위 유형이 있습니다. MOV는 하위 유형으로 정의되며 “qt"여야 합니다. MOV 파일을 구성하려면 알 수 없는 유형이 감지될 때까지 청크를 반복해야 합니다.
다음은 샘플 예입니다. 샘플 MOV 파일의 이진 데이터를 검사하면 QuickTime 컨테이너 파일 유형을 정의하는 오프셋 4에서 ftyp 서명(16진수: 66 74 79 70)으로 시작하는 것이 분명합니다. 파일 하위 유형은 MOV 파일 유형을 가리키는 qt~~(16진수: 71 74 20 20)입니다. 첫 번째 블록 크기는 32(hex: 00 00 00 20, big-endian, high byte first)이고 오프셋 0에 위치합니다. 오프셋 32(hex: 20)에는 크기가 8이고 두 번째 청크가 있습니다. mdat(16진수: 6D 64 61 74)를 입력합니다.
다음 청크는 오프셋 32+8#40(16진수: 28)에 있고 크기가 3,263,028(16진수: 00 31 CA 34)이고 오프셋 44(16진수 : 2C). 다음 청크는 오프셋 40 + 3,263,028#3,263,068(16진수: 00 31 CA 5C)에 있으며 크기는 21,189(16진수: 00 00 52 C5)이고 유형 moov(16진수: 6D 6F 6F 76)입니다. 1,836,019,574(16진수: 00 31 CA 60). 이것이 마지막 청크이므로 총 파일 크기는 3,263,068+21,189#3,284,257바이트입니다.