FFMPEG-PHP转换视频don';我不能在手机上工作

FFMPEG-PHP转换视频don';我不能在手机上工作,php,mobile,ffmpeg,codec,ffmpeg-php,Php,Mobile,Ffmpeg,Codec,Ffmpeg Php,我正在编写一个上传脚本,用户可以上传视频,但我对FFMPEG-PHP有一个问题:转换后的视频在手机上无法工作,而在桌面上却可以正常工作 //FFMPEG Instance require_once '/root/vendor/autoload.php'; $ffmpeg = FFMpeg\FFMpeg::create(); $video = $ffmpeg->open($temp_path); //WEBM Convert $format_webm = new FFMpeg\Format

我正在编写一个上传脚本,用户可以上传视频,但我对FFMPEG-PHP有一个问题:转换后的视频在手机上无法工作,而在桌面上却可以正常工作

//FFMPEG Instance
require_once '/root/vendor/autoload.php';
$ffmpeg = FFMpeg\FFMpeg::create();
$video = $ffmpeg->open($temp_path);

//WEBM Convert
$format_webm = new FFMpeg\Format\Video\WebM();
$video->save($format_webm, 'video.webm');

//MP4 Convert
$format_mp4 = new FFMpeg\Format\Video\X264();
$format_mp4->setAudioCodec("libmp3lame");
$video->save($format_mp4, 'video.mp4');
致命错误:未捕获 Alchemy\BinaryDriver\Exception\ExecutionFailureException:ffmpeg 无法执行命令'/usr/bin/ffmpeg'-y'-i' “/var/www/html/v/temp/13759.mp4”“-vcodec”“libx264”“-acodec”“aac” “-b:v”“1000k”“-参考”“6”“-编码器”“1”“-sc_阈值”“40”“-标志” '+循环'-me_范围''16'-subq''7'-i_qfactor''0.71'-qcomp' “0.6”-qdiff”“4”-网格”“1”-b:a”“128k”-传递”“1” “-passlogfile” “/tmp/ffmpeg-passes5ad4e29d1b71e6oveh/pass-5ad4e29d1b7b2” “/var/www/html/v/13759.mp4” /root/vendor/alchemy/binary-driver/src/alchemy/BinaryDriver/ProcessRunner.php:100\n堆栈 跟踪:\n#0 /root/vendor/alchemy/binary-driver/src/alchemy/BinaryDriver/ProcessRunner.php(72): Alchemy\BinaryDriver\ProcessRunner->doExecutionFailure(''/usr/bin/ffmpe…')\n#1 /root/vendor/alchemy/binary-driver/src/alchemy/BinaryDriver/AbstractBinary.php(209): Alchemy\BinaryDriver\ProcessRunner->run(对象(Symfony\Component\Process\Process), 中的对象(SplObjectStorage),false) /root/vendor/php-ffmpeg/php-ffmpeg/src/ffmpeg/Media/Video.php在线 109


有什么帮助吗

我猜你指的是MP4文件。尝试
aac
而不是
libmp3lame
@LordNeckbeard致命错误:未捕获炼金术\BinaryDriver\Exception\ExecutionFailureException:ffmpeg无法执行命令…如果这只是
ffmpeg
命令行工具的包装,那么我需要查看正在执行的实际
ffmpeg
命令和完整的代码记录该命令的日志/控制台输出,以提供任何建议。否则,这是一场猜谜游戏。目前的猜测是,您的
ffmpeg
非常旧,需要
-严格的实验性
才能使用AAC编码器。我建议您的问题添加以下信息:您将有更多的空间,可以更好地格式化它。
ffmpeg
本身的日志丢失。日志是必需的。您的输入已经是MP4。您需要将其重新编码到MP4吗?您的
ffmpeg
命令看起来像是2006年的命令。现代命令可能类似于:
ffmpeg-i输入-c:v libx264-preset medium-crf 23-c:A aac-movflags+faststart输出。mp4
See.@LordNeckbeard哪里可以从ffmpeg获取错误日志?如果我理解你的建议,我不应该使用ffmpeg php,而是使用ffmpeg exec()命令?