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

Конвертация wav в mp3

Newbies/FAQ Forum 6 сообщений 15.07.2010 09:26 - 02.08.2010 08:50
#1 15.07.2010 09:26

Конвертация wav в mp3


имеется ubuntu server 8.04 LTS + asterisk 1.4.30
все норм работает.

Записи разговоров пишутся в папку /home/asterisk/ вот так
Code:

[outgobaza]
exten => _9X.,1,Set(fname=${STRFTIME(${EPOCH},,%Y-%m-%d_%H-%M-%S)}_${CALLERID(number)}_${EXTEN})
exten => _9X.,n,MixMonitor(/home/asterisk/outcoming/${fname}.wav)
exten => _9X.,n,RetryDial(,5,0,SIP/gobaza/${EXTEN:1},,)
exten => _9X.,n,Congestion()
exten => _9X.,n,Hangup()


Есть скрипт outcoming.sh, который конвертирует записи в mp3 и удаляет старые wav :
Code:

#!/bin/bash
#Convert all files from outcoming directory
cd /home/asterisk/outcoming
find . -name '*.wav' -exec lame '{}' ';' -exec rm -f '{}' ';'
exit 0


если я запускаю скипт руками вот так
Code:
sudo sh outcoming.sh

то все прекрасно работает, если его запускаю из cron то не работает, похоже не может получить доступ к файлам.
скрипт запускаю в cron от пользователя root вот так:
Code:

sudo su
crontab -e


Мож кто подскажет что не так делаю?
#2 15.07.2010 10:01

Крон любит когда в скриптах абсолютные пути прописаны! А еще можно результат выполнения крона писать в файл, и смотреть что ему не нравится.
_________________
astlock:)
#3 15.07.2010 12:38

оффтоп: если крон это делает ночью, еще можно понять такую схему, а если нет, то обычно конвертируют в mp3 сразу после записи, для этого есть MONITOR_EXEC
и кстати, если писать раздельно а не MixMonitor, то сконвертить можно в стерео: http://www.voip-info.org/wiki/view/Monitor+stereo-example
#4 16.07.2010 00:27

Code:

exten => s,n,Set(CALLFILENAME=${STRFTIME(${EPOCH}||%y-%m-%d__%H-%M)}_${CALLERID(num)})
exten => s,n,Set(monopt=nice -n 19 /usr/bin/lame -b 16 --silent "/var/spool/asterisk/monitor/${CALLFILENAME}.wav" "/var/lib/asterisk/sounds/record/${CALLFILENAME}.mp3" && rm -f "/var/spool/asterisk/monitor/${CALLFILENAME}.wav")
exten => s,n,MixMonitor(${CALLFILENAME}.wav|b|${monopt})
#5 16.07.2010 06:12

Мне нравится формат OGG, советую
#6 02.08.2010 08:50

Делаю так:

crontab -e :

35 * * * * /usr/bin/find /var/spool/asterisk/queuecalls/*.wav -mmin +30 -exec /var/lib/asterisk/scripts/wav-to-mp3-quese.sc '{}' \;

И сам скрипт:

[root@asterisk ~]# cat /var/lib/asterisk/scripts/wav-to-mp3-quese.sc
#!/bin/bash

name_file_wav=$1
name_file=${name_file_wav/%.wav/}

/usr/bin/lame --preset cbr 8 $name_file_wav $name_file.mp3 ; rm -f $name_file_wav

Может и написано коряво, но работает.