私はffmpegを使用して、私のWebサイトにアップロードされたすべてのビデオファイルがmp4 h264としてエンコードされることを確認する予定です。
すべてのファイルを自動的に処理するのではなく、まだmp4 h264ではないファイルのみを処理することで、処理のオーバーヘッドを最小限に抑えたいと思います。 ffmpegまたは別のコマンドラインユーティリティを使用してこれを行う簡単な方法はありますか?
他のパラメーターなしで入力ファイルをffmpegに渡すと、ビデオソースに関する情報が得られます。
ffmpeg -i myfile.avi
別の方法は-identify
mplayerのオプション。解析が少し簡単になる場合があります。より優れた出力を提供するラッパースクリプトmidentify
があります。 この例を参照してください。
ffprobe
を使用します。
$ ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=nokey=1:noprint_wrappers=1 input.mp4
h264
-v error
致命的なエラーを除いて、追加情報を省略します。
-select_streams v:0
最初のビデオストリームのみを選択します。それ以外の場合、codec_name
ファイル内の他のすべてのストリーム(オーディオなど)も表示されます。
-show_entries stream=codec_name
出力のみcodec_name
すべてのストリーム情報の代わりに。
-of default=nokey=1:noprint_wrappers=1
デフォルトの出力形式スタイルを選択し、キーとラッパー情報を省略します。それ以外の場合は、これらのオプションなしで、次のように出力されます。
[STREAM]
codec_name=h264
[/STREAM]
別の方法は、ffmpegに含まれているffprobe
を使用することです。以下は、ffmpegツールから見つけることができる最も簡潔な出力を提供します。
ffprobe -hide_banner -stats -i myfile.avi