私は狂ったようにグーグルしていて、mjpegのファイル形式の仕様が見つかりません。
ヘッダーはどのように見えるべきですか?ヘッダーの後に一連のjpegを追加するだけですか?
私はそれが通常.aviコンテナにあることを知っています、それはそれにあるかもしれないコーデックのための標準化されたフォーマットを持っていますか?
目標はActionScript3で作成することですが、他の言語から移植することをお勧めします。私はffmpegとmplayerを見てみましたが、cは(まだ)私の強みではありません。
任意の提案をいただければ幸いです!
実際には、最も単純な形式では、mjpegは、同じファイル内で次々にjpegファイルを連結したものにすぎません。
ffmpegは、-f mjpeg
または-vcodec mjpeg
スイッチを使用してこれをサポートします。
複数の画像をデコードするJPEGデコーダーは、それらの画像が置換を提供できない場合、後続の画像に同じjpegテーブルを記憶して使用する必要があります。 jpeg標準では、これを「省略されたjpegストリーム」と記述しており、 libjpeg はこれをサポートしています。
したがって、mjpegには完全なjpegイメージが含まれ、その後、前のフレームと重複するヘッダーを指定しない後続のSOI..EOIブロックが含まれる場合があります。
どうやら単一の仕様はありません。から ウィキペディア :
批判
MPEG-2などの国際規格で指定されているビデオフォーマットやJPEG静止画コーディング規格で指定されているフォーマットとは異なり、「MotionJPEG」の完全な仕様として広く認識されている単一の正確なフォーマットを定義するドキュメントはありません。すべてのコンテキストで使用します。これにより、さまざまなメーカーからのファイル出力に関する互換性の懸念が生じます。
IETFには、 RFC 2435 として定義された標準があります。どのコーデックがこれをサポートするかはわかりませんが、これはデータ仕様のようです。
MJPEG over HTTPには、少なくともかなり標準的な実装があります。マルチパートHTTP応答として返されます。
ウィキペディアの記事では、正確なメカニズムについて説明しています。
単一の公式仕様はありません。しかし、一部の会社は独自の仕様を作成しました。
QuickTimeファイル形式の仕様( https://developer.Apple.com/library/content/documentation/QuickTime/QTFF/QTFFPreface/qtffPreface.html )
Motion JPEG形式、QuickTime M-JPEG仕様( http://staticky.com/dl/ftp.Apple.com/developer/Development_Kits/QuickTime/Programming_Stuff/Documentation/QuickTime-JPEGSpec.pdf )
Microsoft OpenDML AVIファイル形式拡張子( http://www.morgan-multimedia.com/download/odmlff2.pdf )
このドキュメントはネット上の他の場所で見つけることができますが、どれが信頼できるソースであるかはわかりません: http://www.cajunbot.com/wiki/images/7/71/USB_Video_Payload_MJPEG_1.1。 pdf
何日もインターネットで検索した後、完全なドキュメントもファイルプロトコルのバイナリ例も見つかりませんでした。
私がこれまでに見つけた最も有益なリソースについては、 http://www.digitalpreservation.gov/formats/fdd/fdd000127.shtml (Motion JPEG2000ファイル形式-には多くの「便利な参照URL」があります。 「最後に「モーションJPEG2000の概要」を含みます。これは少なくとも質問への回答に向けて何らかの方法で進みます)。
Apple MOV PDFがたくさんあり、Motion JPEGが含まれているようですが、解読には数週間かかります。上記のURLがさらなる調査の出発点として適していることを他の人に提案することしかできません。
Motion JPEGでは、デジタルビデオシーケンスの各ビデオフレームまたはインターレースフィールドは、JPEG画像として個別に圧縮されます。したがって、It's Headerに格納されている各フレームの仕様(品質係数など)。言い換えれば、あなたの問題はこれに還元されました:「ビデオのフレームのヘッダーを読む方法は?」
PhilSalleeのJPEGToolbaxを使用できるかもしれません。 jpeg画像を読み書きする機能と、DCT行列、品質係数、ハフマン符号化テーブルなどを表示する機能があることに注意してください。
ビデオでこの機能を使用する方法および/またはMJPEGビデオの仕様を読む方法を見つけた場合は、私たちを共有してください