sox asterisk wav mp3
Хорошая статья по теме конвертации в mp3 для centos7.
у меня лично возникла проблема со входящими файлами wav почему-то – sox не видел данных в них, пришлось явно указывать.
скрипт для конвертации всех файлов в каталоге в mp3
#!/usr/bin/perl
use strict;
use Proc::PID::File;
if (Proc::PID::File->running()) {
print "Already running, exiting now\n";
exit(0);
}
my @monitor_dirs=("/var/spool/asterisk/monitor");
foreach my $monitor_dir (@monitor_dirs) {
opendir(my $dh,$monitor_dir) or die ("Cannot open dir $monitor_dir");
print "Processing dir $monitor_dir\n";
while (my $file=readdir($dh)) {
next if $file !~m/\.wav$/;
print "Processing file $file\n";
my $newfile=$file;
$newfile=~s/\.wav$/\.mp3/;
system ("/usr/local/bin/sox -t raw -r 8000 -b 16 -e signed-integer $monitor_dir/$file -t mp3 -C32 $monitor_dir/$newfile");
sleep(0.01);
if (-e "$monitor_dir/$newfile") {
print "Coneverted sucessfully $file\n";
unlink "$monitor_dir/$file";
}
}
closedir($dh);
}
16.08.2015 SOX. WAV. ASTERISK. BATCH. Конвертнуть файлы для астериска.
Привет!
Дали wavки для заливки на астериск, если честно понятия не имею что там и как устроено в астере, но Астериск сам предлоагает сервис для конвертации WAV файлов во все нужные ему форматы. при помощи CLI “file convert”.
1. WAV нужно преобразовать в 8000 Khz и 1 канал, делается это командой: “sox input.wav -c 1 -b 8000 outout.wav”
лично я не смог потратить время с делать одной командой конвертацию файлов в каталоге поэтому поступил тупейшим образом: ls -a *.wav
скопировал результат в файлик, там произвел замену при помощи регулярных выражений например из строчки: 1.wav я получил
sox 1.wav -r 8000 -c 1 new/1.wav
и просто выполнил файлик… таким образом в каталоге new образовались уже готовые, для астериска файлы.
2.далее я создаю файлик с командами типа ” asterisk -x “file convert transfering.wav res/transfering.g729”
и все, в каталоге res получаются файлики с нужными кодеками. Астериск сам понимает в какой кодек надо перекинуть файл, если вы указывается расширение. В моем случае это g729.
Кодеки должны присутствовать и быть активными конечно.
Бай.
| Posted in Asterisk, Готовые решения | No Comments »