donner un essai à ceci:
find . -iname "*.mp4" -exec ffprobe -v error -print_format json -show_format {} \; | jq -r '.[].duration' | awk '{total+=$0}END{printf "%.6f",total}'
Il utilise find
pour rechercher tous les *.mp4
, suivant utilise ffprobe pour obtenir les informations au format JSON et plus tard jq est utilisée pour extraire la durée:
ffprobe -v error -print_format json -show_format file.mp4 | jq -r '.[].duration'
Pour le comptage est utilise awk
:
awk '{total+=$0}END{printf "%.6f",total}'
le printf "%.6f",total
est de restituer les flotteurs par exemple:
5320.351000
ffmpeg -i myvideo 2> & 1 | grep Durée | couper -d '' -f 4 | sed s /, // cela vous donnera le temps d'exécution de .mp4 ou vous pouvez utiliser l'application avconv ceci est commnad pour avconv 'avconv -i test.mp4' –