0

.aviffmpeg-PHP を使用して、サーバー フォルダーにあるビデオ ファイルを「.flv」形式に変換しようとしています。ffmpeg-PHP を「インストール」しようとした私の試みは、「ffmpeg-php-0.6.0.tbz2」アーカイブの内容を別のフォルダーに抽出することでした。私が使用しているビデオ変換スクリプトは、「ffmpeg-php-0.6.0.tbz2」から抽出されたファイルのディレクトリの場所を参照しています

これは変換スクリプトです:

<?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_movie' が [変換スクリプトの場所] に見つかりません」という出力が表示されます。

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

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

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

./configure && make

sudo make install

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

4

2 に答える 2

2

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

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

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

于 2011-12-03T01:16:18.683 に答える
0

このチュートリアルを使用してみてください:

http://mysql-apache-php.com/ffmpeg-install.htm

于 2011-12-03T01:16:53.510 に答える