#php #linux #ffmpeg #video-conversion
Вопрос:
Название в значительной степени рассказывает всю историю. Вот весь мой код:
lt;?php $uploads_dir = 'original/'; $file_name = basename($_FILES['file']['name']); $db_file_name = date("DMjGisY")."".rand(100000,999999); $uploaded_file = $uploads_dir . $file_name; $convert_status = ['mp4' =gt; 0]; if(isset($_POST['submit'])) { if(move_uploaded_file($_FILES['file']['tmp_name'], $uploaded_file)) { $ffmpeg = '/usr/local/bin/ffmpeg'; // MP4 $video_mp4 = $db_file_name . '.mp4'; exec($ffmpeg . ' -i "' . $uploaded_file . '" -c:v libx264 "./converted/' . $video_mp4 . '" -y 1gt;convert.txt 2gt;amp;1', $output, $convert_status['mp4']); $vidmp4 = 'converted/'.$video_mp4.''; echo 'lt;stylegt;#video-upload-form{display: none;}lt;/stylegt;'; echo 'lt;div style="text-align: center;"gt;'; echo 'lt;video style="max-width: 50%; height: auto;" controlsgt;'; echo 'lt;source src="'.$vidmp4.'" type="video/mp4"gt;'; echo 'lt;/videogt;'; echo 'lt;/divgt;'; } } ?gt; lt;form id="video-upload-form" action="" method="post" enctype="multipart/form-data"gt; lt;input type="file" name="file"gt; lt;input type="submit" name="submit" value="Upload"gt; lt;/formgt; lt;!-- THIS FIXES 'CONFIRM FORM RESUBMISSION' --gt; lt;scriptgt; if ( window.history.replaceState ) { window.history.replaceState( null, null, window.location.href ); } lt;/scriptgt;
Когда я разместил это на своем веб — сайте, единственным изменением была 9-я строка — «$ffmpeg = «/usr/bin/ffmpeg»;». Вот что я получил, когда выполнил команду «which ffmpeg». Я забил себя до смерти, пытаясь понять это. Должно быть что-то в PHP или FFMPEG, чего не хватает на моем сервере. Пожалуйста, кто-нибудь может мне помочь?
Комментарии:
1. Выдержка из журнала помогла бы.
2. в чем заключается
$output
ценность? в основном это происходит потому, что разные САПИ по-разному работают с ffmpeg3. Я действительно не знаю. Я так много раз менял этот сценарий, что, должно быть, оставил его там по ошибке. Но приведенный выше скрипт отлично работает в localhost. Я изучил то, что вы сказали о SAPI, и понятия не имею, как решить эту проблему.