Converti file in MP4 in sottodirectory

4

Ho la mia collezione di film e serie in una directory, che ovviamente ha un sacco di sottodirectory e molti formati diversi. Viene costantemente aggiunto da tutti noi qui. Quello che mi piacerebbe fare è creare uno script che possa essere eseguito occasionalmente quando uno o tutti noi abbiamo aggiunto nuove cose che cercheranno i file in quella directory / sottodirectory e convertirli in un formato che kodi / xbmc possa riprodurre alla mia fidata vecchia Xbox 360. Sto eseguendo Gnome 16.04, non sono sicuro che sia rilevante o meno.

Finora ho trovato il codice per convertire i file effettivi;

for i in *mkv; do ffmpeg -i $i -vcodec copy -acodec copy "$i.mp4"; done

e i file si trovano tutti in;

/media/dave/Seagate Expansion Drive/Media

Quindi, questi sono i problemi che mi rimangono.

  • L'mp4 è il modo migliore per andare? Googling questo non ha davvero chiarito per me, ci sono milioni di opinioni diverse! Fino ad ora suonerà alcuni MP4 ma non tutti.

  • Come adattare quella piccola linea di codice per cercare più di mkv - ci sono mpeg, avi, wmv, mov, tutto ciò che puoi pensare! Dovrei semplicemente ripetere quella riga di codice per ogni diverso tipo di file?

  • Come farlo cercare nelle sottodirectory

  • Come fare a eliminare il file originale solo se la conversione ha esito positivo

  • Come posso impostare kodi / xbmc da caricare all'avvio già ridotto al minimo?

Qualsiasi aiuto, suggerimento o suggerimento per ottenere questo risultato sarà VERAMENTE apprezzato :)

    
posta Dave 17.07.2016 - 13:00

1 risposta

1
  

Come farlo cercare nelle sottodirectory

Utilizza find .

  

Come adattare quella piccola linea di codice per cercare più che semplicemente   mkv

Utilizza l'opzione -iregex con find .

  

Come fare a cancellare il file originale solo se la conversione è   successo

Hai bisogno di un interruttore if .

Mettere tutto insieme:

while IFS= read -r -d '' movie ; do
    echo "Found: $movie"

    convert_command="ffmpeg -i '$movie' -vcodec copy -acodec copy '$movie.mp4'"

    if bash -c "$convert_command" ; then
        echo "Converted to mp4"
        rm "$movie"
    else
        echo "Convertation failed"
    fi
done < <(find . -type f -iregex '.*\(mkv\|mpeg\|avi\|wmv\|mov\)' -print0)

Ho usato questo per creare un loop basato sull'output find .

I vantaggi e gli svantaggi di mp4 e kodi / xbmc minimizzare all'avvio sono domande indipendenti, ti suggerisco di creare post separati per ognuno di essi.

    
risposta data teksisto 23.07.2016 - 17:04

Leggi altre domande sui tag