Donc j'ai testé un simple "file fichier.avi" mais biensurs ca ne le donne pas, ca donne encodage, et résolution entre autre.
Le plus logique est d'installer un truc qui sert pour la video. J'installe mplayer et ca marche pas (enfin j'ai pas trop cherché...), finalement j'ai installé ffmpeg qui dispose de moins de dépendances que mplayer et affiche la durée.
Ce qui donne (si ca peut aider certain):
ffmpeg -i video.avi 2>&1 | grep -Eo "[0-9]{2}:[0-9]{2}:..\..."
00:51:09.40
Sinon en heure(s) / minutes
ffmpeg -i video.avi 2>&1 | grep -Eo "[0-9]{2}:[0-9]{2}:..\..." | sed 's/:..\...//'
00:51
Pareil mais avec deux vids dans le dossier, et sans avoir a renseigner le nom.
export var=`ls | grep .avi | sed "2d"`
ffmpeg -i $var 2>&1 | grep -Eo "[0-9]{2}:[0-9]{2}:..\..." | sed 's/:..\...//'
export var2=`ls | grep .avi | sed "1d"`
ffmpeg -i $var2 2>&1 | grep -Eo "[0-9]{2}:[0-9]{2}:..\..." | sed 's/:..\...//'
Si quelqu'un a mieux (logiciel plus light en dépendances, etc) qu'il n'hésite pas...
Un problème? Venez en parler sur le forum, tout a une solution :D

6 commentaires:
$ mplayer -vo null -ao null -frames 0 -identify FILE | grep LENGTH
Ca renvoi ID_LENGTH=xxx (nombre de secondes)
Exemple:
$ mplayer -vo null -ao null -frames 0 -identify White\ Stripes.avi | grep LENGTH
ID_LENGTH=213.35
Je ne suis pas sûr que niveau dépendances ce soit mieux, mais tu peux tenter avec avidemux-cli :
avidemux2_cli --nogui --load fichier.avi --info &>/dev/null | grep -Eo "Duration: [0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]{3})$" | sed -e s/Duration:\ //
ah merci pour les soluces, je regarderais ce qui est le plus valable en terme de dependances
Tiens tu peux essayer celui-ci : http://bobotig.fr/contenu/projets/vlen/.
pas mal :)
merci
Bonjour, une autre avec les secondes:
ffmpeg -i video.avi 2>&1 | grep "Duration:" | awk 'FS=":" {print $1 $2}' | sed 's/Duration://;s/....$//'
++
Poulpoul
Enregistrer un commentaire