BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

Mostrar tiempo en minutos de fichero de video

Serakon

Con el comando

mediainfo --Inform="General;%Duration%"

Da la medida en una medida de tiempo que desconozco un video de "26mn 42s" da "1602619", también he probado con

mediainfo --Inform="General;%Duration/String1%"

1,2, 3 los da de otra forma pero yo necesito que me de solamente a secas el numero de minutos ignorando unidades mas pequeñas o si no se puede filtrar y de ahí sacar a secas los minutos.

Gracias :)

BocaDePez
BocaDePez
1

Si te fijas un poco, el valor que pones es el equivalente en milisegundos. 26' 42" = 1602"

🗨️ 8
Serakon

Si eso me di cuenta pero no logro conocer forma de que me de el numero de minutos a secas a base de eso, desechando decimales.

he pensao en cortar en base a este tiempo "00:26:42.619"

🗨️ 7
BocaDePez
BocaDePez

Como no tengo Linux en casa, estuve mirando un man online del mediainfo, pero no da mucha información.

Si solo te saca milisegundos, necesitarás pasarselo como parámetro a otro programa que te lo imprima como quieras.

Lo más fácil (para mí) sería programarlo en C tú mismo, se podría programar en dos minutos, pero no tengo acceso a un Linux con gcc en este momento.

De todas formas, ¿cuál es el objetivo? ¿mostrar únicamente la duración? Es que como luego hablas de "cortar"...

BocaDePez
BocaDePez
1

Puedes usar este programilla que he escrito, pegándolo en un fichero llamado ms2HMS.c y compilándolo con gcc -Os -s -o ms2HMS ms2HMS.c

Luego lo invocas usando tuberías, así: mediainfo --Inform="General;%Duration%" | ms2HMS

Si no es lo que necesitas, se puede modificar...

🗨️ 5
BocaDePez
BocaDePez

Eso también se podría hacer en bash.

🗨️ 4
BocaDePez
BocaDePez
🗨️ 3
Serakon
🗨️ 2
BocaDePez
BocaDePez
🗨️ 1
Serakon
Serakon

En su día me raye, la solución era mas sencilla:

TIEMPO=`mediainfo "$FILE" --Inform="General;%Duration%"`
MIN=`echo $[(($TIEMPO/1000)/60)]`

luego el valor MIN te da los minutos justos ignorando resto.