我正在尝试安装FFMPEG-PHP进行后端视频转换,并捕获我网站上传的视频用户的缩略图。但是我遇到了问题,我不确定它究竟是什么。
环境: Ubuntu Server 12.04 PHP5和Apache2(没有使用LAMP包。单独安装。)
要安装ffmpeg,我遵循了本教程http://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide。
在命令行上运行: 当我尝试从命令行转换时,它可以工作。
avconv -i test.mp4 test.flv
- 有效
ffmpeg -i test.mp4 test.flv
- 工作,说使用avconv
文件夹权限已更改为R 777。
PHPINFO():
我在某处读到了以下代码,
extension_loaded('ffmpeg') or die('Error in loading ffmpeg');
如果扩展加载成功,上面的代码不应该给出任何输出。我的没有出现任何错误。
PHP中的代码无效,
exec("ffmpeg -i test2.mp4 test2.flv", $command_output, $result);
if ($result !== 0) {
echo 'Command failed!<br>';
print_r($command_output);
die();
}
echo 'success!';
print_r($command_output);
打印命令失败,为空数组,Array()。
希望有人可以帮助指导我。
答案 0 :(得分:2)
感谢大卫指出api。 FFMPEG-PHP一直都在工作。我现在能够创建视频图像。如果有人遇到类似的问题,请使用以下代码。
来源:http://itwigle.com/twig/Capturing_video_thumbnails_with_PHP
<?php
if (! extension_loaded (ffmpeg)) exit ('ffmpeg was not loaded ');
$movie_file = "test2.mp4";
// Instantiates the class ffmpeg_movie so we can get the information you want the video
$movie = new ffmpeg_movie($movie_file);
//Need to create a GD image ffmpeg-php to work on it
$image = imagecreatetruecolor($width, $height);
//Create an instance of the frame with the class ffmpeg_frame
$frame = new ffmpeg_frame($Image);
//Choose the frame you want to save as jpeg
echo $thumbnailOf = $movie->getFrameRate() * 5;
//Receives the frame
$frameImg = $movie->GetFrame($thumbnailOf);
// Resizes the frame to 200, 100
//$frameImg-> resize(200, 100);
//Convert to a GD image
$image = $frameImg->toGDImage();
//Save to disk.
imagejpeg($image, $movie_file.'.jpg', 100);
?>
但我仍然遇到将视频从mp4转换为flv的问题。希望有人可以帮我转换。