繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM