ffmpeg无法从php工作

时间:2015-02-12 21:35:04

标签: php ffmpeg youtube-dl

我安装了http://ffmpeg.org/releases/ffmpeg-2.5.3.tar.bz2的版本 并尝试了yum版本,但对于youtube-dl来说还不够新。

我试过export PATH=$PATH:/usr/local/bin/ffmpeg而PHP / Apache仍然无法找到FFmpeg。

Apache用户在CentOS 6.5上运行PHP脚本 从php命令行调用我的youtube-dl.php作为root工作(使用FFmpeg)
从php apache用户调用我的youtube-dl.php(不使用FFmpeg)

我正在尝试做什么:shell exec youtube-dl(youtube dl在其二进制代码中调用FFmpeg,现在可以修改它以添加完整路径)。这有效但FFmpeg部分 我的youtube-dl.php文件

$output = shell_exec('youtube-dl -o "/home/test/%(title)s.%(ext)s" '.$url.'      -f bestvideo+bestaudio 2>&1');
echo "<pre>$output</pre>";

# which ffmpeg
/usr/local/bin/ffmpeg

本网站其他页面上有人说本地/ bin是定制版本,但是我直接从FFmpeg下载并执行标准./configure make install。

完成:

 chmod 755 to /usr/local/bin/ffmpeg

直接将FFmpeg作为测试命令运行(有时可以正常工作,并且在我升级/重新启动/更新b /等时没有)

$output = shell_exec('ffmpeg 2>&1');
echo "<pre>$output</pre>";

结果:

<pre>sh: ffmpeg: command not found</pre>

我阅读了所有这些类似的问题,但他们没有帮助:

  

FFMPEG PHP似乎不起作用   FFmpeg不工作
  使用FFMPEG录制音频在终端中工作,但不能通过PHP的exec()工作   localhost上的ffmpeg-php权限被拒绝   PHP的C ++程序无法正常工作
  FFMPEG从命令行运行,但不是PHP   从php调用一个shellcript - 无法正常工作
  使用ffmpeg转换文件时PHP内部服务器错误500   在exec ffmpeg后,PHP代码没有进入该行   ffmpeg不能从PHP脚本工作,但从命令行工作
  PHP exec()不使用ffmpeg
  ffmpeg无法使用PHP exec()
  ffmpeg php exec无法正常工作

2 个答案:

答案 0 :(得分:1)

解决方案对我有用。 我按照这里的教程安装了ffmpeg:http://www.wikihow.com/Install-FFmpeg-on-Windows

设置PATH然后我从命令提示符检查ffmpeg -version它正在运行。

然后我尝试使用youtube-dl(youtube链接)-f bestvideo + bestaudio下载1080p视频,但我收到了相同的消息:“警告:您已请求多种格式但未安装ffmpeg或avconv。格式已赢不合并。“当然是安装了。

然后我以“以管理员身份运行”打开命令提示符,尝试了相同的操作,最终终于工作了。

答案 1 :(得分:0)

  • 第1步: cd ..

  • 第2步: cd /usr/bin

  • 第3步: wget http://ffmpeg.gusari.org/static/32bit/ffmpeg.static.32bit.latest.tar.gz

  • 第4步: tar -xvzf ffmpeg.static.32bit.latest.tar.gz