Cursos Asterisk en México

Como sustituir mpg123 por rawplayer

Colapsar

Anuncio

Colapsar
No hay anuncio todavía.
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Como sustituir mpg123 por rawplayer

    Mike:

    No se si me diste permisos para editar o solo para moderar por que no encuentro un solo menu para agregar esto. lo pongo aqui y si puedes decirme como agregarlo al wiki estare alimentandolo con algunas experiencias propias.


    How to starts here




    Asterisk 1.2 ya soluciona el problema del mpg123 por lo que este how to es solo para los usuarios de 1.0.x

    crear un archivo en /etc/asterisk con nombre rawplayer y poner esto dentro del archivo


    Código:
    #!/bin/sh
    
    while [ 1 ]; do
    for name in $@; do
    cat $name || exit;
    #head -c 100000 $name || exit;
    done
    done
    y darle permisos de ejecucion

    chmod +x /etc/asterisk/rawplayer

    despues editamos nuestro /etc/asterisk/musiconhold.conf

    Código:
    [classes]
    
    default => custom:/var/lib/asterisk/mohmp3/default/raw,/etc/asterisk/rawplayer
    nos movemos a nuestro directorio donde tenemos nuestra muscia en espera ( normalmente /var/lib/asterisk/mohmp3) y descargamos

    convertmp3 o creamos el archivo con esto dentro



    Código:
    #!/bin/sh
    help () {
    SOXMODE="sox"
    cat << EOF_helpmsg
    ###################
    # asterisk Music on hold conversion script by Gavin Hollinger
    # [url]http://5sn.net/asterisk/rawplayer/[/url]
    # THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
    ###################
    
    Syntax:
    $0 mode [mp3-input-dir] [output-dir]
    
    Mode:
    sox - (recomended) Requires mp3 support (sox -h) [url]http://sox.sourceforge.net/[/url]
    mpg123sox - security problem as of 2005-02-17 [url]http://www.mpg123.de/[/url] 
    
    Example:
    $0 $SOXMODE $MP3INDIR $OUTBASEDIR
    
    Will take *.mp3 files in $MP3INDIR
    convert them and place output in the following folders:
    mp3 files: $MP3DIR
    raw files: $RAWDIR
    native files: $NATIVEDIR
    
    EOF_helpmsg
    exit 1
    }
    
    convertfiles () {
    echo "Running in $SOXMODE mode"
    echo "TESTING/CREATING DIRECTORIES:"
    if [ -d "$MP3INDIR" ]; then cd "$MP3INDIR"; else echo "INPUT DIR DOES NOT EXIST: $MP3INDIR"; fi
    
    for DIR in `echo "$OUTBASEDIR $MP3DIR $NATIVEDIR $RAWDIR"` 
    do
       if [ ! -d "$DIR" ]
         then
           echo "mkdir $DIR"
           mkdir "$DIR"
           continue
       fi
    echo "Using: $DIR"
    done
    echo
    
    for FILE in `ls *.mp3 | cut -d "." -f 1`
    do
       if [ ! -e "$FILE.mp3" ]       # Check if file exists.
      then
        echo "$FILE.mp3 does not exist."; echo
        continue                # On to next.
       fi
    
    if [ "$SOXMODE" = "sox" ]; then soxconvertfiles; fi
    if [ "$SOXMODE" = "mpg123sox" ]; then mpg123soxconvertfiles; fi
    #echo -n "$FILE "
    done
    echo
    exit 1
    }
    
    
    commonconvertfiles () {
    OUTFILEEXT="$MP3DIR/$FILE.mp3"
    if [ ! -e "$OUTFILEEXT" ]; then
    	echo "ln $MP3INDIR/$FILE.mp3 $OUTFILEEXT"
    	ln "$MP3INDIR/$FILE.mp3" "$OUTFILEEXT"
    		else
    			echo "NOT REPLACING: $OUTFILEEXT"
    fi
    
    if [ ! -e "$RAWDIR/$FILE.sln" ]; then echo "MISSING FILE: $RAWDIR/$FILE.sln"; exit 0; fi
    
    OUTFILEEXT="$NATIVEDIR/$FILE.sln"
    if [ ! -e "$OUTFILEEXT" ]; then
    	echo "ln $RAWDIR/$FILE.sln $OUTFILEEXT"
    	ln "$RAWDIR/$FILE.sln" "$OUTFILEEXT"
    		else
    			echo "NOT REPLACING: $OUTFILEEXT"
    fi
    
    OUTFILEEXT="$NATIVEDIR/$FILE.raw"
    if [ ! -e "$OUTFILEEXT" ]; then
    	echo "ln $RAWDIR/$FILE.sln $OUTFILEEXT"
    	ln "$RAWDIR/$FILE.sln" "$OUTFILEEXT"
    		else
    			echo "NOT REPLACING: $OUTFILEEXT"
    fi
    
    OUTFILEEXT="$NATIVEDIR/$FILE.gsm"
    if [ ! -e "$OUTFILEEXT" ]; then
    	echo "creating: $OUTFILEEXT"
    	cat "$NATIVEDIR/$FILE.sln" | sox -t raw -r 8000 -s -w -c 1 - -r 8000 -c 1 -w "$OUTFILEEXT"
    		else
    			echo "NOT REPLACING: $OUTFILEEXT"
    fi
    
    OUTFILEEXT="$NATIVEDIR/$FILE.wav"
    if [ ! -e "$OUTFILEEXT" ]; then
    	echo "creating: $OUTFILEEXT"
    	cat "$NATIVEDIR/$FILE.sln" | sox -t raw -r 8000 -s -w -c 1 - -r 8000 -c 1 -w "$OUTFILEEXT"
    		else
    			echo "NOT REPLACING: $OUTFILEEXT"
    fi
    
    OUTFILEEXT="$NATIVEDIR/$FILE.WAV"
    if [ ! -e "$OUTFILEEXT" ]; then
    	echo "creating: $OUTFILEEXT"
    	cat "$NATIVEDIR/$FILE.sln" | sox -t raw -r 8000 -s -w -c 1 - -r 8000 -c 1 -b -g "$OUTFILEEXT"
    		else
    			echo "NOT REPLACING: $OUTFILEEXT"
    fi
    
    OUTFILEEXT="$NATIVEDIR/$FILE.wav49"
    if [ ! -e "$OUTFILEEXT" ]; then
    	echo "ln $NATIVEDIR/$FILE.WAV $OUTFILEEXT"
    	ln "$NATIVEDIR/$FILE.WAV" "$OUTFILEEXT"
    		else
    			echo "NOT REPLACING: $OUTFILEEXT"
    fi
    
    OUTFILEEXT="$NATIVEDIR/$FILE.ul"
    if [ ! -e "$OUTFILEEXT" ]; then
    	echo "creating: $OUTFILEEXT"
    	cat "$NATIVEDIR/$FILE.sln" | sox -t raw -r 8000 -s -w -c 1 - -r 8000 -c 1 -w "$OUTFILEEXT"
    		else
    			echo "NOT REPLACING: $OUTFILEEXT"
    fi
    
    OUTFILEEXT="$NATIVEDIR/$FILE.pcm"
    if [ ! -e "$OUTFILEEXT" ]; then
    	echo "ln $NATIVEDIR/$FILE.ul $OUTFILEEXT"
    	ln "$NATIVEDIR/$FILE.ul" "$OUTFILEEXT"
    		else
    			echo "NOT REPLACING: $OUTFILEEXT"
    fi
    
    OUTFILEEXT="$NATIVEDIR/$FILE.ulaw"
    if [ ! -e "$OUTFILEEXT" ]; then
    	echo "ln $NATIVEDIR/$FILE.ul $OUTFILEEXT"
    	ln "$NATIVEDIR/$FILE.ul" "$OUTFILEEXT"
    		else
    			echo "NOT REPLACING: $OUTFILEEXT"
    fi
    
    OUTFILEEXT="$NATIVEDIR/$FILE.mu"
    if [ ! -e "$OUTFILEEXT" ]; then
    	echo "ln $NATIVEDIR/$FILE.ul $OUTFILEEXT"
    	ln "$NATIVEDIR/$FILE.ul" "$OUTFILEEXT"
    		else
    			echo "NOT REPLACING: $OUTFILEEXT"
    fi
    }
    
    ################
    # NOTES ON VOLUME ADJUSTMENTS FOR SOX AND MPG123
    # asterisk quietmp3 mode uses -f 4096
    # mpg123 -f scale factor (default: 32768)
    # sox -v volume factor (default: 1)
    # 4096/32768=.125 so sox equivalant volume is -v .125
    ################
    
    soxconvertfiles () {
    OUTFILEEXT="$RAWDIR/$FILE.sln"
    if [ ! -e "$OUTFILEEXT" ]; then
    	echo "creating: $OUTFILEEXT"
    #	sox -V "$FILE.mp3" -r 8000 -s -c 1 -t raw -w "$OUTFILEEXT"
    	sox "$FILE.mp3" -r 8000 -s -c 1 -t raw -w -v .125 "$OUTFILEEXT" lowpass 3700
    		else
    			echo "NOT REPLACING: $OUTFILEEXT"
    fi
    commonconvertfiles
    }
    
    mpg123soxconvertfiles () {
    OUTFILEEXT="$RAWDIR/$FILE.sln"
    if [ ! -e "$OUTFILEEXT" ]; then
    	echo "creating: $OUTFILEEXT"
    	mpg123 -s --mono -r 8000 -f 4096 -b 10000 "$FILE.mp3" > "$OUTFILEEXT"
    		else
    			echo "NOT REPLACING: $OUTFILEEXT"
    fi
    commonconvertfiles
    }
    
    if [ "$2" = "" ]; then MP3INDIR="/var/lib/asterisk/mohmp3"; else MP3INDIR="$2"; fi
    if [ "$3" = "" ]; then OUTBASEDIR="/var/lib/asterisk/mohmp3/default"; else OUTBASEDIR="$3"; fi
    SOXMODE="$1"
    MP3DIR="$OUTBASEDIR/mp3"
    NATIVEDIR="$OUTBASEDIR/native"
    RAWDIR="$OUTBASEDIR/raw"
    
    case $SOXMODE in
    	sox)
    		convertfiles
    		exit 1
    	;;
    	mpg123sox)
    		convertfiles
    		exit 1
    	;;
    	*)
    		help
    		exit 1
    	;;
    esac
    
    echo
    exit 0
    ahora lo ejecutamos asi (necesitamos mpg123 para covertirlos pero ya no se ejecutara con la musica en espera, no se si funcione con mpg321, lo probare y comento)

    ./convertmp3 mpg123sox ./ ./default

    esto nos creara un directorio de nombre default con 3 directorios dentro, mp3, raw y native
    nos movemos a default/raw

    cd /var/lib/asterisk/mohmp3/default/raw

    y renombramos nuestros archivos para que se puedan leer por rawplayer

    rename .sln .mp3 *.sln

    reiniciamos asterisk, y probamos tratando de entrar a una sala de conferencia para escuchar la musica en espera.


    Advertencia: estos pasos funcionaron para mi y me permitieron optimizar mi uso de CPU, pero pueden no funcionar para ti.

    Si tu asterisk se rompe te quedas con los pedazos.

  • #2
    Asterisk 1.2.0 lo trae nativo y la version CVS por ahi comenta que trae para tocarlas
    de forma natura pero 1.2.0 ya lo probe y jala chido

    Comentario


    • #3
      Pregunta.. ke ventaja tiene o para ke se usa el rawplayer ?, imagino ke es un parche para el mpg123, pero si ya tienes su parche (mpg123-0.59q-1.i386.rpm), o es mejor ke este último..? :S..

      Saludos..
      Por favor usen la búskeda, ke muchas preguntas ya se resolvieron ... y siguen preguntando lo mismo...

      Comentario


      • #4
        Originalmente publicado por Dwong
        Pregunta.. ke ventaja tiene o para ke se usa el rawplayer ?, imagino ke es un parche para el mpg123, pero si ya tienes su parche (mpg123-0.59q-1.i386.rpm), o es mejor ke este último..? :S..

        Saludos..
        A lo mejor algo tarde
        no ahce transcoding y lo toma nativo eso es la ventaja

        Comentario

        Principales Usuarios Activos

        Colapsar

        No hay usuarios activos superiores.
        Trabajando...
        X