Listen Sie die Dauer jeder Videodatei in einem Verzeichnis auf

Listen Sie die Dauer jeder Videodatei in einem Verzeichnis auf

Ich habe ein Verzeichnis voller MP4-Videodateien. Ich würde gerne eine Liste sehen, die den Namen jeder Datei und ihre Dauer in Minuten und Sekunden enthält. So etwas wie das hier:

one.mp4    4:34
two.mp4    2:23
three.mp4  8:34
four.mp4   0:43

Ich habe viele Dateimanager ausprobiert, kann aber keinen finden, der mir diese Informationen anzeigt.

Lösungen, die das Terminal einbeziehen, wären gut.

Antwort1

Versuchen Sie Folgendes: (Inspiration vonsuperuser.com)

for f in *.mp4
do
  echo -n "$f "
  ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 -sexagesimal "$f"
done

Die Ausgabe erfolgt jedoch in der Form HH:MM:SS.MILLISEKUNDEN. Wenn Sie die Option -sexagesimal weglassen, erhalten Sie die Dauer in Sekunden.

Für die gewünschte Ausgabeform HH:MM könnten Sie etwa so vorgehen:

for f in *.mp4
do
  echo -n "$f "
  dur=`ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "$f"`
  min=`echo "$dur/60" | bc`
  sec=`echo "$dur%60/1" | bc`
  echo "$min:$sec"
done

Antwort2

avprobeaus dem Paket libav-toolstut dies.

Beispielausgabe avprobe myfile.mp4

avprobe Version 10.1-6:10.1-1~bpo70+1, Copyright (c) 2007-2014 die Libav-Entwickler
  erstellt am 6. Juni 2014 18:25:37 mit gcc 4.7 (Debian 4.7.2-5)
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x90f4720] Mehrere Einträge in der Bearbeitungsliste, möglicherweise tritt eine A/V-Desynchronisierung auf, Patch willkommen
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x90f4720] Mehrere Einträge in der Bearbeitungsliste, möglicherweise tritt eine A/V-Desynchronisierung auf, Patch willkommen
Eingabe #0, mov,mp4,m4a,3gp,3g2,mj2, aus 'Zieleinlauf_2013_1886.mp4':
  Metadaten:
    Hauptmarke: isom
    Nebenversion: 512
    kompatible Marken: isomiso2avc1mp41
    Encoder: Lavf54.2.100
  Dauer: 00:00:14.09, Beginn: 0.021995, Bitrate: 4009 kb/s
    Stream #0.0(und): Video: h264 (Hoch), yuv420p, 534x300, 3854 kb/s, 25 fps, 25 tbn, 50 tbc (Standard)
    Stream #0.1(und): Audio: aac, 22050 Hz, mono, fltp, 127 kb/s (Standard)
# avprobe-Ausgabe

verwandte Informationen