Title: Verificare un file video
Author: Sandro Tosi
Last modified: 2006-04-03
Abbiamo appena scaricato un file video, oppure abbiamo trovato un
vecchio cd con dentro dei filmati molto divertenti ma non ci fidiamo
della qualita` di quel supporto, e vogliamo verificare la bonta` dei
file.
Un modo semplice e` mettersi belli comodi e guardarseli tutti: un
metodo sicuro, ma molto lungo. Sarebbe invece piu` comodo fare questa
attivita` senza bisogno di interazione (tipo di notte, se i file sono
tanti e lunghi).
Per eseguire questo compito possiamo usare con profitto mplayer:
mplayer -vo null -ao null -speed 10 <file>
che legge ad una velocita` 10 volte maggiore del normale tutto il
file, senza mandare l'output ne` video ne` audio (la velocita` puo`
essere aumentata, mplayer legge comunque tutto il file). Se vi sono
errori li scrive a video, mentre se ci sono errori gravi (stream
illeggibile) mplayer esce con adeguato exit code.
Se quindi abbiamo tutti i video da controllare dentro /video_dir/,
possiamo lanciare il seguente script per verificarli tutti:
for file in /video_dir/* ; do
mplayer -vo null -ao null -speed 10 $file >> logfile 2>&1;
done
in modo che sia errori che output normale vengano rediretti dentro il
file logfile.
Cosi` facendo, pero`, tutta la progressione di avanzamento nella
lettura del file viene inserita nel log, riempiendolo inutilmente;
modificando cosi` lo script:
for file in /video_dir/* ; do
echo -e "\n---"$file"---\n" >>logfile
mplayer -vo null -ao null -speed 10 $file 2>>logfile
done
abbiamo in console l'avanzamento di mplayer e nel file di log solo gli
errori, preceduti dal nome del file video a cui corrispondono.
Certo, il sistema migliore per archiviare i file e` farci prima l'MD5,
salvarlo nel cd (o nel supporto), e poi in caso di problemi
ricontrollarlo: ma se i file sono stati gia` scritti sul supporto...
|