rui live note

WordPress、PHP、子育て、ブログ、将棋、コワーキング、子育て、群馬等に関する日々感じたことを書いているブログです

*

ffmpeg-phpを入れてNetCommonsの動画配信モジュールを使ってみるまでのセットアップ手順

      2014/03/05   NetCommons, 開発 , ,

  • このエントリーをはてなブックマークに追加
  • Pocket

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を再起動します。

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

ad

この記事が気に入ったらシェアしてもらえると嬉しいです!

  • このエントリーをはてなブックマークに追加
  • Pocket
  • follow us in feedly
  • RSS

Comment

  1. つつぞう より:

    記事参考にさせていただいてます。
    dllをsystem32においただけでは、xamppでapache起動時に、avcodec-52.dllがないというエラーになったのですが、以下の方法で回避できたので共有させていただきます。
    xamppで困ったら、以下のディレクトリにdllぶちこめ!ってことですかね。
    今後ともよろしくお願いします。

    23 Nov 2010 http://www.MuzammilHussain.com
    You have done a good job.

    I am working with Windows 2008 64bit, XAMPP 1.7.3.
    is it possible to get the php_ffmpeg.dll for 64 bit as I have already tried the following url files
    http://quezar.ro/php_ffmpeg/ and these files work well with Windows 32bit version as i take them to windows 64bit it give the following 2 errors when I start or restart the Apache server.

    httpd.exe – System Error:
    The program can’t start because avcodec-52.dll is missing from your computer. Try reinstalling the program to fix this problem.

    Warning:
    PHP Startup: Unable to load dynamic library ‘C:\xampp\php\ext\php_ffmpeg.dll’ – The specified module could not be found.

    Kindly can you advise on the following subject.

    my email is muzammilhussain@live.com

    Thank you in anticipation

    Regards,
    Muzammil Hussain
    23 Nov 2010 Jan Ehrhardt
    @Muzammil: I am running Sergey’s compilation with Apache 2.2.15, PHP 5.2.12 under Win 2008 R2 64bit. My initial setup was Xampp 1.7.1, but I upgraded Apache and PHP some minor versions.

    Try putting the DLL’s in \xampp\php and also in \xampp\apache\bin. That was always my solution when something of php_ffmpeg would not load. This works with quezar’s compilation under XP, but I did not try it on my production server yet.

    I hesitate to upgrade the production server to Xampp 1.7.3 and still hope Sergey will recompile his current PHP 5.2.x version with the latest libavcodec.
    24 Nov 2010 http://www.MuzammilHussain.com
    Brother Jan Ehrhardt, you are creative genius :)
    Your solution works well with my server.

    My XAMPP configuration on which your solotuion works is as follows;

    XAMPP 1.7.3
    PHP 5.3.1
    Apache 2.2

    Many thanks brother.

    • ko31 より:

      >つつぞうさん
      情報ありがとうございます!
      なるほど \xampp\php、\xampp\apache\binフォルダにもdllを入れてみる、ということですね。
      同じような問題が起きたら試させて頂きます。

  2. つつぞう より:

    Ko31さん

    PHP(WEBアプリも)初心者ですが、これからPHPでNHKの語学番組ストリーミングサイトから、
    ・MP3への変換サポート
    ・MP3ファイルのdropboxへの保存
    ・dropboxからのMP3のpodcast配信設定
    をユーザーのリクエストによって実行できるようなサイトを作りたいと思っています。
    #今回そのために、まずはクライアントに閉じた開発環境構築をはじめたところです。
    PCでクライアントからストリーミングをMP3へ保存するようなアプリはあるのですが、
    それをサーバーサイド側の処理で実現して、さらにユーザーのdropboxへ連携して、
    保存、podcast設定までしてくれる機能が実現できればかなり便利で、使ってくれる
    人も多いかなと思い。

    なにぶん初心者のため、もしよろしければ今後、つまったときにサポートお願いしたく。
    よろしくお願いします。

    • ko31 より:

      >つつぞうさん
      それだけやる目的があるときっと学習も捗るでしょうね。
      キーワードが語学学習ということならきっとニーズも少なくないと思います。
      私が分かることでしたらお答えしますので、サイト作り頑張ってください!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  関連記事

関連記事はありませんでした