M4V ファイルとは?
M4V ファイル形式は Apple が開発したもので、オプションでデジタル著作権管理 (DRM) コピー保護で保護され、プライバシーやコピーを保護するビデオ コンテナです。ビデオとオーディオ トラックはコンテナ ファイルによってラップされ、再生ストリームのインデックス作成と整理が行われます。さらに、コンテナーは、DVD のチャプターと同様のチャプター機能も提供します。 Apple は M4V を使用して、iTunes Store でビデオをエンコードします。ビデオの購入に使用されたアカウントを持つ許可されたコンピューターでのみ M4V ファイルを再生できるようにすることで、Apple の FairPlay コピー保護を通じて無許可の複製を保護します。ただし、M4V ファイルから DRM 保護を解除すると、拡張子を .m4v から .mp4 に変更することで、これらのファイルを他のビデオ プレーヤーで再生できます。これが、M4V ファイルが MPEG-4 に関連付けられている理由です。 M4V は、ビデオに H.264 を使用し、AAC とオーディオのエンコードとデコードに Dolby Digital を使用します。
M4V ファイル構造
M4V ファイルには、各チャンクに 8 バイトのヘッダー、4 バイトのチャンク サイズ、および 4 バイトのチャンク タイプを持つ連続したチャンクがあります。最初のチャンクは「ftype」で、オフセット 8 にサブタイプがあります。「M4V_」である必要があるサブタイプによって定義される M4V。さらにチャンク タイプは定義済みのシグネチャです: “ftyp”、“mdat”、“moov”、“pnot”、“udta”、“uuid”、“moof”、“free”、“skip”、“jP2”、“wide” , “load”, “ctab”, “imap”, “matt”, “kmat”, “clip”, “crgn”, “sync”, “chap”, “tmcd”, “scpt”, “ssrc”,“ピクト」。不明なタイプが検出されるまでチャンクを繰り返し、M4V ファイルを構成します。
サンプルの調査は次のとおりです。 サンプルの m4v ファイルのバイナリ データを Hex Viewer で検査すると、QuickTime を定義するオフセット 4 の署名 ftyp (hex: 66 74 79 70) で始まることがわかります。コンテナー ファイルの種類。ファイルのサブタイプは M4V_ (16 進数: 4D 34 56 20) で、M4V (MPEG-4) ファイル タイプを指します。最初のブロック サイズは 32 (16 進数: 00 00 00 20、ビッグ エンディアン、上位バイトが最初) で、サイズはオフセット 0 にあります。オフセット 32 (16 進数: 20) には、サイズが 30,322 (16 進数) : 00 00 76 72、ビッグエンディアン、下位バイトが最初) を入力し、moov (16 進数: 6D 6F 6F 76) と入力します。次のチャンクはオフセット 32+30,322#30,354 (16 進数: 00 00 76 92) にあり、サイズは 8 (16 進数: 00 00 00 08) で、タイプは free (16 進数: 66 72 65 65) です。
M4V で使用されるコーデック
ビデオコーデック H.264
H.264 は、ビデオ圧縮規格であり、デジタル ビデオを、伝送または保存が必要なときに必要な容量が少ない形式に変換します。 M4V は、ビデオ圧縮に H.264 を使用します。そのアプリケーションは、DVD、テレビ、ビデオ会議、およびインターネット経由のビデオ ストリーミングにまで及びます。 H.264 は 2 つの主要な部分で構成されています。エンコーダー - ビデオを圧縮します。デコーダー - 圧縮されたビデオを圧縮解除します。下の図では、エンコードとデコードのプロセスが強調表示されており、その他のプロセスは H.264 標準でカバーされています。
H.264 でのビデオ符号化および復号化プロセス
圧縮された H.264 ビットストリームの場合、ビデオ エンコーダーは予測、変換、およびエンコード プロセスを実行します。同時に、デコーダーは、デコード、逆変換、および再構成の逆プロセスを実行して、ビデオ ファイルを生成します。 H.264 は MPEG の半分のサイズです。
オーディオコーデック
Advanced Audio Coding (AAC) は、非可逆デジタル オーディオ圧縮用のオーディオ コーデックであり、M4V コンテナーで使用されます。 AAC は MP3 形式の後継であり、同じビットレートの MP3 よりも優れた品質を実現します。 AAC 形式は、圧縮プロセス中に一部の情報を破棄しますが、これはそれほど重要ではありません。 AAC は可変ビットレート (VBR) ブロックベースのコーデックで、各ブロックが 1024 時間領域サンプルにデコードされます。