[英]Finding the length of a video in Java and ffmpeg
有没有办法使用Java查找视频长度? 我知道我们可以利用ffmpeg生成缩略图并对视频进行编码。 但它可以用来获取视频的长度吗?
谢谢并问候Abishek R Srikaanth
如果只调用ffmpeg -i filename
,它将打印有关该文件的信息,您可以解析输出以获取所需信息。
您应该使用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为您提供输出。
请查看“视频”流部分的持续时间属性。 这将是视频的持续时间,以秒为单位。
(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取代
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.