springboot 获取视频时长
时间: 2023-11-27 09:04:08 浏览: 164
要在Spring Boot中获取视频时长,可以使用Xuggler库。您需要按照以下步骤进行操作:
1. 导入Xuggler依赖:
在pom.xml文件中添加以下依赖项:
```xml
<dependency>
<groupId>xuggle</groupId>
<artifactId>xuggle-xuggler</artifactId>
<version>5.4</version>
</dependency>
```
2. 编写获取视频时长的方法:
```java
import com.xuggle.xuggler.IContainer;
import com.xuggle.xuggler.IStream;
import com.xuggle.xuggler.IStreamCoder;
private String getVideoTime(MultipartFile videoFile) {
try {
File tempFile = File.createTempFile("temp", videoFile.getOriginalFilename());
videoFile.transferTo(tempFile);
IContainer container = IContainer.make();
if (container.open(tempFile.getAbsolutePath(), IContainer.Type.READ, null) >= 0) {
int numStreams = container.getNumStreams();
long duration = 0;
for (int i = 0; i < numStreams; i++) {
IStream stream = container.getStream(i);
IStreamCoder coder = stream.getStreamCoder();
if (coder.getCodecType() == ICodec.Type.CODEC_TYPE_VIDEO) {
duration = stream.getDuration() / 1000;
break;
}
}
int hours = (int) (duration / 3600);
int minutes = (int) (duration % 3600 / 60);
int seconds = (int) (duration % 60);
return String.format("%02d:%02d:%02d", hours, minutes, seconds);
}
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
```
请注意,以上代码假设您已经将视频文件上传并将其存储在临时文件中。
阅读全文