次の方法で共有


AVI ファイルへの圧縮メディアの格納 (Microsoft Media Foundation)

Windows Media Audio コーデックと Video コーデックを使用して圧縮するコンテンツは、コンテナー形式で配置する必要があります。 最も一般的な形式の 1 つは、オーディオ ビデオ インターリーブ (AVI) です。 Windows 用 Microsoft Video (VfW) または Microsoft DirectShow を使用して AVI ファイルを作成できます。 Video for Windows または DirectShow の使用の詳細については、MSDN の製品ドキュメントを参照してください。

Windows Media Audio および Video コーデックは、Windows Media で使用されるコンテナーである Advanced Systems Format (ASF) のプロパティを使用するように開発されています。 AVI と ASF はコンテンツの保存方法が異なるため、WINDOWS Media Audio および Video コーデックで圧縮されたコンテンツを AVI ファイルに格納すると、いくつかの困難が発生します。

Windows Media Audio コーデックは、個々のサンプルのタイム スタンプなしでは適切に圧縮解除できないようにオーディオ コンテンツを圧縮します。 これにより、圧縮メディアの最適化が可能になります。 ASF コンテナーはすべてのサンプルでタイム スタンプを保持するため、オーディオ アルゴリズムのこの特性は常に正常に機能しています。

ただし、AVI ファイルでは、サンプルと共にタイム スタンプを保持しないでください。 これは、AVI ファイルに格納されている場合、Windows Media Audio コンテンツを適切に展開できないことを意味します。 Windows Media Video コンテンツにはこの制限はありません。AVI ファイルに含めることができます。 同期されたサウンドを持つ AVI ファイルに Windows Media Video コンテンツをエンコードするには、別のオーディオ コーデックを使用する必要があります。

WINDOWS Media のコンテナーとして AVI ファイルを使用する場合のもう 1 つの問題は、低ビットレートのビデオに関するものです。 Windows Media Video コーデックで低ビット レートのビデオ コンテンツを生成する方法の 1 つは、重複するフレームを削除することです。 Windows Media Video コンテンツを ASF ファイルに配置する場合は、すべてのフレームがファイル内で表されるように、重複するフレームのダミー フレームを配信するようにエンコーダーを設定する必要があります ( MFPKEY_PRODUCEDUMMYFRAMES をVARIANT_TRUEに設定します)。 コーデックによって生成されるダミー フレームのサイズは 8 バイトです。 ただし、AVI マルチプレクサーによってファイルに書き込まれるフレームは、数百バイト大きく、ランダムなデータでいっぱいになる可能性があります。 この方法で作成されたAVIファイルは引き続き再生できますが、予想よりもはるかに大きくなります。 AVI ファイル内のストレージ用にビデオをエンコードするときに、より高いビット レートを使用することで、この問題を回避できます。

Windows Media コーデック