7

カメラからMJPEGストリームを受信して​​います。16進エディタでビデオデータを見ると、ストリーミング情報が含まれていないようです。生のJPEGが次々と表示されますが、フレームレートなどに関する情報はありません。

MJPEGのメタ情報の欠如は正常ですか、それとも私が使用しているカメラに関連しているだけですか?ストリームに関する情報がない場合、プレーヤーはどのようにしてビデオの再生速度を知ることができますか?

4

3 に答える 3

10

メタデータの欠如は正常です。IPカメラは通常、MJPEGをそのように送信し、JPEG画像を次々にストリームとして送信します。これは最も基本的な有効なMJPEGファイルです。大量のjpegを取得し、それらをまとめて大きな巨大なファイルにまとめ、それをffmpegにフィードすると、有効なmjpeg形式のファイルと見なされます。一部のカメラは、オーディオデータを含む追加のヘッダーを追加しますが、有効なモーションjpegと見なす必要はありません。

多くのカメラでは、ストリームが最初に送信されるときにHTTPヘッダーにX-Framerateのようなヘッダーが含まれます。または、カメラ構成の一部として設定することもできます。ただし、カメラがjpegのみを送信する場合、フレームレートが何であるかをストリーム自体から判断する方法はありません。

于 2012-05-22T21:22:25.270 に答える
6

MJPEGのメタ情報の欠如は正常ですか、それとも私が使用しているカメラに関連しているだけですか?ストリームに関する情報がない場合、プレーヤーはどのようにしてビデオの再生速度を知ることができますか?

すでに回答済みに加えて、IPカメラはライブビデオソースであり、フレームは通常、カメラから到着するとすぐに表示されます。まれなIPカメラは、名声サイズ以外のフレームごとの追加情報を添付します(これさえ行わないものもあります!データとセパレーターのみを送信します)。それでも、タイムスタンプや動き検出状態などの追加データを添付するものもあります。

ほとんどのIPカメラは一定のフレームレートを実行しません。つまり、フレームレートは、特に変動する可能性があります。暗い場所では下げてください。データをコンテナ形式に多重化する場合、フレームごとのタイムスタンプを添付するのは受信側の責任です。タイムスタンプはメタデータ(めったに存在しない)から回復されるか、または(より頻繁に)受信者がローカル受信時間をフレームにスタンプします。

これは、プレーヤーがビデオシーケンスを適切なレートで再生するための方法です。ライブフィードは通常、「受信したフレームをできるだけ早く表示する」ベースで表示されます。

于 2012-06-01T17:22:25.177 に答える
0

通常、MJPEGデータは、AVIやMOV(クイックタイム)などのストリーミングメディアラッパー内で送信されます。ラッパー形式には、フレームレートとオプションのオーディオデータに関する情報が含まれます。

于 2012-05-17T14:04:07.487 に答える