mplayer -nosound -vo null -ss 24:00:00 -really-quiet -identify nome_file_video | grep ID_LENGTH | cut -f2 -d=
-nosound = riproduce senza audio
-vo null = Video Output driver è null; quindi il video viene riprodotto su null (quindi non si vede - è come mandare un file verso /dev/null) . Teoricamente si potrebbe anche omettere visto che spostiamo il cursore con -ss.
-really-quiet = mplayer sopprime alcuni messaggi durante la riproduzione
-identify = ti dà tutte le informazioni possibili sul file (durata, tipo, codifica, aspect ratio etc... )
Non so se vuoi anche la spiegazione di grep, comunque:
'grep ID_LENGTH' estrae dall'output del comando precedente (mplayer) la riga con la durata
'cut -f2 -d=' restituisce il secondo campo (-f 2 == field 2) usando come delimitatore il segno '=' . Infatti dopo il grep abbiamo ID_LENGTH=305.34
Per i file audio usa la stessa identica riga, ma togli -nosound -vo null.
Al posto di -vo null, puoi mettere -ao null anche se vale il discorso precedente: spostando il cursore con -ss, -ao null è inutile.
Ciao.