Toggle navigation
Toggle navigation
This project
Loading...
Sign in
crp
/
crp-operation
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
wanghongbo
2025-08-19 16:29:36 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
52d3ddc77c93d22f754f087349436e6551babbc9
52d3ddc7
1 parent
af3d5ef5
素材封面图
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
109 additions
and
1 deletions
src/main/java/com/wondertek/dto/image/ImageVideoReq.java
src/main/java/com/wondertek/dto/image/OutPut.java
src/main/java/com/wondertek/service/impl/BackupMaterialServiceImpl.java
src/main/java/com/wondertek/util/AbilityResp.java
src/main/resources/application-dev.yml
src/main/resources/application-test.yml
src/main/java/com/wondertek/dto/image/ImageVideoReq.java
0 → 100644
View file @
52d3ddc
package
com
.
wondertek
.
dto
.
image
;
import
jakarta.validation.constraints.NotBlank
;
import
jakarta.validation.constraints.NotEmpty
;
import
jakarta.validation.constraints.NotNull
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.*
;
@Data
public
class
ImageVideoReq
implements
Serializable
{
// 抽帧偏移量(毫秒)
@NotNull
(
message
=
"offset不可为空"
)
private
Long
offset
;
// 输入参数,路径逗号分割
@NotBlank
(
message
=
"input参数集不可为空"
)
private
String
input
;
// 截图参数
@NotEmpty
(
message
=
"output参数集不可为空"
)
private
List
<
OutPut
>
output
;
}
...
...
src/main/java/com/wondertek/dto/image/OutPut.java
0 → 100644
View file @
52d3ddc
package
com
.
wondertek
.
dto
.
image
;
import
jakarta.validation.constraints.NotBlank
;
import
jakarta.validation.constraints.NotNull
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
OutPut
implements
Serializable
{
// 序号1开始
@NotNull
(
message
=
"index不可为空"
)
private
Integer
index
;
// 图片保存完整路径
@NotBlank
(
message
=
"path不可为空"
)
private
String
path
;
}
...
...
src/main/java/com/wondertek/service/impl/BackupMaterialServiceImpl.java
View file @
52d3ddc
...
...
@@ -10,9 +10,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.wondertek.dto.*
;
import
com.wondertek.dto.image.ImageVideoReq
;
import
com.wondertek.dto.image.OutPut
;
import
com.wondertek.entity.BackupConfig
;
import
com.wondertek.entity.BackupMaterial
;
import
com.wondertek.entity.StreamTask
;
import
com.wondertek.enums.MaterialSourceEnum
;
import
com.wondertek.enums.PlayTypeEnum
;
import
com.wondertek.exception.ServiceException
;
import
com.wondertek.mapper.BackupConfigMapper
;
...
...
@@ -52,6 +55,8 @@ public class BackupMaterialServiceImpl extends ServiceImpl<BackupMaterialMapper,
private
String
switchStreamUrl
;
@Value
(
"${transcode.swapBackupUrl}"
)
private
String
swapBackupUrl
;
@Value
(
"${rec.getImageUrl}"
)
private
String
recGetImageUrl
;
@Override
...
...
@@ -103,7 +108,7 @@ public class BackupMaterialServiceImpl extends ServiceImpl<BackupMaterialMapper,
String
fileName
=
backupUploadVo
.
getBackupName
()
+
"."
+
backupUploadVo
.
getFileType
();
///home/wondertek/material_file_assets/dianpian/2025/07/24/roomid/
String
filedir
=
FileUtils
.
generateDianPianDir
(
backupUploadVo
.
getRoomId
().
toString
(),
realPath
);
String
destFilePath
=
filedir
+
file
Name
;
//文件上传目录,绝对路径
String
destFilePath
=
filedir
+
real
Name
;
//文件上传目录,绝对路径
try
{
fileService
.
upload
(
backupFile
,
destFilePath
);
}
catch
(
Exception
e
)
{
...
...
@@ -276,6 +281,9 @@ public class BackupMaterialServiceImpl extends ServiceImpl<BackupMaterialMapper,
}
catch
(
Exception
e
)
{
return
ResultBean
.
error
(
"上传文件异常"
);
}
//
//保存垫片素材表
BackupMaterial
backupMaterial
=
new
BackupMaterial
();
backupMaterial
.
setFileId
(
fileId
);
...
...
@@ -285,6 +293,41 @@ public class BackupMaterialServiceImpl extends ServiceImpl<BackupMaterialMapper,
backupMaterial
.
setFileType
(
materialUploadVo
.
getFileType
());
backupMaterial
.
setCreatedTime
(
LocalDateTime
.
now
());
backupMaterial
.
setCreatedBy
(
"admin"
);
backupMaterial
.
setDel
(
"0"
);
backupMaterial
.
setSource
(
MaterialSourceEnum
.
UPLOAD
.
getCode
());
//抽封面图,调用定帧抽图接口
ImageVideoReq
imageVideoReq
=
new
ImageVideoReq
();
imageVideoReq
.
setInput
(
destFilePath
);
imageVideoReq
.
setOffset
(
0L
);
OutPut
outPut
=
new
OutPut
();
outPut
.
setIndex
(
0
);
String
coverPath
=
filedir
+
realName
.
substring
(
0
,
realName
.
lastIndexOf
(
"."
))
+
".jpg"
;
outPut
.
setPath
(
coverPath
);
imageVideoReq
.
setOutput
(
Arrays
.
asList
(
outPut
));
try
{
HttpResponse
execute
=
HttpRequest
.
post
(
recGetImageUrl
)
.
header
(
"Content-Type"
,
"application/json"
)
.
body
(
JSONUtils
.
obj2json
(
imageVideoReq
)).
timeout
(
30000
).
execute
();
if
(
execute
.
isOk
())
{
log
.
info
(
"-->请求能力平台定帧抽图接口,url:{},paramsMap:{}"
,
recGetImageUrl
,
imageVideoReq
);
String
body
=
execute
.
body
();
AbilityResp
response
=
JSONUtils
.
jsonToObject
(
body
,
new
TypeReference
<
AbilityResp
>()
{
});
if
(
response
.
getRet
()
==
0
)
{
backupMaterial
.
setCoverPath
(
coverPath
.
replace
(
realPath
,
""
));
log
.
info
(
"请求能力平台定帧抽图接口成功"
);
}
else
{
log
.
info
(
"请求能力平台定帧抽图接口响应失败,response:{}"
,
response
);
throw
new
ServiceException
(
"请求能力平台定帧抽图接口响应失败"
);
}
}
else
{
log
.
error
(
"请求能力平台定帧抽图接口失败,url:{},body:{}"
,
switchStreamUrl
,
execute
.
body
());
}
}
catch
(
Exception
e
)
{
log
.
error
(
"请求能力平台定帧抽图接口失败,url:{}"
,
switchStreamUrl
,
e
);
}
backupMaterialMapper
.
insert
(
backupMaterial
);
return
ResultBean
.
ok
(
"新增素材成功"
);
...
...
src/main/java/com/wondertek/util/AbilityResp.java
0 → 100644
View file @
52d3ddc
package
com
.
wondertek
.
util
;
import
com.wondertek.enums.GlobalCodeEnum
;
import
lombok.Data
;
@Data
public
class
AbilityResp
{
private
String
msg
;
private
String
taskId
;
private
Integer
ret
;
public
Boolean
isSuccess
()
{
return
GlobalCodeEnum
.
SUCCESS
.
getCode
().
equals
(
this
.
ret
.
toString
());
}
}
...
...
src/main/resources/application-dev.yml
View file @
52d3ddc
...
...
@@ -66,6 +66,9 @@ transcode:
swapBackupUrl
:
http://192.168.1.237:9002/api/v1/swapBackup
# 切垫片
getTaskDetail
:
http://192.168.1.237:9002/api/v1/getTaskDetail
rec
:
getImageUrl
:
http://192.168.1.97:12000/api/v3/picture/getImage
#定帧抽图接口
file
:
realPath
:
/home/wondertek/material_file_assets/dianpian/
...
...
src/main/resources/application-test.yml
View file @
52d3ddc
...
...
@@ -66,6 +66,9 @@ transcode:
swapBackupUrl
:
http://192.168.1.237:9002/api/v1/swapBackup
# 切垫片
getTaskDetail
:
http://192.168.1.237:9002/api/v1/getTaskDetail
rec
:
getImageUrl
:
http://192.168.1.97:12000/api/v3/picture/getImage
#定帧抽图接口
file
:
realPath
:
/home/wondertek/material_file_assets/dianpian/
...
...
Please
register
or
login
to post a comment