FFMPEG-PHP转换视频don';我不能在手机上工作
我正在编写一个上传脚本,用户可以上传视频,但我对FFMPEG-PHP有一个问题:转换后的视频在手机上无法工作,而在桌面上却可以正常工作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 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()命令?