Перейти к содержанию

Обработка записей Asterisk

Имеется — папка с записями asterisk где-то за год — где-то гигов на 30. Т.к. астериск все пишет в wav, хорошо бы это дело переконвертировать в mp3, да еще и рассортировать по дате, для удобства поиска нужного звонка. После пары минут гугления был найден искомый скрипт, но он был рабочий только наполовину, поэтому пришлось допиливать ручками. Вот что получилось в итоге

#!/bin/bash
#20100503 - Author: Gregg Hansen. Modified by Snake
#version 0.2
#Сначала убедитесь в том, что у вас стоит пакет lame
#Папка с записями разговоров
recorddir="/var/spool/asterisk/monitor"
for i in `ls $recorddir/*.wav`; do
cd $recorddir
#Шаблон даты
date=`ls -l $i | awk '{print $6}'`
#Шаблон часов
hour=`ls -l $i | awk '{print $7}'`
mp3=`echo $i | sed 's/.wav/.mp3/g'`
#Собственно само кодирование. Опции lame выбрать по вкусу
lame -d -h -m j -b 128 $i $mp3
#Сортировка будет происходить по дням, а внутри дня - по времени начала разговора
mkdir ${date}
cd $recorddir/${date}
mkdir ${hour}
mv ${mp3} ${hour}
#wav файлы перемещаются в отдельную директорию, на всякий случай.
#В дальнейшем можно будет просто периодически очищать эту директорию
mkdir ${recorddir}/wav_recordings
mv $i ${recorddir}/wav_recordings/
done

На выходе мы вместо кучи файлов получаем аккуратные папочки с датами. Скрипт лучше всего засунуть в cron и запускать каждые сутки.

Будьте первым, кто оставит комментарий

Добавить комментарий

%d такие блоггеры, как: