0

我正在尝试安装 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():

  • ffmpeg-php 版本:0.6.0-svn
  • ffmpeg-php 构建于:2012 年 2 月 25 日 17:59:17
  • ffmpeg-php gd 支持:启用
  • ffmpeg libavcodec 版本:Lavc53.34.0
  • ffmpeg libav格式版本:Lavf53.20.0
  • ffmpeg swscaler 版本 SwS2.1.0

我在某处阅读以尝试以下代码,

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);

它将 Command failed 打印为空数组 Array ( )。

希望有人可以帮助指导我。

4

1 回答 1

1

感谢大卫指出 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 时仍然遇到问题。希望有人可以帮助我进行转换。

于 2012-07-24T05:08:30.927 回答