我安装了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无法正常工作
答案 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