gpt4 book ai didi

php - ffmpeg 在终端中工作,但不在 php 中

转载 作者:行者123 更新时间:2023-12-04 23:33:53 25 4
gpt4 key购买 nike

我已经使用 Ubuntu 安装了 ffmpeg,

 sudo apt-get install ffmpeg

ffmpeg 安装在根目录“/usr/bin/ffmpeg”上。

它在终端中运行良好,但是当我使用 php 执行它时,我没有得到任何输出。
 shell_exec(/usr/bin/ffmpeg -y -i ./upload/1535531595first.mp3 -i ./upload/1535531595second.mp3 -filter_complex "[0:0][1:0] amix=inputs=2:duration=longest" -c:a libmp3lame ./download/1535531595outputnow1.mp3)

并在“opt/lampp/htdocs/project-Name/sub-directory/test.php”文件中使用此命令。

任何帮助将不胜感激。提前致谢。查找附件 cmd terminal working fine但是对于 php 不起作用

最佳答案

它在任何地方都能完美运行!我也在我的 PHP 项目中使用 FFMPEG,最常见的问题是:

  • 未使用双引号 (")。
  • 寻址错误。

  • 首先,检查您的路径,最好从根目录中寻址您的文件,如下所示 /user/foo/bar.mp3并为您的输出做同样的事情。
    $input_file = "/user/foo/bar.mp3";
    $output_file = "/user/foo/out.mp3";

    shell_exec("ffmpeg -i \"{$input_file}\" \"{$output_file}\");

    顺便说一句,Web 应用程序存在问题当您在 PHP 项目中使用 FFMPEG 时,您可能会得到 timeout错误,因为它需要太多时间来处理。

    我建议您使用以下脚本,它在后台进程中执行命令行命令
    function Execute($CMD)
    {
    $OS = strtoupper(PHP_OS_FAMILY);

    if ($OS == 'WINDOWS') {
    return pclose(popen("start /B {$CMD}", "r"));
    } else {
    return shell_exec("{$CMD} > /dev/null 2>/dev/null &");
    }
    }

    关于php - ffmpeg 在终端中工作,但不在 php 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52076789/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com