-2

画像とあらゆる種類のアニメーションのメタデータを処理するアプリケーションを作成しているので、アニメーション ファイルに関する基本的な情報を見つける方法を探しています。

  • 長さ (分/秒/フレーム)
  • ピクセルの縦横比
  • 個々のフレームの解像度
  • フレームレート

今、私は自分のプログラムを実行させます

mplayer -identify animfile.avi

コンソール出力を解析します。これには、必要なすべての情報が機械可読形式で含まれています。これは問題なく動作しますが、プログラムの潜在的なユーザーの中にはvlcをメディア プレーヤーとして好む人もいることを知っているので、インストールされている mplayer に大きく依存することは避けたいと思います。

私はもう試した

vlc -vv animfile.avi

これはコンソールにとんでもない量のがらくたを出力し、時には私が探しているものを含んでいます。ただし、アニメーションのファイル形式によって、フォーマットと印刷されるデータが異なるようです。

通常のLinuxインストールで通常利用可能なvlcまたはその他のアプリ/ライブラリを使用して、デコーダーがある形式のアニメーション(特にアニメーションの長さ)から基本情報を抽出する簡単な方法はありますか?

編集:avi、mpg、mov、wmv、vobなど、あらゆるアニメーション形式で機能するはずなので、別のプログラムを使用して汚い作業を行いたい.

編集: totem-video-indexer はより有望なようで、標準インストールにも含まれていました。しかし、それを便利にするのに十分なコーデックはありませんでした。これは、medibuntu から「non-free-codecs」パッケージをインストールすることで修正できます。

4

3 に答える 3

1

の出力totem-video-indexerは非常に簡単に解析できます。

TOTEM_INFO_DURATION=5217
TOTEM_INFO_HAS_VIDEO=True
TOTEM_INFO_VIDEO_WIDTH=720
TOTEM_INFO_VIDEO_HEIGHT=480
TOTEM_INFO_VIDEO_CODEC=XVID MPEG-4
TOTEM_INFO_FPS=30
TOTEM_INFO_HAS_AUDIO=True
TOTEM_INFO_AUDIO_BITRATE=50
TOTEM_INFO_AUDIO_CODEC=MPEG 1 Audio, Layer 3 (MP3)
TOTEM_INFO_AUDIO_SAMPLE_RATE=48000
TOTEM_INFO_AUDIO_CHANNELS=Stereo
于 2009-10-09T13:25:11.060 に答える
0

mediainfo は非常に便利なプログラムです。これは LGPL であり、libmediainfo の単なるフロントエンドであり、まさにあなたが望むものです。

http://mediainfo.sf.net/

于 2009-12-09T22:31:33.680 に答える
-1

これは、あなたが思っているよりも少し難しい質問です。AVI ファイル形式は時間の経過とともに拡大し、多くの場合、2 つまたは 3 つの異なる場所にほぼ同じ情報が含まれています。場合によっては、それらは実際に一致するはずですが (ただし、そうでない場合もあります)、微妙に異なる場合もあります。

たとえば、幅と高さについて尋ねました。1 つのフレームには、実際には 4 つの異なる幅/高さの仕様があります。画面の幅/高さ、ピクセルの幅/高さ (ピクセルの縦横比を導出する)、アクティブな幅/高さ、および圧縮された幅/高さです。フレームの幅と高さは、画面の (理論上の) サイズです。アクティブな幅/高さは、オーバースキャン領域を除外します。圧縮された幅/高さは丸めを考慮します。たとえば、JPEG は 8x8 ピクセルのブロックで圧縮されるため、モーション JPEG ファイルの場合、圧縮された幅と高さは 8 の倍数である必要があります。アクティブな幅/高さは、(たとえば) 境界の一部のピクセルを無視する必要があるかどうかを示します。

いずれにせよ、あなたの質問には C++ のタグが付けられているので、汚い仕事をするために何か他のものを生成することに依存するよりも、ファイルを読んで直接データを取得したいと思うでしょう。もしそうなら、おそらくOpenDML AVI file specを見たいと思うでしょう。ファイルの先頭の固定された場所にある基本的な AVI ヘッダーを読み取るだけで、長さ、解像度、フレームレートの少なくとも一部を把握できます。ただし、ピクセルアスペクト比に到達するにはもう少し作業が必要です...

于 2009-10-09T14:33:41.117 に答える