AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Конвертируем mp3 в wav при помощи Asterisk

Asterisk GUI 6 сообщений -
#1

Столкнулся с проблемой, что Asterisk не проигрывает файлы mp3.
Ставил готовый набор AsteriskNow 2.02
Листал интернет все выходные. Результат следующий:
При помощи Asterisk можно редактировать файлы в нужный нам формат wav это я знал, но как пользоваться нет.
Для этого поставил следующие пакеты:
Устанавливаем LAME
cd /usr/local/src
wget http://sourceforge.net/projects/lame/fil ... z/download
tar zxvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure
make
make install

если выскакивает ошибка как у меня:
configure: error: no acceptable C compiler found in $PATH

не установлен C компилятор:
yum install gcc

и еще раз!

далее формируем файл, который будет переводить формат mp3 в wav (http://asterisk-support.ru/question/14477/kak-zastavit-rabotat-mp3-v-music-on-hold/)

файл заливал на сервер при помощи FileZilla удобно пользоваться и по ftp / ssh имя пользователя и пароль как у ROTT
права файлу выставляем 777

Создал папку для конвертации в moh
Залил туда скрипт convert.sh и файл в формате mp3
с командной строки, через SSH запускаю файл:
./convert.sh
Всё!
В папке с файлом сформировался файл в формате wav и с таким же именем.
Положил его в moh, проверил.
Все работает. УРА!
Думаю, что такая информация поможет кому либо с экономить выходные, которые я потратил...
#3

Почему не поставить lame через тотже yum? И права на заливаемые файлы поменяйте юзера на asterisk, или любого другого, только не рут. К слову сказать и сам астериск должен быть настроен на запуск от юзера а не от рута.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#4

Не претендую на оригинальность. Я описал как делал сам.
Если проще через yum и он ставиться, то конечно же это лучше, проще и т.д.
#5

ну можно mpg123 использовать вместо ffmpeg. он то же сделает wav нужного формата.
#6

Вот как я декодирую при загрузке звукового файла в админку:
Код:
function DecodeMP3($src, $dst)
{
return exec("lame --decode {$src} {$dst} --silent");
}


А вот так в формат понятный Asterisk:
Код:
function ConvertWAV($src, $dst)
{
return exec("sox {$src} -s -c 1 -r 8000 {$dst}");
}


Но правильное решение - сразу закодировать звуковой файл во все используемые на сервере форматы.

_________________
Gentoo Linux || Asterisk 11.2-cert3
Решения телефонии на базе Asterisk || http://it-need.ru