You've already forked FrameTour-BE
逻辑修改
This commit is contained in:
@ -9,6 +9,7 @@ import com.ycwl.basic.mapper.SourceMapper;
|
||||
import com.ycwl.basic.model.pc.device.entity.DeviceConfigEntity;
|
||||
import com.ycwl.basic.model.pc.device.entity.DeviceEntity;
|
||||
import com.ycwl.basic.model.pc.faceSample.resp.FaceSampleRespVO;
|
||||
import com.ycwl.basic.model.pc.source.entity.MemberSourceEntity;
|
||||
import com.ycwl.basic.model.pc.source.entity.SourceEntity;
|
||||
import com.ycwl.basic.storage.StorageFactory;
|
||||
import com.ycwl.basic.storage.adapters.IStorageAdapter;
|
||||
@ -110,7 +111,11 @@ public class VideoPieceGetter {
|
||||
new Date(task.getCreateTime().getTime() - cutPre.multiply(BigDecimal.valueOf(1000)).longValue()),
|
||||
new Date(task.getCreateTime().getTime() + cutPost.multiply(BigDecimal.valueOf(1000)).longValue())
|
||||
);
|
||||
long offset = task.getCreateTime().getTime() - listByDtRange.get(0).getCreateTime().getTime();
|
||||
if (listByDtRange.isEmpty()) {
|
||||
log.warn("没有可用的文件");
|
||||
return;
|
||||
}
|
||||
long offset = task.getCreateTime().getTime() - listByDtRange.get(0).getCreateTime().getTime() - cutPre.multiply(BigDecimal.valueOf(1000)).longValue();
|
||||
FfmpegTask ffmpegTask = new FfmpegTask();
|
||||
ffmpegTask.setFileList(listByDtRange);
|
||||
ffmpegTask.setDuration(duration);
|
||||
@ -128,10 +133,19 @@ public class VideoPieceGetter {
|
||||
SourceEntity imgSource = sourceMapper.findBySampleId(faceSample.getId());
|
||||
SourceEntity sourceEntity = new SourceEntity();
|
||||
sourceEntity.setId(SnowFlakeUtil.getLongId());
|
||||
MemberSourceEntity videoSource = new MemberSourceEntity();
|
||||
MemberSourceEntity imageSource = new MemberSourceEntity();
|
||||
videoSource.setMemberId(task.getMemberId());
|
||||
videoSource.setType(1);
|
||||
videoSource.setIsBuy(0);
|
||||
videoSource.setSourceId(sourceEntity.getId());
|
||||
imageSource.setMemberId(task.getMemberId());
|
||||
imageSource.setType(2);
|
||||
imageSource.setIsBuy(0);
|
||||
if (imgSource != null) {
|
||||
imageSource.setSourceId(imgSource.getId());
|
||||
sourceEntity.setUrl(imgSource.getUrl());
|
||||
sourceEntity.setPosJson(imgSource.getPosJson());
|
||||
sourceEntity.setMemberId(imgSource.getMemberId());
|
||||
}
|
||||
sourceEntity.setVideoUrl(url);
|
||||
sourceEntity.setFaceSampleId(faceSample.getId());
|
||||
@ -140,6 +154,10 @@ public class VideoPieceGetter {
|
||||
sourceEntity.setDeviceId(faceSample.getDeviceId());
|
||||
sourceEntity.setType(1);
|
||||
sourceMapper.add(sourceEntity);
|
||||
sourceMapper.addRelation(videoSource);
|
||||
if (imgSource != null) {
|
||||
sourceMapper.addRelation(imageSource);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean startFfmpegTask(FfmpegTask task) {
|
||||
@ -319,7 +337,7 @@ public class VideoPieceGetter {
|
||||
ffmpegCmd.add("-filter_complex");
|
||||
ffmpegCmd.add(
|
||||
IntStream.range(0, inputFiles.size()).mapToObj(i -> "[" + i + ":v]").collect(Collectors.joining("")) +
|
||||
"concat=n=2:v=1[v]"
|
||||
"concat=n="+inputFiles.size()+":v=1[v]"
|
||||
);
|
||||
ffmpegCmd.add("-map");
|
||||
ffmpegCmd.add("[v]");
|
||||
|
Reference in New Issue
Block a user