Liste a duração de cada arquivo de vídeo em um diretório

1

Eu tenho um diretório cheio de arquivos de vídeo .MP4. Eu gostaria de ver uma lista que tem o nome de cada arquivo e sua duração em minutos e segundos. Algo parecido com isto:

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

Eu tentei muitos gerenciadores de arquivos, mas não consegui encontrar um que mostre essas informações.

Soluções que envolvem o terminal estariam bem.

    
por muru 04.10.2015 / 11:52

2 respostas

3

Tente isto: (inspiração de 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

No entanto, a saída estará no formato HH: MM: SS.MILLISECONDS. Se você deixar de fora a opção -sexagesimal, você obterá a duração em segundos.

Para a saída desejada HH: MM, você poderia fazer algo assim:

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
    
por Merlin1896 04.10.2015 / 12:25
0

avprobe do pacote libav-tools faz isso.

Exemplo de saída 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
    
por Jan 04.10.2015 / 11:58