Перечислите продолжительность каждого видеофайла в каталоге

У меня есть каталог, полный.MP4 видеофайлов. Я хотел бы видеть список, который имеет название каждого файла и его продолжительности в минутах и секундах. Что-то вроде этого:

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

Я попробовал много файловых менеджеров, но не могу найти тот, который покажет мне эту информацию.

Решения, которые включают терминал, были бы прекрасны.

1
задан 7 March 2017 в 07:45

2 ответа

Попробуйте это: (вдохновение от superuser.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

Однако выводом будет в форме HH:MM:SS.MILLISECONDS. При игнорировании опции-sexagesimal Вы получите продолжительность в секундах.

Для желаемой outputform HH:MM, Вы могли сделать что-то вроде этого:

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
3
ответ дан 7 December 2019 в 12:43

avprobe от пакета libav-tools делает это.

Демонстрационный выходной avprobe myfile.mp4

avprobe version 10.1-6:10.1-1~bpo70+1, Copyright (c) 2007-2014 the Libav developers
  built on Jun  6 2014 18:25:37 with gcc 4.7 (Debian 4.7.2-5)
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x90f4720] multiple edit list entries, a/v desync might occur, patch welcome
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x90f4720] multiple edit list entries, a/v desync might occur, patch welcome
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Zieleinlauf_2013_1886.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.2.100
  Duration: 00:00:14.09, start: 0.021995, bitrate: 4009 kb/s
    Stream #0.0(und): Video: h264 (High), yuv420p, 534x300, 3854 kb/s, 25 fps, 25 tbn, 50 tbc (default)
    Stream #0.1(und): Audio: aac, 22050 Hz, mono, fltp, 127 kb/s (default)
# avprobe output
0
ответ дан 7 December 2019 в 12:43

Другие вопросы по тегам:

Похожие вопросы: