ffmpeg конвертер аудио не работает - PullRequest
0 голосов
/ 19 ноября 2011

Я не могу заставить аудио конвертер ffmpeg работать на моем сайте.Идея заключается в том, что файл должен быть конвертирован при загрузке на сайт.

У меня есть это в моей форме загрузки, определяющей формат аудиофайла:

if(isset($_POST['audio']) && $_POST['audio'] != ''){
                $ext1 = substr($_POST['audio'], -4);

Это лучшее, что япридумали для преобразования m4a в mp3:

if(isset($_POST['audio']) && $_POST['audio'] != ''){ $file = $_POST['audio'];     if($ext1==".m4a"){ $call="/usr/local/bin/ffmpeg -i ".$file." -ab 192k -f -acodec mp3";}
$convert = (popen("start /b ".$call, "r")); pclose($convert);

Проблема в том, что он не будет конвертировать.Путь к ffmpeg правильный.

Теперь я могу быть в восторге от этого, но если есть простое решение для этого, я бы хотел услышать это.

РЕДАКТИРОВАТЬ.

Сэто:

if(isset($_POST['audio']) && $_POST['audio'] != ''){
    $file = $_POST['audio'];
                    $ext1 = substr($_POST['audio'], -4); /*get the last 4 chars*/
                    $mp3 = echo 'mp3';
if($ext1=".m4a"){ 
"/usr/local/bin/ffmpeg -i \"". $file . "\" -ab 192k -y -f mp3 \"".ext1.$mp3."\"";
}
}

Я думаю, что я прав на деньги с самой конверсией, но форма просто загружается бесконечно при отправке.Я предполагаю, что преобразование происходит, но форма не знает, когда это будет сделано.Есть идеи на этот счет?

1 Ответ

1 голос
/ 11 января 2012

Используйте SoX - швейцарский армейский нож обработки звука.Очень прост в использовании.

Это инструмент командной строки, а не библиотека PHP, поэтому для использования из PHP вам нужно выполнить команду оболочки и получить результат в своем коде.Я использовал его в нескольких проектах.

Пример с PHP:

SoX - это кроссплатформенная (Windows, Linux, MacOS X и т. Д.) Утилита командной строки, которая может конвертировать различные форматы.компьютерных аудио файлов в другие форматы.Он также может применять различные эффекты к этим звуковым файлам, и, в качестве дополнительного бонуса, SoX может воспроизводить и записывать аудиофайлы на большинстве платформ.

SoX - очень зрелый проект!Вот ссылка: http://sox.sourceforge.net/

Вот несколько примеров, которые я для вас погуглил: http://www.thegeekstuff.com/2009/05/sound-exchange-sox-15-examples-to-manipulate-audio-files/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...