FFmpeg
FFmpegは動画変換を行ってくれるとても便利なソフトウェアです。
その進捗を出力する方法についてのTipsです。
FFmpegの進捗を出力する
エンコーディングには多少時間がかかりますが、その進捗情報を表示させるためには prgressオプションを使用します。
この -progress
オプションを使うと進捗情報を出力できます。
ファイル出力させたい場合
-progress
の引数に progress.txt
のようにファイルを渡してあげれば良いです。
ffmpeg -i INPUT -progress progress.txt out.mp4
標準出力させたい場合
これが中々分からなかったのですが、標準出力させるには -
を引数に渡してあげると大丈夫です。
(地味にハマりました。)
ffmpeg -i INPUT -progress - out.mp4
FFmpegの進捗をパーセントで出すには
ちなみに、FFmpegの進捗はパーセントで出力されません。
frame数や変換が完了した秒数が取得できるので、変換できたframe数/全体のframe数
または 変換できた時間/全体の時間
という計算を行うことで進捗のパーセントを算出する必要があります。
ぜひ試してみてください。