ffmpeg構築

MediaCoderを使ってPSP用の動画を作成したりしているが、ウィンドウズ環境を使っているとクライアント環境が重くなるため、いろいろと不便だ。なので、常時稼動状態のLinuxサーバで同様の処理が出来ないか検討する。少し調べてみると、そもそもMediaCoderもffmpegやmencoderというフリーのソフトを利用して(それ以外もあるが)フォーマット変換やサムネイルの生成などを行っている。これらのファイルはMediaCoder直下のcodecsというフォルダに入っている。これらのツールはオープンソースなので当然Linuxにインストールも可能だ。

この部分を可視化したい理由としてはもう1つある。MediaCoderのバージョンを少しあげただけで、それまで安定していた変換処理が不安定になり始めたためだ。結果的にはバンドルされているffmpegが問題で、それを使う変換やサムネイル生成の箇所で落ちる事がわかったが、今回は勉強も含めて絞り込みに多くの時間を要した。という訳で、変換ツールをLinux側に構築する作業を進める。調べた限りでは、初めて使うにふさわしい汎用性の高いツールとしてffmpegをインストールする事に決定。必要なソフトを洗い出してインストールしてみる。

必要とするライブラリは多いが、インストール自体はそれほど難しくなかった。まだ見慣れないソフトが多いため、微妙な派生バージョンがよくわからず、どれを導入すべきか悩む事はあったが。とりあえずは素直にインストールしてみて、実際にffmpegコマンドを発行してみる。主に利用するのはPSPで再生する動画向けのmp4変換とサムネイル用の画像生成処理だ。軽めの動画ファイルを使って動作確認を実施した。動画変換用のコマンドは以下。

ffmpeg -y -i INPUT.wmv -ac 2 -ar 44100 -acodec libfaac -ab 128k -vol 256 -s 480x272 -vcodec libx264 -aspect 16:9 -f psp -b 800k -bt 800k -threads 0 -vpre main -level 21 -refs 2 OUTPUT.mp4

サムネイル生成用のコマンドは以下。

ffmpeg -y -i INPUT.wmv -f image2 -pix_fmt jpg -vframes 1 -ss 300 -s 160x120 -an -deinterlace OUTPUT.jpg

これで特定のディレクトリの動画を自動でmp4化しておいたり、気に入らなかったサムネイルを個別に作り直す事が可能になった。問題はウィンドウズ経由のsambaフォルダなのでマルチバイトのファイル名が面倒なのと、サーバとはいえ数年前に購入したものなので30分の動画ファイルでも変換処理に45分くらいはかかってしまう。その処理を動かすサーバがウェブサーバやメールサーバを兼ねているので、余り負荷が集中するのも好ましくない。ウィンドウズ・クライアントもそうだが、この動画変換を始めてから数年振りに買い替えを検討したくなってきた。以下、参考までに。

  • lameのインストール
  • opencore-amrのインストール
  • faacのインストール
  • faadのインストール
  • x264のインストール
  • xvidcoreのインストール
  • ffmpegのインストール

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)