我正在使用 FFMpeg 来隐藏视频和 它从命令行 工作正常。我正在使用以下命令:
ffmpeg -i input.mpg -vcodec libx264 -b 819200 -s 100x100 -g 15 -bf 3 -b_strategy 1 -coder 1 -qmin 10 -qmax 51 -sc_threshold 40 -flags +loop -cmp +chroma -me_range 16 -me_method hex -subq 5 -i_qfactor 0.71 -qcomp 0.6 -qdiff 4 -directpred 1 -flags2 +fastpskip -dts_delta_threshold 1 -acodec libfaac -ab 48000 output.m4v
但是,当我使用 PHP exec() 运行该命令时, 输出视频未正确编码并且被扭曲和裁剪 。我在 PHP 中使用以下内容:
$output = exec($cmd . ' 2>&1', $output, $return);
$output 返回“0”成功代码。
有没有人有什么建议?
谢谢你。
最佳答案
这是不寻常的。您可能安装了多个 ffmpeg 二进制文件,并且 PHP/Apache 用户正在调用的二进制文件与您从命令行以用户身份调用的二进制文件不同。
尝试在 exec() 中指定 ffmpeg 二进制文件(/usr/bin/ffmpeg 或其他)的完整路径。
关于php - FFMpeg 在命令行中工作,但在 PHP 中使用 exec();,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5121035/