ffprobeをマスターしたい



出力フォーマットについて

-of csv
-of json
-of xml
-of ini
-of compact

-of csv="p=0"
1列目の要素無しとかもできる。




情報

ffprobe -v error -print_format json -show_format


サイズ確認

ffprobe -v error input -select_streams v -show_streams  -show_entries stream=width,height

画像でも可能.

動画の長さ

ffprobe -v error -i "MicrosoftTeams-video (1).mp4" -show_entries format=duration





gaso = tate * yoko
yoko/tate = a
→ yoko = a * tate
gaso = tate * a * tate



メディアのストリーム情報,フォーマット情報

ffprobeで解像度,コーデック,チャンネル数などメディアのストリームに関することを調べられる.

duration (再生時間), Stream (??)など

ffprobe input.mp4

input.mp4:
http等のURLでも可能.
あんまり使う情報じゃないかも.
-v error を付与することで,エラー時以外は出力されなくなる.
エラーがあるかの判断に使える?
以降,この出力はあんまり必要ないなので,毎回-v errorを入れておけば良い.

ffprobe -v error input.mp4 -flag1 -flag2 ...

のように以下に記載するflagを追記していけば良い.

フォーマットを表示する

-show_format

nb_streams: ストリーム数
format_long_name: コンテナ
duration: 再生時間

全ストリーム表示する

-show_streams

H.264コーデックのビデオストリーム,aacコーデックのオーディオストリーム等についてが出力される.

ビデオ/オーディオストリームの情報のみ出力

ビデオストリーム

-select_streams v

オーディオストリーム

-select_streams a 


フィルターをかけて出力

ストリームのコーデック名のみ

-show_entries stream=codec_name

フォーマットのフォーマット名のみ

-show_entries format=format_name

フレームレート

-show_entries stream=r_frame_rate

再生時間

-show_entries stream=duration


出力形式をフォーマットをCSV, XML, JSONに変更

-print_format json

-print_formatの後に,csv, xml, jsonを記述.

出力時のラッパーを出力しない

[STREAM] [/STREAM] がいらない

-print_format default=noprint_wrappers=1


さらに出力時のラベルを出力しない

(出力)codec_name=h.264 の "codec_name="の部分

-print_format default=noprint_wrappers=1:nokey=1