Автор Тема: Asterisk Monitor Script Mix  (Прочетена 2258 пъти)

Explisit

  • Напреднали
  • *****
  • Публикации: 97
    • Профил
Asterisk Monitor Script Mix
« -: Jan 08, 2009, 17:36 »
Здравейте, може ли някой да ми даде готов скрипт или да ме насочи за идея за скрипт за миксиране на двата файла от записани разговори през Monitor на Астериск 1.2. Благодаря предварително!
« Последна редакция: Jan 10, 2009, 11:02 от zeridon »
Активен

Powered by Debian

damencho

  • Напреднали
  • *****
  • Публикации: 14
    • Профил
Re: Asterisk Monitor Script Mix
« Отговор #1 -: Jan 08, 2009, 18:05 »
Пробвай това, работи, в момента се ползва. sox: v12.18.2.


#!/bin/sh
# 2wav2mp3 - create stereo mp3 out of two mono wav-files
# source files will be deleted
#
# 2005 05 23 dietmar zlabinger http://www.zlabinger.at/asterisk
#
# usage: 2wav2mp3 <wave1> <wave2> <mp3>
# designed for Asterisk Monitor(file,format,option) where option is "e" and
# the variable
# MONITOR_EXEC/usr/local/bin/2wav2mp3


# location of SOX and SOXMIX
# (set according to your system settings, eg. /usr/bin)
#SOX=/usr/bin/sox
SOX=/usr/local/bin/sox
SOXMIX=/usr/local/bin/soxmix
# lame is only required when sox does not support liblame
LAME=/usr/local/bin/lame


# command line variables
LEFT="$1"
RIGHT="$2"
OUT="$3"

#test if input files exist
#test ! -r $LEFT && echo "Left file not exist" && exit
#test ! -r $RIGHT && echo "Right file not exist"$RIGHT && exit
test ! -r $LEFT && exit
test ! -r $RIGHT && exit

# convert mono to stereo, adjust balance to -1/1
# left channel
$SOX $LEFT -t wav -c 2 $LEFT-tmp.wav pan -1
# right channel
$SOX $RIGHT -t wav -c 2 $RIGHT-tmp.wav pan 1

# combine and compress
# this requires sox to be built with mp3-support.
# To see if there is support for Mp3 run sox -h and
# look for it under the list of supported file formats as "mp3".
#$SOXMIX -v 1 $LEFT-tmp.wav -v 1 $RIGHT-tmp.wav -v 1 $OUT.mp3

# in case an old version of sox is used, encoding
# can be done afterwards
$SOXMIX -v 1 $LEFT-tmp.wav -v 1 $RIGHT-tmp.wav -t wav -v 1 -r 16000 $OUT.wav
#$SOX -m -v 1 $LEFT-tmp.wav -v 1 $RIGHT-tmp.wav -t wav -r 16000 $OUT.wav
$LAME -S -V7 -B64 -b48 --tt $OUT --add-id3v2 $OUT.wav $OUT.mp3


#remove temporary files
test -w $LEFT-tmp.wav && rm $LEFT-tmp.wav
test -w $RIGHT-tmp.wav && rm $RIGHT-tmp.wav
test -w $OUT.wav && rm $OUT.wav

#remove input files if successfull
test -r $OUT.mp3 && rm $LEFT $RIGHT
test -r $OUT.mp3 && mv $OUT.mp3 /rec/ready
Активен

Explisit

  • Напреднали
  • *****
  • Публикации: 97
    • Профил
Re: Asterisk Monitor Script Mix
« Отговор #2 -: Jan 08, 2009, 18:26 »
Мерси много аз този го гледах, но честно не разбрах откъде и как взема промеливите $RIGHT и $LEFT
Активен

Powered by Debian

damencho

  • Напреднали
  • *****
  • Публикации: 14
    • Профил
Re: Asterisk Monitor Script Mix
« Отговор #3 -: Jan 08, 2009, 20:20 »
Погледни тази статия

http://voip-info.org/tiki-index.php?page=Monitor+stereo-example

променливите ти ги подава asterisk като параметри на скрипта :
# command line variables
LEFT="$1"
RIGHT="$2"
OUT="$3"

в статията е описано и как да го сложиш скрипта в dialplana.

Успех :)
Активен

Explisit

  • Напреднали
  • *****
  • Публикации: 97
    • Профил
Re: Asterisk Monitor Script Mix
« Отговор #4 -: Jan 08, 2009, 20:33 »
Това с dialplana ясно, то скоро няма да ми трябва, че мисля да сложа 1.4. Мисълта ми на мен беше стари разговори да ги миксирам със скрипт сегашните имам как да ги миксирам. Ще се разровя да си доувелича знанията по линукс shell скриптинг :)
Активен

Powered by Debian

damencho

  • Напреднали
  • *****
  • Публикации: 14
    • Профил
Re: Asterisk Monitor Script Mix
« Отговор #5 -: Jan 09, 2009, 00:28 »
Изпълни този скрипт като подадеш като първи и втори параметър съответно едната и другата посока на разговора и като последен файла в който да е резултата - mp3-ката.
Активен

Mitaka

  • Гост
Re: Asterisk Monitor Script Mix
« Отговор #6 -: Jan 09, 2009, 10:16 »
Може да го направиш да си ги миксира сам.

Код:
exten => 772,1,Wait(1)
exten => 772,2,Monitor(wav,${CALLERID(num)}_${EXTEN}_${STRFTIME(${EPOCH},GMT-2,%C%y%m%d%H%M)},m)
exten => 772,3,Playback(vm-dialout)
exten => 772,4,Dial(SIP/772,20)
exten => 772,5,Voicemail(u772@local)
exten => 772,102,Voicemail(b772@local)
exten => 772,103,Hangup
exten => 772,hint,SIP/772

Изходният файл ще се казва например: 772_770_200810041038.wav
(избиращ номер - набран номер - дата и час)
При мен се намира в: /var/spool/asterisk/monitor/

разбира се, трябва да си замениш 772 с твоят extension.
Активен

damencho

  • Напреднали
  • *****
  • Публикации: 14
    • Профил
Re: Asterisk Monitor Script Mix
« Отговор #7 -: Jan 09, 2009, 10:20 »
Не съм 100% сигурен, но понеже става въпрос за asterisk 1.2  там мисля Monitor application-a неможе да миксва, там записва 2 файла съответно за всяка от посоките на разговора.
Активен

Mitaka

  • Гост
Re: Asterisk Monitor Script Mix
« Отговор #8 -: Jan 09, 2009, 10:41 »
Да, моя грешка.
Просто не съм видял за коя версия става въпрос.
Активен

Explisit

  • Напреднали
  • *****
  • Публикации: 97
    • Профил
Re: Asterisk Monitor Script Mix
« Отговор #9 -: Jan 10, 2009, 10:41 »
Мерси за помощта на всички. Понаучих още малко за скриптирането и с помощта и на скрипта в тази тема си направих идеалния вариант за мен. Сега си миксирам като пич  ;D
Активен

Powered by Debian