aspose.info
KO

MKV 파일 형식

업데이트

MKV 파일이란?

MKV(Matroska Video)는 MOV 및 AVI 형식과 유사한 멀티미디어 컨테이너이지만 동일한 파일에서 둘 이상의 오디오 및 자막 트랙을 지원합니다. MKV 파일은 비디오에 사용되는 Matroska 멀티미디어 컨테이너 형식입니다. MKV는 Extensible Binary Meta Language를 기반으로 하며 여러 비디오 및 오디오 압축 형식을 지원합니다. MKV와 다른 비디오 형식의 주요 차이점은 MKV가 코덱이 아니라 컨테이너라는 것입니다. MKV 파일은 .mkv 파일 확장자로 저장됩니다. MKV는 오디오, 비디오 및 자막이 다른 유형의 인코딩을 사용하는 경우에도 단일 파일에 통합할 수 있습니다. 예를 들어 H.264 비디오와 오디오용 MP3 또는 AAC가 포함된 MKV 파일이 있을 수 있습니다. MKV는 또한 설명, 등급, 표지 및 챕터 포인트도 지원합니다. MKV가 미래에 대비할 수 있는 몇 가지 주요 기능이 있습니다. 이러한 기능은 다음과 같습니다.

  • 빠른 탐색을 지원합니다.
  • 다른 오디오 및 비디오 스트림을 선택하는 기능.
  • 자막 지원(하드 코딩 및 소프트 코딩).
  • 메타데이터, 챕터 및 메뉴 지원.
  • 온라인 스트리밍 기능.
  • 손상된 파일을 재생할 수 있는 기능을 제공하는 잘못된 파일을 복구하는 기능.

간략한 역사

MKV 파일은 2002년 러시아에서 시작되었습니다. 수석 개발자는 Matroska의 창립자 Steve Lhomme 및 프로그래머 팀과 함께 작업한 Lasse Kärkkäinen이었습니다. MKV는 공개 표준 프로젝트로 개발되었습니다. 즉, 공개 소스이며 무료로 사용할 수 있습니다. 시간이 지남에 따라 형식이 개선되어 2010년 WebM 멀티미디어 형식의 기초가 되었습니다.

마트로스카 디자인

Matroska는 EBML 사양에 다음 제약 조건을 추가합니다.

  • EBML 헤더의 docType은 ‘matroska’여야 합니다.
  • EBML 헤더의 EBMLMaxIDLength는 4여야 합니다.
  • EBML 헤더의 EBMLMaxSizeLength는 1에서 8(포함) 사이여야 합니다.

모든 최상위 요소는 4 옥텟으로 코딩됩니다.

  • 언어 코드: Matroska(버전 1~3)는 3글자의 서지 ISO-639-2 형식(예: 프랑스어의 경우 “fre”)일 수 있는 언어 코드를 사용하거나 “fre-ca"와 같은 추가 국가 코드를 사용할 수 있습니다. “캐나다 프랑스어. Matroska 버전 4부터 ISO 639-2 또는 BCP 47이 언어 코드에 사용될 수 있지만 BCP 47이 권장됩니다.
  • 물리적 유형: 오디오 및 비디오 파일 모두에 대해 서로 다른 의미를 갖습니다. 예를 들어 ChapterPhysicalEquiv = 60은 오디오의 경우 (CD / 12” / 10” / 7" / TAPE / MINIDISC / DAT), 비디오의 경우 (DVD / VHS / LASERDISC)를 의미합니다.
  • 블록 구조 - 블록 헤더: 블록 헤더에는 트랙 번호, 타임스탬프, 레이싱 유형 등에 관한 정보가 포함됩니다.
  • 레이싱: 일반적으로 작은 데이터 블록(프레임)에 사용되는 데이터를 저장할 때 공간을 절약하는 메커니즘입니다. 레이싱에는 3가지 유형이 있습니다.
    • Xiph: Frame with a size multiple of 255 coded with a 0 at the end of the size. For example, The code for 765 is 255;255;255;0.
    • EBML: The frame size is coded as a difference between the previous size and this size. The first size in the lace is unsigned but others use a range shift to get a sign on each value.
    • fixed-size: The size remains the same.
  • SimpleBlock 구조: Keyframe 및 Discardable 플래그가 추가된 주요 차이점이 있는 Block 구조에서 영감을 받았습니다. 그 외에는 모든 것이 동일합니다.

마트로스카 구조

Matroska 문서는 Matroska 문서 유형을 사용하는 하나 이상의 EBML 문서로 구성되어야 합니다. 각 EBML 문서는 EBML 헤더로 시작하고 그 뒤에 세그먼트로 정의된 EBML 루트 요소가 와야 합니다. Matroska는 세그먼트 내에서 발생할 수 있는 몇 가지 최상위 요소를 정의합니다.

EBML은 요소 시스템을 사용하여 EBML 문서를 구성합니다. 다음은 Matroska 파일의 최상위 요소 목록입니다.

  • EBML 문서: 전체 파일에 대한 래퍼입니다.
  • EBML Header: DocType과 같은 파일의 헤더 정보를 담고 있습니다.
  • 세그먼트: 다른 모든 최상위 요소를 포함하는 최상위 요소입니다.
  • SeekHead: 다른 최상위 요소의 세그먼트 위치를 포함합니다.
  • Info: Segment에 대한 일반적인 정보를 담고 있습니다.
  • 트랙: 많은 트랙이 설명된 정보의 최상위 요소입니다.
  • 챕터: 기본 메뉴 및 파티션 데이터를 정의하는 데 사용됩니다.
  • 클러스터: 블록 구조를 포함하는 최상위 요소입니다.
  • Cues: 액세스를 빠르게 찾는 세그먼트에 로컬인 모든 항목을 포함하는 최상위 요소입니다.
  • 첨부파일: 첨부파일이 포함되어 있습니다.
  • 태그: 이 요소는 트랙, 에디션, 챕터, 첨부 파일 또는 세그먼트 전체를 설명하는 메타데이터를 포함합니다.

다음 표는 대부분의 요소가 계층 구조로 표시된 Matroska 문서의 구조를 보여줍니다.

EBML 헤더
세그먼트시크헤드추구SeekID
위치 찾기
정보세그먼트UID
세그먼트 파일 이름
이전 UID
이전 파일 이름
다음UID
다음파일 이름
세그먼트패밀리
장번역
타임스탬프스케일
기간
날짜UTC
제목
먹싱앱
라이팅앱
트랙트랙 엔트리트랙 번호
트랙UID
트랙 유형
이름
언어
코덱ID
코덱개인
코덱 이름
비디오플래그인터레이스
필드 오더
스테레오 모드
알파모드
픽셀폭
픽셀 높이
디스플레이 폭
디스플레이 높이
종횡비 유형
색상
오디오샘플링 주파수
채널
비트뎁스
장에디션 항목에디션UID
EditionFlagHidden
에디션플래그기본값
EditionFlagOrdered
챕터아톰챕터UID
장문자열UID
챕터타임 시작
챕터타임종료
ChapterFlagHidden
챕터디스플레이챕스트링
채플랭귀지
클러스터타임스탬프
사일런트트랙
위치
이전 크기
심플블록
블록그룹
암호화 블록
단서큐포인트큐타임
CueTrackPositions
첨부 파일첨부파일파일설명
파일 이름
파일 마임 유형
파일UID
파일추천
파일사용 시작 시간
파일사용종료시간
태그태그대상대상 유형 값
대상 유형
태그트랙UID
태그에디션UID
TagChapterUID
TagAttachmentUID
심플태그태그 이름
꼬리표언어
태그기본값
태그 문자열
태그바이너리
심플태그

코덱 사용

새 미디어 플레이어를 원하지 않고 기존 플레이어를 사용하는 것을 선호하는 경우 일부 코덱(압축/압축 해제의 줄임말)을 설치해야 합니다. 코덱을 다운로드하는 것이 유효한 옵션이지만 소스에 주의해야 하며 여기에는 맬웨어가 포함될 수 있습니다.

참조

함께 보기