メモ‎ > ‎タイムプラス動画‎ > ‎

FFmpeg について(1)

2015/06/10 16:05 に mura が投稿   [ 2015/06/10 16:07 に更新しました ]
レコロ動画のコンバーターで動画の編集には FFmpeg を使っています。
動画の編集機能を一からプログラムンぐするのは気の遠くなるような無謀な作業なので、既に利用できる技術を使っていますが、そのために様々な制約もあります。
このコンバーターで動画を編集する際には、FFmpeg についても必要最低限の範囲での知識があった方が良いと思いますので、気が付いたことを数回に分けてメモしておきます。

ffmpegは、無料で使える動画のエンコーダですが、非常に多機能で様々なオプションを駆使すれば、より詳細な設定でH.264、webm、wmvの動画を変換できます。
初回は動画を静止画に取出す機能です。

通常はコマンドラインや、バッチファイルを介して、ffmpegにオプションの設定を渡しますが、レコロ動画のコンバーターではプログラムを使って自動化しています。
そのための設定は次のようなものです。

ffmpeg [グローバル オプション] [入力ファイル オプション] -i [入力ファイル名] {[出力ファイル オプション[入力ファイル名]}

実行時のコンソールにはこんな風に表示されているはずです。
D:\reconverter\bin\ffmpeg.exe -y -i "D:\ideos\rcl00001.avi" -f image2 -vcodec mjpeg -qscale 1 "D:\Videos\rcl00001\rcl00001-%05d.jpg"

ここでメインオプションは
-y  
出力ファイルを上書きを使っています。つまり、既に同名のファイルがあった場合は上書きしてしまいますので注意が必要です。

ファイルごとのオプションでは、入力ファイル オプションは特になしで、「-i 入力ファイル名」を渡しています。
出力ファイル オプションは

-qscale 1
ビデオコーデックの指定は 「-vcodec mjpeg」 としています。PNGの時は「-vcodec png」で、出力する画像の種類を指定しています。

-qscale 1
画像の品質指定では、ビデオ量子化スケールを最大にしています。
数値は1(非常に高品質)から31(最悪の品質)で、最高品質が得られますが、ファイルサイズは大きくなります。

こんな意味合いで指定しています。

Comments