GNU/Linux >> Tutoriels Linux >  >> Linux

Comment extraire la durée de la sortie ffmpeg?

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

Linux
  1. Comment faire pivoter des vidéos à l'aide de FFMpeg à partir de la ligne de commande

  2. Comment définir une variable égale à la sortie d'une commande dans Grub2 ?

  3. Comment empêcher `ls` de trier la sortie ?

  4. Comment lire un message à la fois depuis /var/mail ?

  5. Comment diriger la sortie de grep vers cp?

Comment extraire des adresses e-mail d'un fichier texte sous Linux

Comment voir la sortie d'un script Php ?

Comment rediriger la sortie de la commande time vers un fichier sous Linux ?

Comment extraire du texte avec OCR à partir d'un PDF sous Linux ?

Comment trier la sortie ps par heure de début de processus ?

Comment appliquer un filtre à la sortie en temps réel de `tail -f ` ?