FFMPEG-PHP示例代码

时间:2011-06-03 15:50:37

标签: ffmpeg

任何人都可以帮助我。我希望使用php和ffmpeg将视频文件转换为flv。 我已经在stackoverflow上尝试了一些现有的解决方案,但没有运气。

exec('ffmpeg -i Videos/robot.avi -ab 96k -b 700k -ar 44100 -s 640x480 -acodec mp3 Videos/robot.flv');

这是我的代码执行此操作时没有任何反应。

3 个答案:

答案 0 :(得分:2)

我假设您的ffmpeg命令可以通过CLI运行。如果没有,请先行动。

如果您尝试使用PHP和ffmpeg输出即时创建的FLV,请尝试以下操作:

<?php
  header("video/x-flv");
  passthru('ffmpeg -i Videos/robot.avi -ab 96k -b 700k -ar 44100 -s 640x480 -acodec mp3 Videos/robot.flv');
?>

####编辑#####

以下是关于使用STDOUT的ffmpeg文档的链接:http://www.ffmpeg.org/ffmpeg-doc.html#TOC41

我认为你应该能够做到这一点:

<?php
  header("video/x-flv");
  passthru('ffmpeg -i Videos/robot.avi -ab 96k -b 700k -ar 44100 -s 640x480 -acodec mp3 -f flv pipe:');
?>

答案 1 :(得分:2)

查看此示例:https://trac.ffmpeg.org/wiki/PHP

在编写PHP脚本之前,您应首先在CLI中运行它。

阅读完示例后,您似乎想要使用

shell_exec("insert ffmpeg command here");

这是一个可能有用的ffmpeg php类:

https://github.com/olaferlandsen/FFmpeg-PHP-Class

答案 2 :(得分:0)

我需要'sudo'才能在我的本地机器上运行它。 对于video / x-flv,您需要:“Content-Type:video / x-flv”。 我的代码:

<?php

    header("Content-Type: video/x-flv");
    passthru('sudo ffmpeg -i Videos/robot.avi -ab 96k -b 700k -ar 44100 -s 640x480 -acodec mp3 -f flv pipe:');

?>