packagecom.gcsoft.pyas.sysbase.utils;importcom.gcsoft.pyas.AppProperties;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Component;importjava.io.File;importjava.io.IOException;importjava.io.InputStream;importjava.util.ArrayList;importjava.util.List;importjava.util.UUID;/*** 视频转码工具类
*
*@authorjwc*/@Componentpublic classConverVideoUtils {
@AutowiredprivateAppProperties appProperties;protected final Logger logger = LoggerFactory.getLogger(this.getClass());/*** 转换视频格式
*
*@paramsourceVideoPath 视频地址
*@return
*/
publicString beginConver(String sourceVideoPath) {//转码格式
String targetExtension =appProperties.getVideoFormat();//是否删除原文件
Boolean isDeleteResult =appProperties.getIsDeleteResult();
File fi= newFile(sourceVideoPath);
String fileName=fi.getName();//文件名不带扩展名
String fileRealName = fileName.substring(0, fileName.lastIndexOf("."));
logger.info("接收到文件(" + sourceVideoPath + ")需要转换");if (!checkfile(sourceVideoPath)) {
logger.error(sourceVideoPath+ "文件不存在" + " ");return "";
}long beginTime =System.currentTimeMillis();
logger.info("开始转文件(" + sourceVideoPath + ")");
String path=process(fileRealName, sourceVideoPath, targetExtension, isDeleteResult);if(StringUtil.isNotEmpty(path)) {
logger.info("转换成功");long endTime =System.currentTimeMillis();long timeCha = (endTime -beginTime);
String totalTime=sumTime(timeCha);
logger.info("转换视频格式共用了:" + totalTime + " ");if(isDeleteResult) {
deleteFile(sourceVideoPath);
}returnpath;
}else{return "";
}
}/*** 实际转换视频格式的方法
*
*@paramfileRealName 文件名不带扩展名
*@paramsourceVideoPath 原文件地址
*@paramtargetExtension 目标视频扩展名
*@paramisDeleteResult 转换完成后是否删除源文件
*@return
*/
private String process(String fileRealName, String sourceVideoPath, String ta