【コラム】

OS X ハッキング!

131 OS XでPSPを愉しむ - 動画活用編

    海上忍  [2005/04/18]

    Panther最後(?)の10.3.9アップデータ、速攻で当てましたよ。WebCoreが更新されたせいか、Safariの体感速度はかなりサクサクに。その代わり...... Javaが動かなくなりました。Tiger発売までにもう一度アップデータが配布されるかも?

    さて、今回は前回に引き続きMac OS XでPSP用ムービーを作成する方法について。faacライブラリとffmpegをインストールして"とりあえず"使える状態になったことを前提に、ワンランク上を目指すための活用方法を紹介してみたい。

    ffmpegの使い方

    前回はいきなりffmpegコマンドの実行例を紹介したが、今回はオーソドックスに書式とオプションの使い方から解説を始めよう。

    まず覚えておきたいのは、生成する動画のフォーマット。メモリーカードに記録する動画は、映像部分をMPEG-4 Visual Simple Profile、音声部分をMPEG-4 AAC LCという構成にすることは前回述べたとおりだが、ffmepgではその組み合わせに対応したフォーマットとして「psp」を用意している。現在のところ、ffmpegのCVS版でなければ使えないが、「-f psp」とするだけでコーデックの指定が不要になるという寸法だ。

    もっとも、それだけでは情報不足。映像部分はフレームレートと画面サイズ、そしてビットレートを指定する必要がある。音声部分についても、サンプリングレートとビットレートが必要。「-i」オプションで変換元の動画ファイルを指定し、コマンドラインの末尾に変換後のファイル名を与えればOKだ。その他のオプションについては、「man ffmepg」とすると表示されるオンラインマニュアルを参照のこと。

    ffmpegコマンドの主要なオプション

    オプション意味と注意点
    -i変換元のファイル名を指定する
    -fフォーマットを指定する(例:-f psp)
    -rフレームレート(単位=fps、PSPの場合29.97または14.985)
    -s画面サイズ(PSPの場合320x240または160x112)
    -b映像のビットレート(単位=Kbps、PSPの場合768以下)
    -ar音声のサンプリングレート(単位=KHz、PSPの場合24を指定)
    -ab音声のビットレート(単位=Kbps、96と128で動作確認済)

    いろいろなコーデックで試す

    ffmpegは標準で各種コーデックに対応しているため、MPEG-1/2やDV、DivXやXvidなど、現在普及している動画フォーマットの多くをそのまま変換できる。変換元のフォーマット形式は自動判定されるため、「-i」オプションに続けてファイル名を指定さえすれば、あまり意識する必要はない。前回紹介した方法でビルドしたffmpegコマンドを使用した動画の変換結果については、下表を参考にしてほしい。

    「sh configure --enable-faac」でビルドしたときの変換結果

    動画フォーマット結果詳細
    MPEG-1映像(320x240/29.97fps)、音声(MP2/48kHz)
    MPEG-2映像(720x480/29.97fps)、音声(MP2/48kHz)
    MPEG-2×映像(720x480/29.97fps)、音声(AC3/48kHz)
    MPEG-4×映像(320x240/29.97fps)、音声(AAC/48kHz)、QuickTime Pro 6で作成
    Divxバージョン4.x~5.11、映像(640x480/29.97fps)、音声(MP3/48kHz)
    DV映像(720x480/29.97fps)、音声(48kHz)
    Xvid映像(640x480/29.97fps)、音声(MP2/48kHz)
    WMV×映像(Windows Media Video 9)、音声(Windows Media Audio)
    その他×映像(Indeo 5.0)、音声(PCM)

    DVDレコーダーで録画した番組を変換できない理由

    ffmpegでは、一部の映像/音声コーデックは外部のプログラムに処理を依存している。前回ffmpegをビルドしたとき「--enable-faac」というオプションを指定したが、これはAACの音声をエンコード/デコードする外部ライブラリとして「libfacc」を指定することを意味する。しかし、これでは市販のDVDレコーダーで録画した番組(MPEG-2)は変換できない。

    実は、configureスクリプト実行時に指定可能なオプションはいくつかあり、前回は必要最低限の「--enable-faac」しか指定しなかった。音声部分がDolby Digital(AC3)のMPEG-2ムービーを対象にするならば、「--enable-a52」を加える必要があったのだ。現在、市販のDVDレコーダーの多くは標準の音声フォーマットとしてAC3を採用しているため、DVDレコーダーで録画した番組をPSPで見ようとすればffmpegでAC3を扱えるようにしなければならない。

    と、ここで紙幅が尽きてしまった。次回はDVDレコーダーで録画したTV番組をPSPで見るべく、liba52のインストールやDVDから直接動画を生成する手順について解説する予定だ。

    新着記事

    特設サイトの情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      マイナビニュースマガジン