如何为Linux新手安装ffmpeg-PHP?

时间:2011-12-03 01:07:08

标签: php linux encode ffmpeg-php

我正在尝试使用ffmpeg-PHP将我在服务器文件夹中的.avi视频文件转换为`.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

我想我正在使用Inmotion安装linux的共享托管服务。

2 个答案:

答案 0 :(得分:2)

如果您在共享主机上,则需要具有shell访问权限才能构建php扩展。由于托管是共享的,您将无法修改php配置(php.ini)以自动加载ffmpeg扩展名。

如果您具有shell访问权限并且能够编译脚本(在共享主机上并不常见),则需要构建扩展并将.so文件放在主目录中的某个位置,然后使用dl()用于在脚本中按需加载库。

某些主机可能会禁用dl()或编译脚本的能力。如果您没有shell访问权限,那么您运气不好,只有主持人可以为您安装。

答案 1 :(得分:0)