日本語

ビデオと字幕 · ダイレクト メディア ダウンローダー

コンテナとコーデック: MP4、WebM、または MP3 ファイルに実際に含まれるもの

· 背景

メディア ビデオ オーディオ

個別のビデオ、オーディオ、タイミング、メタデータ トラックを保持するメディア コンテナ
オリジナル ToolAcre ベクトル イラスト

ファイルのダウンロードは作業の半分にすぎません。それをプレイすることは、中に何が入っているかによって決まります。この記事では、コンテナ、コーデック、および正しくダウンロードされた MP4 が特定のプレーヤーやエディタで再生を拒否する理由について説明します。

ダウンロードは正常に完了しましたが、まだ開きません — 成功したダウンロードが再生可能なファイルではないのはなぜですか

転送が完了すると、応答バイトがブラウザに到着し、保存されたことが証明されます。これは、編集者がそれらのバイト内に必要な構造やデコーダを理解していることを証明するものではありません。

ダイレクト メディア ダウンローダーはメディア内部を開きません。サーバーの MIME ラベルの下にある BLOB にチャンクを保存し、ファイル名を選択して、再生診断をメディア ツールに任せます。応答が不完全だと再生できないファイルが作成される可能性があるため、コーデックのサポートだけが問題であると結論付ける前に、配信されたサイズと転送エラーを比較してください。応答が中断されると使用不可能な結果が生じる可能性もあるため、デコーダに互換性がないことを想定する前に転送の完了を調査してください。

コンテナ: ボックス — トラック、タイミング、メタデータを保持するラッパーとしての MP4、WebM、MKV、および MP3

コンテナーは、トラック、タイミング、インデックス、メタデータを編成します。 MP4、WebM、MKV はよく知られたオーディオビジュアル コンテナです。 MP3 という用語は、一般的なビデオ ラッパーではなく、MPEG オーディオ ファイル形式を指すのが一般的です。

ラッパーはソフトウェアにコンポーネントの検索方法を指示します。外部構造を認識するすべてのアプリケーションが、考えられるすべてのコーデックをサポートする必要はありません。コンテナーは複数のオーディオ トラック、字幕、チャプター、メタデータを保持できます。これは、サフィックスだけでは再生要件を要約できない理由をさらに説明します。複数のオーディオ トラック、字幕ストリーム、チャプター、メタデータが 1 つのラッパーを共有する可能性があるため、サフィックスの説明が特に不完全になります。

コーデック: 内容 — H.264、VP9、AV1、AAC、および Opus、および同じコンテナーに異なるコーデックを保持できる理由

コーデックは、画像またはサウンドをエンコードおよびデコードする方法を定義します。 H.264、VP9、および AV1 はビデオ コーディング ファミリを記述します。 AAC と Opus では、オーディオ コーディングの選択肢について説明しています。

ある MP4 は古いエディターで処理できる組み合わせを保持できますが、別の MP4 はそこでは利用できない新しいコーデックを使用します。したがって、サフィックスの一致は、同一のデコード要件を意味するものではありません。プロファイルとレベルによってコーデック要件が調整され、ハードウェア アクセラレーションの可用性は、同じマシン上のアプリケーション間でも異なる場合があります。コーデックのプロファイルとレベルは要件をさらに絞り込みますが、ハードウェア デコードのサポートは 1 台のマシン上のアプリケーションごとに異なる場合があります。

拡張子が中身ではなく箱を知らせる理由 — ほとんどの「間違った形式」の驚きの原因

拡張機能は通常、各トラック コーデックではなく、コンテナー規則に名前を付けます。 Content-Type も同様に表現を広範囲にラベル付けし、すべての内部機能を列挙することはできません。

`.webm` から `.mp4` に名前を変更すると、ラベルのみが変更されます。コンテナーやトランスコード コーデックは書き換えられないため、ソフトウェアの混乱は解消されるどころか、むしろ増大する可能性があります。 `video/mp4` などの MIME 値も同様に、特定の H.264 や AAC の組み合わせを約束するのではなく、広範な表現を指定します。 `video/mp4` などの広範な MIME 値も同様に、特定のビデオとオーディオのコーディングの組み合わせを保証することはできません。これは初期ルーティング ヒントであり、デコーダ インベントリではありません。

有効な例: 2 つの .mp4 ファイル、1 つはどこでも再生され、もう 1 つは再生されない - コーデック情報を読んで理由を確認する

2 つの承認された MP4 ダウンロードについて、信頼できるインスペクターでそれぞれを開き、ビデオ コーデック、オーディオ コーデック、プロファイル、サイズ、トラック レイアウトを比較します。 1 つはエディターがサポートするデコーダー セットに適合する可能性がありますが、もう 1 つは適合しない可能性があります。

この例では、実際のファイルの証拠が必要です。ユニバーサルな「どこでも再生できる」コーデックの組み合わせは主張されていません。アプリケーションのバージョン、オペレーティング システム、インストールされているコンポーネントによって互換性が変わる可能性があります。標準を認識している検査官は、ファイルを変更せずにこれらの事実を報告し、診断と変換の明確な区別を維持できます。標準を認識したインスペクタは、バイトを変更せずにこれらのプロパティをレポートし、提案された変換の前に診断を維持します。

これでカバーされないもの — トランスコーディング。これは別のジョブであり、ダウンローダーが黙って実行すべきものではありません。

トランスコーディングでは、トラックをデコードして再エンコードするか、別のコンテナに再多重化します。これは、品質、互換性、リソースの決定を伴う別の処理ジョブです。

ダウンローダーは、出力をサイレントに変換またはアセンブルすることはありません。 WebM というラベルの付いた応答は、URL またはヘッダーが別の期待を示唆していたとしても、ホストが提供したバイトのままです。可逆再多重化でも構造が変更されるため、慎重に行う必要があります。再エンコードすると、品質、サイズ、色、タイミング、メタデータが変更される可能性があります。再多重化でも構造が変更されますが、再エンコードでは品質、サイズ、タイミング、色、メタデータが変更される可能性があります。どちらも明示的な承認に値します。いずれかの操作を行う前に、オリジナルを保存してください。

要点: 何を保存しているのかを把握する — ダイレクト メディア ダウンローダーが再エンコードせずに、提供されたとおりにファイルを保存する方法

転送を非難する前に、何が受け取られたかを把握してください。予想されるソース、バイト サイズ、MIME ラベル、ファイル名、およびインスペクター出力を比較し、許可された互換性のあるプレーヤーまたは意図的な変換ワークフローを選択します。

ToolAcre の狭い忠実性は便利です。再エンコードによって新たなコーデックの問題が発生することはありません。また、単に GET が成功したからといって、サポートされていないソースや破損したソースを修復することもできません。これらの段階を分離しておくと、最初に転送、次に検査、そして明示的な配信要件に基づいてのみ変換というように、トラブルシューティングが監査可能になります。転送、検査、変換を分離することで、失敗の原因が特定され、ダウンローダーが成果物を黙って変更することが防止されます。