Um sich die Länge eines Videos auf der Konsole anzeigen zu lassen, gibt es mehrere Möglichkeiten, u.a. mplayer, ffmpeg oder tcprobe (Teil von transcode). Allerdings können die Tools nur Informationen zu einem Video pro Aufruf anzeigen und haben keine geeignete Ausgabe, die sich mit anderen Programmen wie sort bequem verwenden lässt.
Deshalb habe ich einen kleinen Wrapper geschrieben, der die Dauer der übergebenen Videos ähnlich wie wc anzeigt und dadurch auch sortierbar macht.
Als Backend nutzt es mplayer, da es die meisten Formate unterstützt und sehr schnell ist. tcprobe ist zwar etwas schneller, kommt aber nicht mit MKV-Containern klar. Und ffmpeg war weniger als halb so schnell wie mplayer.
Falls jemand ein Tool kennt, das schneller als mplayer ist, aber ähnlich viele Formate unterstützt, bitte als Kommentar bekannt geben.
Beispiel:
$ ./movielen.sh * | sort 0:50:08 - film5.mov 1:31:39 - film3.mpg 1:33:18 - film6.flv 1:40:45 - film1.avi 2:06:50 - film2.mkv 2:58:45 - film4.mkv
| Anhang | Größe |
|---|---|
| movielen.txt | 981 Bytes |
Kommentare
Nochn tool
Danke fuer dein Posting, hatte das Problem das bei m2ts Dateien mplayer nicht immer
einen vernuenftigen Wert fuer ID_LENGTH angibt.
Meine Loesung war:
mediainfo --Inform='Video;%Duration%' (ausgabe ist in ms)
(nur ist mediainfo vielleicht nicht immer installiert)
gruss!