Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027

    [CERCO] Software o script per riduzione kbps di albero di mp3

    Ciao ragazzi, avrei bisogno di uno script o di un programmino via shell che data una directory contenente subdirectory e mp3 mi faccia la conversione ricorsiva di dei file nelle dir riducendo il bitrate.

    I file sono molti, e non posso fare dei semplici cicli for (o meglio l'ho fatto ma è un lavoro lungo).

    Conoscete qualcosa che faccia al caso mio?

    grazie

  2. #2
    find /tua_dir -name *.mp3 - exec conversione.sh {} \;

    ovviamente conversione.sh è il comando per fare la conversione (non so quale usare. so che ne esistono).
    PEr dubbi man find (magaro ho sbagliato leggermente la sintassi).
    A forza di seguire la corrente si finisce in qualche fogna
    -- M.Connelly

    http://www.syn-ack.it

  3. #3
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    uhm ci provo...

    grazie

    (per convertire uso lame).

    ciao

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    scusa, in questi giorni sono un po' preso e non ho tempo di verificare la sintassi, puoi spiegarmi tu a cosa servono le 2 graffe?

    ciao

  5. #5
    tradotto a parole

    find /tua_dir : trova nella directory /tua_dir

    -name *.mp3 : tutti i file che si terminano .mp3

    - exec conversione.sh : ed esegui conversione.sh

    {} : su ciò che hai trovato

    \; : sintassi per terminare il comando lanciato da exec

    Dal man di find


    -exec command ;
    Execute command; true if 0 status is returned. All following arguments to find are taken to be arguments to the command until an argument consisting of `;' is encountered. The string `{}' is replaced by the current file name being processed everywhere it occurs in the arguments to the command , not just in arguments where it is alone, as in some versions of find. Both of these constructions might need to be escaped (with a `\') or quoted to protect them from expansion by the shell. The command is executed in the starting directory.
    In poche parole è come se fosse un nome di una variabile.
    A forza di seguire la corrente si finisce in qualche fogna
    -- M.Connelly

    http://www.syn-ack.it

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Ho avuto tempo solo oggi di provare il tuo script, funziona, solo che lame produce un file chiamato

    file.mp3.mp3 nella stessa dir in cui lo trova, hai idea di come fare a fargli ricreare lo stesso ramo di dir sotto una directory chiamata in altro modo?

    ciao e grazie

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    746
    non sarà il massimo...però funziona (se i file in questione non hanno spazi nel nome.......sinceramente non vedo perchè dovrebbero )
    codice:
    #!/bin/bash
    
    echo -ne "from..."
    read from
    if [ "$from" = "" ]; then
                echo "Error."
                exit 1
    fi
    
    echo -ne "to..."
    read to
    if [ "$to" = "" ]; then
                echo "Error."
                exit 1
    fi
    
    echo -ne "set bitrate to (in kbps)..."
    read btrt
    if [ "$btrt" = "" ]; then
                 echo "Error."
                 exit 1
    fi
    
    echo -ne "other options we should pass to lame (press\n" 
    echo -ne "<enter> for none)..."
    read OTHOPT
    
    echo -ne "do you like to set a prefix or suffix ?[prefix/suffix/no]\n" 
    read QSTN
    
    if [ "$QSTN" = "prefix" ] ; then 
                  echo -ne "$QSTN..."
                  read pre
    elif [ "$QSTN" = "suffix" ] ; then 
                  echo -ne "$QSTN..."
                  read suf
    else
                  echo -ne "...ok..."
    fi
    
    if [ ! -d $to ]; then
                  mkdir -v $to
    fi
    
    cd $from
    for dir in `find *` ; do
                  [ -d "$dir" ]  &&
                  mkdir -v $to/$dir  
    done 
    
    for song in `find * | grep mp3`; do
                  [ -f "$song" ] &&
                  lame -q 0 -b $btrt --cbr "$OTHOPT" $song \
    		      $to/$pre`echo -ne $song |sed "s/.mp3//g"`$suf.mp3
    #TMOUT=8 read npt
    #	       $npt
    
    done
    
    exit 0

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.