4 votes

Obtenez la durée de la vidéo en heures:minutes:secondes, arrondissez le résultat à la seconde.

Pour l'instant, j'utilise la commande suivante pour obtenir la sortie d'une durée de vidéos

ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 -sexagesimal 'video file.mp4'

Le résultat est 0:33:29.410000

J'ai besoin que ce résultat soit remplacé par le suivant

  • Un 0 supplémentaire doit être à l'avant 0:33:29.410000
  • Les secondes doivent être arrondies vers le haut ou vers le bas. La sortie finale doit être 00:33:29

5voto

pLumo Points 23269

Utilisez awk :

awk -F: '{printf "%02d:%02d:%02d\n",$1,$2,$3}'

ou si vous voulez vérifier le format avant la conversion pour éviter les erreurs :

awk -F: '/^[0-9]+:[0-9]+:[0-9]+/ {printf "%02d:%02d:%02d\n",$1,$2,$3}'

$ ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 -sexagesimal 'video file.mp4' | awk -F: '{printf "%02d:%02d:%02d\n",$1,$2,$3}'
00:33:29

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X