日刊VOCALOIDランキングを自動化するにあたり、シーンの選択(どの部分を切り取るか)は
重要な課題でした。ですがここは何も考えず、60秒~80秒の位置を機械的に切り取ることにし、
後々に改良していくことにしました。60秒~80秒を選んだのも半分適当で、サビがくるのは
この辺りだろうということで、検証もせずに決めました。これが意外とうまく紹介できている様で
(できていないときもありますが)、2年近くたった今でもこの方式のまま変えずにきています。
そろそろ改良しようと思っているのですが、なかなか良い方法が思いつきません。
動画・音声の変換は初期の頃からずっと FFmpeg を使っています。
このソフトは様々な動画・音声形式を指定した形式に変換してくれます。
ありがたいことにオープンソースとして公開されていて、もちろん無料で使えます。
ただ、ソフト公式サイトではプログラム本体が配布されておらず、ソースコードだけが置いているため、
自分でソースコードをコンパイルするか、別の非公式配布サイトを見つけて入手する必要があります
(ライセンス的にこれは問題ありません)。このソフトの便利なところは、
コマンドラインから呼び出して使う形式なので、自動制御するのが非常に楽であることです。
たとえば、動画ファイルから音声を抜き出して、サンプリングレートを44,100Hzに変換し、
60秒から20秒間切り取るには、以下のコマンドを実行します。
ffmpeg -i video.flv -vn -acodec pcm_s16le -ar 44100 -ss 60 -t 20 output.wav
前回紹介した Slide Show Movie Maker では動画を扱うことはできないので、
ランクインした動画は70秒の地点を静止画で紹介することにしました。
動画ファイルから70秒の地点の画像を抜き出し、サイズを416×312に変更するには、
以下のコマンドを実行します。
ffmpeg -i video.flv -f mjpeg -ss 70 -vframes 1 -s 416×312 -an output.jpg
このように、FFmpeg はいろいろと細かなオプションを指定できるプログラムです。

by rankingloid




