arinux

Linux サーバー設定備忘録
<< MySQL (10) - MySQL Cluster (4) | main | Wordpress 2.8 (1) - インストール >>
ffmpeg-php


ffmpeg-php は、ffmpeg の機能の一部を PHP エクステンションとして利用できるものです。


メモ ffmpeg コンパイル


※ ffmpeg-phpのインストールには ffmpeg 本体が必要で、ffmpeg のコンパイル時に以下を指定する必要があります。

--enable-shared


メモ ffmpeg-php インストール


  1. ffmpeg-php を利用するためには、以下のものが必要です。

    • ffmpeg-0.4.9_pre1 以上
    • php-4.3.0 以上
    • gd-2.0 以上(PHP にバンドルされています)


  2. http://ffmpeg-php.sourceforge.net/ から、「ffmpeg-php-0.6.0.tbz2」 をダウンロードして、「/usr/local/src」 に置きます。


  3. 解凍します。
  4. [root]# cd /usr/local/src
    [root]# tar xjf ffmpeg-php-0.6.0.tbz2 -C /usr/local/src
    


  5. configuration ファイルを作成します。
  6. [root]# cd /usr/local/src/ffmpeg-php-0.6.0
    [root]# phpize
    Configuring for:
    PHP Api Version:         20041225
    


  7. コンフィグ、コンパイル、インストールします。
  8. [root]# ./configure
    [root]# make
    [root]# make install
    Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20060613/
    


  9. php.ini に extension を追加します。
  10. [root]# vi /usr/local/lib/php.ini
    extension_dir="/usr/local/lib/php/extensions/no-debug-non-zts-20060613"
    extension=ffmpeg.so
    


  11. httpd を再起動します。
  12. [root]# /etc/rc.d/init.d/httpd restart
    


  13. 動作確認をします。動作の確認は、/usr/local/src/ffmpeg-php-0.6.0 ディレクトリにある tests と test_ffmpeg.php をドキュメントルートにコピーしてアクセスし、テスト用ファイルのデータが出力されれば正常です。

    • http://10.1.1.15/test_ffmpeg.php にアクセス
    • ffmpeg-php version string: 0.6.0-svn
      ffmpeg-php build date string: Feb 25 2009 10:03:14
      libavcodec build number: 3412480
      libavcodec version number: 3412480
      
      Methods available in class 'ffmpeg_movie':
      __construct
      getduration
      getframecount
      getframerate
      getfilename
      (以下、省略)
      


メモ サンプル・コード


参考サイト: ITpro: ffmpeg-phpで動画のデータを取得しよう


  1. フレームレートを表示
  2. [root]# vi sample01.php
    
    <?php
    
    //dl("ffmpeg." . PHP_SHLIB_SUFFIX); //php.ini に記述していれば extension のロードは不要
    
    $movie_path = '/data/www/doga/movie/SampleMovie.mov';  //画像ファイルのパス
    $movie = new ffmpeg_movie($movie_path);    //インスタンス生成
    
    echo $movie->getFileName();   //ファイル名取得、表示
    echo "<br>";
    echo $movie->getFrameRate();  //フレームレート取得、表示
    
    ?>
    


    • 実行結果(http://10.1.1.15/sample01.php にアクセス)
    • movie/SampleMovie.mov
      30
      


  3. 100フレーム目で切り出した画像を表示
  4. [root]# vi sample02.php
    
    <??php
    
    $movie_path = 'movie/spider-man_3-tsr_h480.mov';  //画像のパス
    $movie = new ffmpeg_movie($movie_path);    //インスタンス生成
    
    $frame = $movie->getFrame(100);            //100フレーム目を取得
    $image = $frame->toGDImage();              //画像データを取得
    
    ob_end_clean();
    header('Content-Type: image/jpeg');
    imageJpeg($image,null,100);
    imageDestroy($image);
    
    ?>
    



ここまで

| arinux | Tools | 15:30 | comments(0) | trackbacks(0) | pookmark |









http://www.arinux.net/trackback/99
   1234
567891011
12131415161718
19202122232425
2627282930  
<< November 2017 >>
+ SELECTED ENTRIES
+ RECENT COMMENTS
+ RECENT TRACKBACK
+ CATEGORIES
+ ARCHIVES
+ 掲載予定のタイトル
  • Wordpress
  • Pukiwiki
  • SMTPs/POPs/IMAPs
  • fml
  • Tips
+ CSS Nite
+ MOBILE
qrcode
+ LINKS
+ RECOMMEND
+ PROFILE