Pregunta:
¿Cómo puedo obtener la duración del video en segundos?
Lo que he probado:
ffmpeg -i file.flv 2>&1 | grep "Duration"
Duration: 00:39:43.08, start: 0.040000, bitrate: 386 kb/s
mediainfo file.flv | grep Duration
Duration : 39mn 43s
Esto lo que está cerca, pero no es tan exacto, 2383 son 39,71 minutos
ffmpeg -i file.flv 2>&1 | grep "Duration"| cut -d ' ' -f 4 | sed s/,// | sed 's@\..*@@g' | awk '{ split($1, A, ":"); split(A[3], B, "."); print 3600*A[1] + 60*A[2] + B[1] }'
2383
Respuesta:
Para obtener minutos, debes dividir 2383 segundos entre 60.
39.7167
y luego multiplique la parte fraccionaria .7167 por 60 para obtener los segundos restantes.
43.002
Entonces son 39 minutos, 43 segundos. La aplicación parece estar dando un valor exacto.