我正在尝试使用ffmpeg将服务器文件夹中的.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我想我使用的是安装了linux的Inmotion的共享主机服务。
发布于 2011-12-03 09:16:19
如果你使用的是共享主机,你需要有shell访问权限才能构建php扩展。由于主机是共享的,你将无法修改php配置(php.ini)来自动加载ffmpeg扩展。
如果您拥有shell访问权限和编译脚本的能力(在共享主机上并不总是常见),您将需要构建扩展并将.so文件放在主目录中的某个位置,然后使用dl()函数在脚本中按需加载库。
有些主机可能会禁用dl()或您编译脚本的能力。如果您没有shell访问权限,那么您就不走运了,只有主机可以为您安装此程序。
发布于 2011-12-03 09:16:54
尝试使用本教程:
http://mysql-apache-php.com/ffmpeg-install.htm
https://stackoverflow.com/questions/8364645
复制相似问题