如何在几秒钟内获得视频时长?

use*_*132 7 time awk duration ffmpeg

如何在几秒钟内获得视频时长?

我尝试过的:

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
Run Code Online (Sandbox Code Playgroud)

这接近,但它不是那么准确,2383是39.71分钟

    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
Run Code Online (Sandbox Code Playgroud)

Rod*_*olo 10

有一个更好,更快,更低CPU/HD占用空间的解决方案,只需使用mediainfo而不依赖于awk:

mediainfo --Inform="General;%Duration%" input.m4v
Run Code Online (Sandbox Code Playgroud)


sza*_*ary 4

2383 是正确的。一分钟有 60 秒,而不是 100。43/60 = .71

https://www.google.com/#q=39+分钟+43.08+秒+in+秒