在Java和ffmpeg中查找视频的长度

时间:2011-06-22 09:55:13

标签: java ffmpeg

有没有办法使用Java查找视频长度?我知道我们可以利用ffmpeg生成缩略图并对视频进行编码。但它可以用于获取视频的长度吗?

谢谢和问候 Abishek R Srikaanth

3 个答案:

答案 0 :(得分:5)

如果您只是致电ffmpeg -i filename,它将打印有关该文件的信息,您可以解析输出以获取所需信息。

答案 1 :(得分:0)

您应该使用 ffprobe 实用程序来实现此目的。 FFProbe 通常附带 FFMpeg 分发版,请查看 / bin 文件夹。您可以指定 XML 的格式(甚至有FFProbe输出的XSD http://www.ffmpeg.org/schema/ffprobe.xsd)或 JSON FFProbe 您有关视频文件的信息。

所以,例如:

ffprobe -loglevel error -show_format -show_streams video.mp4 -print_format xml=x=1 -noprivate

将以有效的XML为您提供输出。

请查看“视频”流部分的持续时间属性。这将是视频的持续时间,以秒为单位。

答案 2 :(得分:0)


(avconv -i $FILE_NAME 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] }'

使用此命令以秒为单位获取持续时间

avconv和ffmpeg是一样的。在Ubuntu 13.10及更高版本中,ffmpeg被avconv取代