Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Shell: codificare file vecchi di 6 ore con determinata estensione

    Ciao a tutti,

    spero che qualcuno possa essermi di aiuto...

    Allora....


    Ho bisogno di fare un piccolo script che deve entrare in una determinata directory e rilevi file video vecchi di 6 ore con estensione .ASF e le ricodifichi con ffmpeg in formato .avi. (preservando lo stesso nome)


    Il comando con ffmpeg è normalmente questo:

    ffmpeg -i /percorso/Sala/nomefile.asf -acodec copy -vcodec copy /percorso/nomefile.avi

    Ma come faccio ad indicare di rilevare TUTTI i file con estensione .ASF più vecchi di 6 ore e ricodificarli automaticamente in .AVI ? Magari preservando lo stesso nome cancellando il "vecchio file .ASF" già codificato.

    Grazie a tutti per la collaborazione.

  2. #2
    Utente di HTML.it L'avatar di rufo80
    Registrato dal
    Dec 2008
    Messaggi
    16
    per trovare i file + vecchi di 6 ore e codificarli dovresti usare questo comando :

    find /percorso/cartella/ -name *.asf -mtime -360 | xargs ffmpeg -acodec copy -vcodec copy /percorso/nomefile.avi

    il comando l'ho scritto a memoria quindi potrebbe presentare degli errori di sintassi... ma è una base da cui partire

    ciao

  3. #3
    Ciao,

    grazie per la risposta!

    Ho risolto grazie a consiglio simile al tuo.

    Metto il codice casomai servisse a qualcuno:

    codice:
    #!/bin/bash
    
    MINUTI=360
    
    INDIR="/nomedirectory/"
    OUTDIR="/nomedirectory2/"
    
    find "$INDIR" -iname "*.asf" -mmin -$MINUTI | while read file ; do
      FILENAME=$(basename "$file" | sed -e 's/\.\(.\{4\}\|.\{3\}\|.\{2\}\|.\{1\}\)$//')
      ffmpeg -i "$file" -acodec copy -vcodec copy "$OUTDIR/$FILENAME.avi"
    rm "$file"
    done

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 © 2024 vBulletin Solutions, Inc. All rights reserved.