コマンドラインから.aviファイル情報を取得する

コマンドラインから.aviファイル情報を取得する

.aviコマンドラインからビデオファイル(私の場合)のビットレート、フレームレート、幅/高さなどの情報を取得する最良の方法は何ですか? ImageMagicksに似た基本ツールを探していますidentify

実行すると、mplayerすでに次の情報が表示されます(ただしそれ以上)。

VIDEO:  [FMP4]  800x711  24bpp  25.000 fps  1320.9 kbps (161.2 kbyte/s)

この出力を提供する方法はありますかmplayer(人では見つかりませんでした)。それとも、同じ情報を取得する別の標準bashコマンドがありますか?

ベストアンサー1

mplayermidentify目的のほとんどのタスクを実行するユーティリティが付属しています。

出力は変数の割り当てのように見えるので、スクリプトで使用するための解析は非常に簡単で簡単です。

midentifyパッケージと一緒にインストールされていない場合は、スクリプトなどがある可能性がmplayerあります。そうでない場合は、特定のパラメーターセットを使用して実行してください。midentify.sh/usr/share/mplayermidenfifymplayer

#!/bin/sh
#
# This is a wrapper around the -identify functionality.
# It is supposed to escape the output properly, so it can be easily
# used in shellscripts by 'eval'ing the output of this script.
#
# Written by Tobias Diedrich <[email protected]>
# Licensed under GNU GPL.

if [ -z "$1" ]; then
        echo "Usage: midentify.sh <file> [<file> ...]"
        exit 1
fi

mplayer -vo null -ao null -frames 0 -identify "$@" 2>/dev/null |
    sed -ne '/^ID_/ {
                      s/[]()|&;<>`'"'"'\\!$" []/\\&/g;p
                    }'

-aoとパラメータ-voはクリップが実際に再生されるのを-frames防ぎます。mplayer今残ったのはフォーマットだけだ。

例:

$ midentify some_random.avi 
ID_VIDEO_ID=0
ID_AUDIO_ID=0
...
ID_VIDEO_BITRATE=258488
ID_VIDEO_WIDTH=320
ID_VIDEO_HEIGHT=240
ID_VIDEO_FPS=29.917
...
ID_LENGTH=4216.76
...
ID_AUDIO_BITRATE=64000
ID_AUDIO_RATE=22050
...

おすすめ記事