2011-11-19 2 views
0

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

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

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 правильный.

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

EDIT.

С этим:

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."\""; 
} 
} 

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

ответ

1

Использование 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/

+0

Я Сокс тоже очень полезная программа. – Flinth