0

Mencoder には、VLC で再生できる「MJPG」コーデックを使用して、mjpeg ファイルを avi ファイルに変換する優れたオプションがあります。

これを行うコマンドラインは次のとおりです。

mencoder filename.mjpeg -oac コピー -ovc コピー -o outputfile.avi -speed 0.3

ここで、0.3 は、デフォルトの 25 fps に対する目的の再生フレームレートの比率です。これは、mjpeg ファイルのコピーを作成し、ファイルのフレーム位置のインデックスと思われる avi ヘッダーを一番上に配置するだけです。

これを自分のコードで複製したいのですが、ドキュメントがどこにも見つかりません。インデックス セクションの正確な形式は何ですか? 何らかの理由で、ヘッダーに余分なフィラー バイトが含まれています。

ドキュメントがどこにあるか知っている人はいますか? mencoder と vlc の両方に、このコーデックが組み込まれているようです。

4

1 に答える 1

1

多くの作業、研究、および HxD と RiffPad をいじった後、私はついにそれを理解しました。すべてを説明するには長いブログ エントリが必要ですが、基本的に「MJPG」コーデックは存在しません。mjpg は、いくつかのトリックと avi 標準の特殊な部分を使用して、インデックス付きファイルを生成するだけです。

重要なのは、「00dc」と Int32 の長さのタグを、各 Jpeg オープン タグの前に 8 バイト配置することです。avi をランダム アクセスにしたい場合は、最後に「00dc」タグ位置のそれぞれを指すインデックスが必要です。

VLC はこれをネイティブに再生します。ffmpeg がインストールされている場合、Windows Media Player はそれを使用してこれらの種類の mjpg ファイルをデコードします。

于 2011-08-18T18:32:29.957 に答える