ffmpeg écrit ces informations dans stderr , pas stdout . Essayez ceci :
ffmpeg -i file.mp4 2>&1 | grep Duration | sed 's/Duration: \(.*\), start/\1/g'
 Remarquez la redirection de stderr à stdout :2>&1 
MODIF :
 Votre sed déclaration ne fonctionne pas non plus. Essayez ceci :
ffmpeg -i file.mp4 2>&1 | grep Duration | awk '{print $2}' | tr -d ,
 Vous pouvez utiliser ffprobe :
ffprobe -i <file> -show_entries format=duration -v quiet -of csv="p=0"
Il affichera la durée en secondes, telle que :
154.12
 Ajout du -sexagesimal l'option affichera la durée sous la forme hours:minutes:seconds.microseconds :
00:02:34.12