FFmpeg::Command - A wrapper class for ffmpeg command line utility #1

FFmpeg::Command の修正。

昨日のエントリでの宣言どおり、iPod か PSP を指定することにより、変換フォーマットのオプションを省略できるようにしてみた。

iPod の場合は device オプションすら省略可能で、

$ffmpeg->output_options({
    file => 'nba.mp4',
});

$ffmpeg->output_options({
    file   => 'nba.mp4',
    device => 'ipod',
});

と同等で、更に

$ffmpeg->output_options({
    file                => 'nba.mp4',
    format              => 'mp4',
    video_codec         => 'h264',
    bitrate             => 600,
    size                => '320x240',
    audio_codec         => 'aac',
    audio_sampling_rate => 48000,
    audio_bit_rate      => 64,
});

とも同等です。

PSP の場合は

$ffmpeg->output_options({
    file   => 'nba.mp4',
    device => 'psp',
});

と指定すれば OK で、

$ffmpeg->output_options({
    file                => 'nba.mp4',
    format              => 'psp',
    video_codec         => 'h264',
    bitrate             => 600,
    size                => '320x240',
    audio_codec         => 'aac',
    audio_sampling_rate => 48000,
    audio_bit_rate      => 64,
});

と同等になります。

と言っても、デフォルト値がこれでいいのかはよく分からないので、このパラメータの値はこの方がいいんじゃない?などありましたら、ご指摘頂けると幸いです。

あと、ボンヌさんと相談しまして、こちらで作っているものを CPAN にあげる、ということになりました。ボンヌさん、ありがとうございます。明日のランチ楽しみにしています。

それから、CPAN にあげる前に、FFmpeg の作者の方の意向も聞いてみたいな、と思い、現在コンタクト中です。良い返事がもらえ次第、CPAN にアップしたいと思います。