ffmpeg-php

NetCommonsに動画配信モジュールという便利なモジュールが公開されていますが、このモジュールを使用するにはffmpegおよびffmpeg-phpを事前に組み込んでおく必要があります。

そのセットアップを行った時の作業メモです。

Windowsの場合

環境はWindows7+XAMPP(Ver1.74)、すでにNetCommons、動画配信モジュールはインストール済みの状態とします。

ffmpegインストール

http://ffmpeg.arrozcru.org/autobuilds/を開き、win32 staticからffmpeg-r26400-swscale-r32676-mingw32-static.7zをダウンロード。

解凍してできたbinフォルダ内のexeファイルをc:¥ffmpegなどにコピーします。

exeファイルを置いたフォルダにはWindowsの環境変数でパスを通しておきます。

ffmpeg-phpインストール

How to install ffmpeg on windows

上記ページを参考に、http://sergey89.ru/files/ffmpeg-php/よりffmpeg-phpをダウンロードドします。

※私の場合、xampp環境がPHP5.3系だったので「ffmpeg-php-5.3-win32-all.zip」を落としてみました。

次に、zipファイルを解凍して以下のファイルをc:¥windows¥system32フォルダへコピー。

  • avcodec-52.dll
  • avcore-0.dll
  • avformat-52.dll
  • avutil-50.dll
  • swscale-0.dll

また、次のファイルをphpのextension(xampp¥php¥ext)フォルダへコピーします。

  • php_ffmpeg.dll

php.iniにffmpeg-phpを設定します。

extension=php_ffmpeg.dll

php.ini更新後、Apacheを再起動します。

phpinfo()よりffmpegが有効になっていることが確認できると思います。

phpinfo_ffmpeg

動画変換モジュールのソースで、変換処理がLinuxコマンドの記述になっているので修正します。

webapp¥modules¥multimedia¥validator¥Validator_ItemUpload.class.php

//$str_cmd = "/usr/local/bin/ffmpeg -y -i ".$file_dir.$file['physical_file_name']." -ar 44100 ".$file_dir.$item_name.".flv 2>&1";
$str_cmd = "ffmpeg -y -i ".$file_dir.$file['physical_file_name']." -ar 44100 ".$file_dir.$item_name.".flv 2>&1";

後は、動画配信モジュールをNetCommonsのページに配置して動作確認します。

こんな感じで見れました。お手軽に動画コンテンツが作れそうですね。

動画配信モジュール

Ubuntuの場合

ついでに、Ubuntu 10.04環境でも試してみました。

ffmpegのインストールは下記URLの手順通りに行います。

Ubuntu 10.04 lucid lynxで最新FFmpegとx264をインストール・使用する。 – Ubuntu Japanese Wiki

次にffmpeg-phpをインストール。

$ sudo apt-get install php5-ffmpeg

インストール後はApacheを再起動します。

後は動画配信モジュールをページに配置して動作確認できました。