有没有办法使用Java查找视频长度?我知道我们可以利用ffmpeg生成缩略图并对视频进行编码。但它可以用于获取视频的长度吗?
谢谢和问候 Abishek R Srikaanth
答案 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取代