0
  • 我已经安装了 ffmpeg
  • 安全模式已关闭
  • 当我这样做时:$movie = new ffmpeg_movie('Bear.wmv'); 我可以使用 getDuration()、getFilename().... 没有任何问题,所以一切似乎都在工作
  • exec 工作正常,因为当我这样做时:$output = exec('ls -lart');我得到了一个不错的小结果。

但是当我这样做时:

exec('ffmpeg -i Bear.wmv outputfile.flv')

什么都没发生

如果我添加:$command_output, $result 我猜唯一的结果是:array { }

我已经尝试了我能想到的一切:

exec('ffmpeg -i Bear.wmv outputfile.flv')

exec('ffmpeg.so -i Bear.wmv outputfile.flv')

exec('/usr/lib/php5/20090626/ffmpeg -i Bear.wmv outputfile.flv')

我已经尝试了所有大小、文件夹和编解码器,但仍然没有得到任何回报

我想做的就是将该视频 Bear.wmv 转换为 flv 文件。

我非常接近像婴儿一样哭泣和/或跳出窗外(我只在一楼但仍然大声笑)所以请帮忙!!??!

4

2 回答 2

1

FFMPEG 是一个不输出到 STDIO 而是输出到 STDERR 的应用程序,因此您可以将其重定向到标准输出:

$cmd = $FFMPEGDIR . " -i somefile.avi 2>&1"; // SEE 2>&1 !!

提取大小:

 exec( $cmd , $info );

      echo "<pre>".print_r($info,true)."</pre>";
      $resolution = preg_match( '@[ ,\t]([0-9]{3,4}x[0-9]{3,4})[ ,\t]@si' , implode( " " , $info ) , $durmatches );

      $rtab = explode( "x" , $durmatches[1] );

      $videowidth = $rtab[0];
      $videoheight = $rtab[1];
于 2011-07-19T11:10:33.683 回答
0

最近为音频内容设置了 ffmpeg ......这有点像魔法,ffmpeg 因播放不好(或始终如一)而臭名昭著 - 对我有用(有效)的东西可能对你无效!

尝试使用:shell_exec()

或者:

$command="{$FFMPEG_BINARY} ... rest of your options";
$process=proc_open($command, $descriptors, $pipes);
if (!$process)
{
    // failed to exec...
}
else
{
    // command ran...
}

我的 ffmpeg 位于...“/usr/bin/ffmpeg”,只需检查您是否也有正确的路径。

于 2011-07-19T11:10:19.217 回答