Я не могу получить эту команду, работающую в exec ()
ffmpeg -i ../uploads/".$row['videoid'].".".$row['van']." -filter_complex \
"[0:a]showwaves=s=1280x720:mode=line:rate=25,format=yuv420p[vid]" -map "[vid]" -map 0:a \
-codec:v libx264 -crf 18 -preset fast -codec:a aac -strict -2 -b:a 192k ../uploads/mp4sd/".$row['videoid'].".mp4
Как мне поместить это в exec ()?
Это не работает:
exec(ffmpeg -i ../uploads/".$row['videoid'].".".$row['van']." -filter_complex \
"[0:a]showwaves=s=1280x720:mode=line:rate=25,format=yuv420p[vid]" -map "[vid]" -map 0:a \
-codec:v libx264 -crf 18 -preset fast -codec:a aac -strict -2 -b:a 192k ../uploads/mp4sd/".$row['videoid'].".mp4);
Есть несколько способов выяснить проблему.
Если он работает нормально в командной строке, он должен работать
Во-вторых, проверьте, установлена ли и включена команда exec ().
<?php if(function_exists('exec')) { echo "exec is installed"; } ?>
<?php function exec_enabled() { $disabled = explode(',', ini_get('disable_functions')); return !in_array('exec', $disabled); } ?>
echo "ffmpeg -i ../uploads/".$row['videoid'].".".$row['van']." -filter_complex \ "[0:a]showwaves=s=1280x720:mode=line:rate=25,format=yuv420p[vid]" -map "[vid]" -map 0:a \ -codec:v libx264 -crf 18 -preset fast -codec:a aac -strict -2 -b:a 192k ../uploads/mp4sd/".$row['videoid'].".mp4";
также попробуйте это с кавычками
exec("ffmpeg -i ../uploads/".$row['videoid'].".".$row['van']." -filter_complex \
"[0:a]showwaves=s=1280x720:mode=line:rate=25,format=yuv420p[vid]" -map "[vid]" -map 0:a \
-codec:v libx264 -crf 18 -preset fast -codec:a aac -strict -2 -b:a 192k ../uploads/mp4sd/".$row['videoid'].".mp4");
Других решений пока нет …