Enumere la duración de cada archivo de video en un directorio

Enumere la duración de cada archivo de video en un directorio

Tengo un directorio lleno de archivos de video .MP4. Me gustaría ver una lista que tenga el nombre de cada archivo y su duración en minutos y segundos. Algo como esto:

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

He probado muchos administradores de archivos pero no encuentro ninguno que me muestre esta información.

Las soluciones que involucren a la terminal estarían bien.

Respuesta1

Prueba esto: (inspiración desuperusuario.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

Sin embargo, la salida tendrá el formato HH:MM:SS.MILLISECONDS. Si omite la opción -sexagesimal, obtendrá la duración en segundos.

Para el formulario de salida deseado HH:MM, podrías hacer algo como esto:

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

Respuesta2

avprobedel paquete libav-toolshace esto.

Salida de muestra avprobe myfile.mp4

avprobe versión 10.1-6:10.1-1~bpo70+1, Copyright (c) 2007-2014 los desarrolladores de Libav
  construido el 6 de junio de 2014 18:25:37 con gcc 4.7 (Debian 4.7.2-5)
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x90f4720] múltiples entradas de la lista de edición, puede ocurrir desincronización a/v, parche bienvenido
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x90f4720] múltiples entradas de la lista de edición, puede ocurrir desincronización a/v, parche bienvenido
Entrada #0, mov,mp4,m4a,3gp,3g2,mj2, de 'Zieleinlauf_2013_1886.mp4':
  Metadatos:
    marca_mayor: isom
    versión_menor: 512
    marcas_compatibles: isomiso2avc1mp41
    codificador: Lavf54.2.100
  Duración: 00:00:14.09, inicio: 0.021995, tasa de bits: 4009 kb/s
    Transmisión #0.0(und): Vídeo: h264 (Alto), yuv420p, 534x300, 3854 kb/s, 25 fps, 25 tbn, 50 tbc (predeterminado)
    Transmisión #0.1(und): Audio: aac, 22050 Hz, mono, fltp, 127 kb/s (predeterminado)
# salida de sonda av

información relacionada