2011-12-03 32 views
0

ffmpeg-PHPを使用して私のサーバーフォルダにある.aviビデオファイルを `.flv '形式に変換しようとしています。 ffmpeg-PHPをインストールする私の試みは、 "ffmpeg-php-0.6.0.tbz2"アーカイブの内容を別のフォルダに展開することでした。変換スクリプトを実行した後初心者向けにffmpeg-PHPをインストールするには?

<?php 

// Set our source file 
$srcFile = "/videos/clip.avi"; 
$destFile = "/videos/clip.flv"; 
$ffmpegPath = "/install"; //where I extracted "ffmpeg-php-0.6.0.tbz2" 

// Create our FFMPEG-PHP class 
$ffmpegObj = new ffmpeg_movie($srcFile); 

// Save our needed variables 
$srcWidth = makeMultipleTwo($ffmpegObj->getFrameWidth()); 
$srcHeight = makeMultipleTwo($ffmpegObj->getFrameHeight()); 
$srcFPS = $ffmpegObj->getFrameRate(); 
$srcAB = intval($ffmpegObj->getAudioBitRate()/1000); 
$srcAR = $ffmpegObj->getAudioSampleRate(); 

function makeMultipleTwo ($value) 
{ 
    $sType = gettype($value/2); 

    if($sType == "integer") 
    { 
    return $value; 
    } else { 
    return ($value-1); 
    } 
} 

// Call our convert using exec() 
exec($ffmpegPath . " -i " . $srcFile . " -ar " . $srcAR . " -ab " . $srcAB . " -f flv -s " . $srcWidth . "x" . $srcHeight . " " . $destFile); 

?> 

:私は、これは変換スクリプトで参照するに

を「ffmpegの-PHP-0.6.0.tbz2」から抽出されたファイルのディレクトリの場所を使用しているビデオ変換スクリプト「致命的なエラー:クラス 'ffmpeg_movie」が[変換スクリプトの場所]に見つかりませんでした。

ffmpeg-PHPページの説明を読みましたが、意味がありません。 ffmpeg-PHPをインストールするには、これらのLinuxコードをどのように実行すればよいですか?

tar -xjf ffmpeg-php-X.x.x.tbz2 

cd ffmpeg-php-X.x.x/ 
phpize 

./configure && make 

sudo make install 

私はLinuxがインストールされたInmotionによる共有ホスティングサービスを使用していると思います。

+0

が、これはスーパー無意味のようではないですか?とにかく変換​​のためにcmdlineツールを使用しているということです。なぜあなたはPHPバインディングが必要でしょうか? - そうではなく、あなたはそれを共有ホスティングでコンパイルすることはできません。 – mario

答えて

2

共有ホスティングを使用している場合は、php拡張機能をビルドするにはシェルアクセス権が必要です。ホスティングは共有されているので、php設定(php.ini)を変更してffmpeg拡張を自動的にロードすることはできません。

シェルアクセス権とスクリプトをコンパイルする能力(共有ホスティングでは必ずしも一般的ではない)がある場合は、拡張子を作成して.soファイルをどこかのホームディレクトリに置き、dl()関数を使用してロードする必要がありますあなたのスクリプトのオンデマンドライブラリ。

一部のホストでは、dl()またはスクリプトのコンパイル機能を無効にすることがあります。あなたがシェルアクセスを持っていない場合、あなたは不運であり、ホストだけがあなたのためにこれをインストールできます。

+0

シェルアクセスがあると仮定して、どのように拡張機能をビルドしますか? – user701510

+0

拡張機能のビルドは、phpizeで始まる方向です。 '。/ configure'にプレフィックスを設定してホームディレクトリを構築する必要があります。つまり、' ./configure --prefix =/home/myuser/ffmpg'などです。 'make install'を実行すると、プレフィックスディレクトリに拡張機能がインストールされます。 – drew010

+0

私はそれの要点を得る。どこでどのようにコードを実行するのですか? 'exec()'を使ってphpファイルを作り、その行を実行しますか? – user701510

関連する問題