| | |
| | | import java.io.File; |
| | | import java.util.Date; |
| | | |
| | | import com.obs.services.ObsClient; |
| | | import com.obs.services.model.ObsObject; |
| | | import com.qxueyou.scc.sys.utils.VideoUtil; |
| | | import org.apache.commons.io.FileUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | |
| | | @Autowired |
| | | ICacheService cacheService; |
| | | |
| | | @Value("${scc.resRootPath}") |
| | | String resRootPath; |
| | | |
| | | @Override |
| | | public String add(String fileId, String name) { |
| | |
| | | TraceUtils.setCreateTrace(resVideo); |
| | | try { |
| | | resVideo.setFileId(fileId); |
| | | resVideo.setPlayTime((int) VideoUtil.getMp4Duration(resRootPath +"/"+ file.getPath())); |
| | | resVideo.setPlayTime((int) VideoUtil.getMp4Duration(file.getPath())); |
| | | resVideo.setName(name); |
| | | resVideo.setMediaVideoId(mediaVideoId); |
| | | resVideo.setStatus(ResItemVideo.STATUS_LINEUP); |
| | | save(resVideo); |
| | | |
| | | // 将mediaVideoId放进缓存 |
| | | // 将mediaVideoId放进缓存 |
| | | cacheService.lstRightPush(RES_VIDEO_CONVER_LST, mediaVideoId); |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | |
| | | |
| | | try { |
| | | video.setDeleteFlag(false); |
| | | video.setPlayTime((int) VideoUtil.getMp4Duration(resRootPath +"/"+ file.getPath())); |
| | | video.setPlayTime((int) VideoUtil.getMp4Duration(file.getPath())); |
| | | video.setName(file.getFileName()); |
| | | video.setOrigUrl(file.getPath()); |
| | | video.setStatus(MediaVideo.STATUS_LINEUP); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 定时器转码成功后 同步更新ResItemVideo的状态 |
| | | * 定时器转码成功后 同步更新ResItemVideo的状态 |
| | | */ |
| | | @Scheduled(cron = "0/2 * * * * ?") // 每2秒执行一次 |
| | | public void doTimer() { |
| | | |
| | | String mediaVideoId = cacheService.lstLeftPop(RES_VIDEO_CONVER_LST); |
| | | |
| | | if (StringUtils.isBlank(mediaVideoId)) { |
| | | return; |
| | | } |
| | | |
| | | MediaVideo mediaVideo = read(MediaVideo.class, mediaVideoId); |
| | | if (mediaVideo.getStatus() == MediaVideo.STATUS_DRAFT) { |
| | | if (mediaVideo.getType().equals("video")) { |
| | | ResItemVideo resItemVideo = findUnique( |
| | | "from ResItemVideo where deleteFlag is false and mediaVideoId = ?", |
| | | CollectionUtils.newList(mediaVideoId), ResItemVideo.class); |
| | | resItemVideo.setStatus(ResItemVideo.STATUS_DRAFT); |
| | | TraceUtils.setUpdateTrace(resItemVideo); |
| | | resItemVideo.setVideoSeconds(mediaVideo.getPlayTime()); |
| | | save(resItemVideo); |
| | | |
| | | cacheService.lstRightPush(ResService.RES_TOUPDATE_CONVER_STATUS_LST, resItemVideo.getVideoId());// 将转码完成后的文件id放入缓存。 |
| | | return; |
| | | } else if (mediaVideo.getType().equals("audio")) { |
| | | ResItemAudio resItemAudio = findUnique( |
| | | "from ResItemAudio where deleteFlag is false and mediaVideoId = ?", |
| | | CollectionUtils.newList(mediaVideoId), ResItemAudio.class); |
| | | resItemAudio.setStatus(ResItemVideo.STATUS_DRAFT); |
| | | TraceUtils.setUpdateTrace(resItemAudio); |
| | | resItemAudio.setSeconds(mediaVideo.getPlayTime()); |
| | | save(resItemAudio); |
| | | |
| | | cacheService.lstRightPush(ResService.RES_TOUPDATE_CONVER_STATUS_LST, resItemAudio.getAudioId());// 将转码完成后的文件id放入缓存。 |
| | | return; |
| | | } |
| | | |
| | | } |
| | | cacheService.lstRightPush(RES_VIDEO_CONVER_LST, mediaVideoId); |
| | | |
| | | } |
| | | // @Scheduled(cron = "0/2 * * * * ?") // 每2秒执行一次 |
| | | // public void doTimer() { |
| | | // |
| | | // String mediaVideoId = cacheService.lstLeftPop(RES_VIDEO_CONVER_LST); |
| | | // |
| | | // if (StringUtils.isBlank(mediaVideoId)) { |
| | | // return; |
| | | // } |
| | | // |
| | | // MediaVideo mediaVideo = read(MediaVideo.class, mediaVideoId); |
| | | // if (mediaVideo.getStatus() == MediaVideo.STATUS_DRAFT) { |
| | | // if (mediaVideo.getType().equals("video")) { |
| | | // ResItemVideo resItemVideo = findUnique( |
| | | // "from ResItemVideo where deleteFlag is false and mediaVideoId = ?", |
| | | // CollectionUtils.newList(mediaVideoId), ResItemVideo.class); |
| | | // resItemVideo.setStatus(ResItemVideo.STATUS_DRAFT); |
| | | // TraceUtils.setUpdateTrace(resItemVideo); |
| | | // resItemVideo.setVideoSeconds(mediaVideo.getPlayTime()); |
| | | // save(resItemVideo); |
| | | // |
| | | // cacheService.lstRightPush(ResService.RES_TOUPDATE_CONVER_STATUS_LST, resItemVideo.getVideoId());// 将转码完成后的文件id放入缓存。 |
| | | // return; |
| | | // } else if (mediaVideo.getType().equals("audio")) { |
| | | // ResItemAudio resItemAudio = findUnique( |
| | | // "from ResItemAudio where deleteFlag is false and mediaVideoId = ?", |
| | | // CollectionUtils.newList(mediaVideoId), ResItemAudio.class); |
| | | // resItemAudio.setStatus(ResItemVideo.STATUS_DRAFT); |
| | | // TraceUtils.setUpdateTrace(resItemAudio); |
| | | // resItemAudio.setSeconds(mediaVideo.getPlayTime()); |
| | | // save(resItemAudio); |
| | | // |
| | | // cacheService.lstRightPush(ResService.RES_TOUPDATE_CONVER_STATUS_LST, resItemAudio.getAudioId());// 将转码完成后的文件id放入缓存。 |
| | | // return; |
| | | // } |
| | | // |
| | | // } |
| | | // cacheService.lstRightPush(RES_VIDEO_CONVER_LST, mediaVideoId); |
| | | // |
| | | // } |
| | | } |