/**
* 递归获取该目录下所有视频时长
*/
public static Double getFileContainsVideoTime(String path) {
if (!path.trim().endsWith("/")) {
path += "/";
}
log.info("递归获取该目录下所有视频时长,路径为:" + path);
String usedTime = ExcuteLinux.exeCmd("for file in `tree " + path + " -f -i --noreport -P *mp4`; do if test -f $file; then echo -n \"\" ;echo \"scale=2;$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 -i $file)\" | bc ;fi;done");
Double usedTimeDouble = 0.0;
if (usedTime == null || usedTime.trim().equals("")) {
log.warn("[warning] usedTime为空,请注意查看代码逻辑是否出现问题");
return usedTimeDouble;
}
if (usedTime.contains("\n")) {
String[] usedTimeRow = usedTime.split("\n");
for (String a : usedTimeRow) {
if (a != null && !a.trim().equals("")) {
usedTimeDouble += Double.parseDouble(a.trim());
}
}
} else {
usedTimeDouble = Double.parseDouble(usedTime.trim());
}
return usedTimeDouble;
}
递归获取该目录下所有视频时长
于 2023-05-04 13:39:42 首次发布