我正在尝试使用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的共享托管服务。
答案 0 :(得分:2)
如果您在共享主机上,则需要具有shell访问权限才能构建php扩展。由于托管是共享的,您将无法修改php配置(php.ini)以自动加载ffmpeg扩展名。
如果您具有shell访问权限并且能够编译脚本(在共享主机上并不常见),则需要构建扩展并将.so文件放在主目录中的某个位置,然后使用dl()用于在脚本中按需加载库。
某些主机可能会禁用dl()或编译脚本的能力。如果您没有shell访问权限,那么您运气不好,只有主持人可以为您安装。
答案 1 :(得分:0)