1 respuestas
3 mensajes

Este tema lleva más de 6 meses inactivo. Es recomendable que abras un nuevo tema para retomar la conversación.
  • Favorito #1677731

    Problema con este script

    Hola a todos/as.

    Me he creado este sencillo script en bash para poder volcar emisiones en streaming o en descarga codificándolas automáticamente a MP3:

    #!/bin/bash

    # Este script sirve para volcar y codificar a MP3 una emisión en streaming o en descarga de audio o vídeo
    # CÓMO USAR: ./mp3enc2 [URL_de_streaming] [bitrate] [frecuencia{8|11.025|12|16|22.05|24|32|44.1|48}]

    # NOTA: NO es posible usar: cat "[nombre_lista]" | while read URL; do ./mp3enc2 .....

    mkfifo /tmp/MP3

    KEY=$(echo $1 | cut -d'/' -f3)
    NOW=$(date +%F-%H.%M.%S)

    lame -h -b $2 --resample $3 /tmp/MP3 "$KEY"_"$NOW".mp3 &

    mplayer -novideo $1 -ao pcm:file=/tmp/MP3

    rm /tmp/MP3

    mp3gain -c -r -d 5.0 "$KEY"_"$NOW".mp3

    Bien. Si invoco el script con solamente una URL, p.e.:

    ./mp3enc2 www.ivoox.com/cofrentes-accion-greenpeac … 535136_1.mp3 32 44.1

    el volcado y codificado a 32kbps con 44100 Hz en MP3 es correcto.

    El problema viene cuando intento pasarle al script un archivo de texto con un listado de URL's a volcar de la siguiente manera:

    cat [archivo_texto] | while read URL; do ./mp3enc2 $URL 32 44.1; done

    De la anterior manera solamente se me vuelca la primera URL de la lista y el script se detiene. No entiendo qué es lo que falla. Con otros scripts no me pasa.

    Muchas gracias.

    Salud.

    • Favorito #2026316

      Bueno, me respondo a mí mismo. Esta es la solución: for URL…

      Bueno, me respondo a mí mismo. Esta es la solución:

      for URL in $(cat [nombre_lista]); do ./mp3enc2 $URL [bitrate] [frecuencia{8|11.025|12|16|22.05|24|32|44.1|48}]; done

      Asunto resuelto.

      Salud.

      • Favorito #2027457

        No necesitas lanzar el proceso de cat, puedes uasr $( for URL…

        No necesitas lanzar el proceso de cat, puedes uasr $(

        for URL in $(< [nombre_lista]); do

        ./mp3enc2 $URL [bitrate] [frecuencia{8|11.025|12|16|22.05|24|32|44.1|48}]

        done