forked from rongchao/epmet-cloud-rizhao
8 changed files with 382 additions and 0 deletions
@ -0,0 +1,50 @@ |
|||
package com.epmet.openapi.scan.common.enu; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* desc:视频检测场景 |
|||
* @author yinzuomei@elink-cn.com |
|||
* @date 2020/12/29 13:47 |
|||
**/ |
|||
public enum VideoSceneEnum { |
|||
PORN("porn", "视频智能鉴黄"), |
|||
TERRORISM("terrorism", "视频暴恐涉政"), |
|||
LIVE("live","视频不良场景"), |
|||
LOGO("logo","视频logo"), |
|||
AD("ad","视频图文违规"); |
|||
|
|||
private String code; |
|||
private String desc; |
|||
|
|||
VideoSceneEnum(String code, String desc) { |
|||
this.code = code; |
|||
this.desc = desc; |
|||
} |
|||
|
|||
public static List<String> getVideoSceneList() { |
|||
List<String> result = new ArrayList<>(); |
|||
VideoSceneEnum[] values = VideoSceneEnum.values(); |
|||
for (VideoSceneEnum v : values) { |
|||
result.add(v.getCode()); |
|||
} |
|||
return result; |
|||
} |
|||
|
|||
public String getCode() { |
|||
return code; |
|||
} |
|||
|
|||
public void setCode(String code) { |
|||
this.code = code; |
|||
} |
|||
|
|||
public String getDesc() { |
|||
return desc; |
|||
} |
|||
|
|||
public void setDesc(String desc) { |
|||
this.desc = desc; |
|||
} |
|||
} |
@ -0,0 +1,77 @@ |
|||
package com.epmet.openapi.scan.support.param.video; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotEmpty; |
|||
import java.io.Serializable; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 视频审核-异步检测入参DTO |
|||
* |
|||
* @author yinzuomei@elink-cn.com |
|||
*/ |
|||
@Data |
|||
public class VideoAsyncScanParam implements Serializable { |
|||
private static final long serialVersionUID = -7635290200099445362L; |
|||
|
|||
/** |
|||
* 是否开启回调 |
|||
*/ |
|||
private Boolean openCallBack; |
|||
|
|||
/** |
|||
* 不必填 |
|||
* 该字段用于标识您的业务场景。您可以通过内容安全控制台创建业务场景(具体操作,请参见自定义机审标准),或者提交工单联系我们帮助您创建业务场景。 |
|||
*/ |
|||
private String bizType; |
|||
|
|||
/** |
|||
* 不必填 |
|||
* 是否为语音流(例如直播流)检测。取值: |
|||
* true:表示语音流检测。 |
|||
* false(默认):表示音频文件检测。 |
|||
*/ |
|||
private Boolean live; |
|||
|
|||
/** |
|||
* 不必填 |
|||
* 是否为近线检测模式。 取值: |
|||
* true:表示近线检测模式。近线检测模式下,您提交的任务不保证能够实时处理,但是可以排队并在24小时内开始检测。 |
|||
* false(默认):表示实时检测模式。对于超过了并发路数限制的检测请求会直接拒绝。 |
|||
* 说明 该参数仅适用于音频文件检测,不适用于语音流检测。 |
|||
*/ |
|||
private Boolean offline; |
|||
|
|||
/** |
|||
* 必填 |
|||
* 指定视频检测场景。取值: |
|||
* porn:视频智能鉴黄 |
|||
* terrorism:视频暴恐涉政 |
|||
* live:视频不良场景 |
|||
* logo:视频logo |
|||
* ad:视频图文违规 |
|||
*/ |
|||
@NotEmpty(message = "视频检测场景不能为空") |
|||
private List<String> scenes; |
|||
|
|||
/** |
|||
* 不必填 |
|||
* 指定视频语音检测场景,唯一取值:antispam,表示语音反垃圾。不传入该参数时仅检测视频图像内容;如果传入该参数,则在检测视频中图像的同时,对视频中语音进行检测。 |
|||
* 说明 如果需要检测视频语音,则不支持通过上传视频截帧序列的方式(即在task中传入frames)进行检测,您必须传入视频或视频流的URL地址(即在task中传入url)进行检测。 |
|||
*/ |
|||
private List<String> audioScenes; |
|||
|
|||
/** |
|||
* 异步检测结果回调地址,执行异步审查内容时 必填 |
|||
*/ |
|||
private String callback; |
|||
|
|||
/** |
|||
* 随机字符串,该值用于回调通知请求中的签名,使用callback时 必填 |
|||
*/ |
|||
private String seed; |
|||
|
|||
@NotEmpty(message = "检测对象不能为空") |
|||
private List<VideoAsyncScanTask> tasks; |
|||
} |
@ -0,0 +1,30 @@ |
|||
package com.epmet.openapi.scan.support.param.video; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* 视频审核-异步检测入参-检测对象 |
|||
* |
|||
* @author yinzuomei@elink-cn.com |
|||
*/ |
|||
@Data |
|||
public class VideoAsyncScanTask implements Serializable { |
|||
/** |
|||
* 建议必填 |
|||
* 要检测的数据id 非必填 |
|||
* 检测对象对应的数据ID。 |
|||
* 由大小写英文字母、数字、下划线(_)、短划线(-)、英文句号(.)组成,不超过128个字符,可以用于唯一标识您的业务数据。 |
|||
* */ |
|||
@NotBlank(message = "dataId不能为空") |
|||
private String dataId; |
|||
|
|||
/** |
|||
* 必填 |
|||
* 待检测视频的URL。该字段不能和frames同时为空,也不能和frames同时有值。 |
|||
*/ |
|||
@NotBlank(message = "音频URL不能为空") |
|||
private String url; |
|||
} |
@ -0,0 +1,41 @@ |
|||
package com.epmet.openapi.scan.support.result.video; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonIgnore; |
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* 视频审核-异步检测任务提交返参详情 |
|||
* |
|||
* @author yinzuomei@elink-cn.com |
|||
* @date 2020/12/29 13:42 |
|||
*/ |
|||
@Data |
|||
public class VideoAsyncScanTaskDataDTO implements Serializable { |
|||
private static final long serialVersionUID = 8430710131685814181L; |
|||
/** |
|||
* 错误码,和HTTP状态码一致。 |
|||
* 更多信息,请参见公共错误码。 |
|||
*/ |
|||
private Integer code; |
|||
/** |
|||
* 错误描述信息。 |
|||
*/ |
|||
private String msg; |
|||
/** |
|||
* 检测对象对应的数据ID。 |
|||
*/ |
|||
private String dataId; |
|||
|
|||
/** |
|||
* 检测任务的ID |
|||
*/ |
|||
private String taskId; |
|||
|
|||
/** |
|||
* 暂时没用,所以返回忽略 |
|||
*/ |
|||
@JsonIgnore |
|||
private String url; |
|||
} |
@ -0,0 +1,45 @@ |
|||
package com.epmet.openapi.scan.support.result.video; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 视频审核-异步检测任务提交返参 |
|||
* |
|||
* @author yinzuomei@elink-cn.com |
|||
* @date 2020/12/29 13:38 |
|||
*/ |
|||
@Data |
|||
public class VideoAsyncScanTaskResultDTO implements Serializable { |
|||
private static final long serialVersionUID = -467990806428860191L; |
|||
|
|||
/** |
|||
* 随机字符串,该值用于回调通知请求中的签名。 |
|||
*/ |
|||
private String seed; |
|||
|
|||
/** |
|||
* 提交成功的失败对象 |
|||
*/ |
|||
private List<VideoAsyncScanTaskDataDTO> successTasks=new ArrayList<>(); |
|||
|
|||
/** |
|||
* 提交失败的检测对象 |
|||
*/ |
|||
private List<VideoAsyncScanTaskDataDTO> failTasks=new ArrayList<>(); |
|||
|
|||
/** |
|||
* 是否全部提交成功 |
|||
*/ |
|||
private Boolean isAllSuccess; |
|||
|
|||
public boolean isAllSuccess() { |
|||
if (failTasks.isEmpty() && !successTasks.isEmpty()) { |
|||
return true; |
|||
} |
|||
return isAllSuccess; |
|||
} |
|||
} |
@ -0,0 +1,38 @@ |
|||
package com.epmet.openapi.scan.support.result.video; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 视频异步检测结果查询接口返参 |
|||
* |
|||
* @author yinzuomei@elink-cn.com |
|||
* @date 2020/12/29 15:37 |
|||
*/ |
|||
@Data |
|||
public class VideoResultDTO implements Serializable { |
|||
private static final long serialVersionUID = -3451342817149956488L; |
|||
/** |
|||
* 检测对象对应的数据ID。 |
|||
*/ |
|||
private String dataId; |
|||
|
|||
/** |
|||
* 检测任务的ID |
|||
*/ |
|||
private String taskId; |
|||
|
|||
/** |
|||
* true审核通过、false审核不通过 |
|||
*/ |
|||
private Boolean passFlag; |
|||
|
|||
/** |
|||
* desc:阿里内容审核API返回结果详情 |
|||
*/ |
|||
private List<VideoScanOriginalResultDTO> details = new ArrayList<>(); |
|||
|
|||
} |
@ -0,0 +1,53 @@ |
|||
package com.epmet.openapi.scan.support.result.video; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* 视频异步检测结果查询接口原生返参-视频检测结果 |
|||
* |
|||
* @author yinzuomei@elink-cn.com |
|||
* @date 2020/12/29 16:39 |
|||
*/ |
|||
@Data |
|||
public class VideoScanOriginDetail implements Serializable { |
|||
private static final long serialVersionUID = 5547706236158849091L; |
|||
/** |
|||
* 视频检测场景,和调用请求中的场景对应。取值: |
|||
* porn:视频智能鉴黄 |
|||
* terrorism:视频暴恐涉政 |
|||
* live:视频不良场景 |
|||
* logo:视频logo |
|||
* ad:视频图文违规 |
|||
*/ |
|||
private String scene; |
|||
|
|||
/** |
|||
* 视频检测结果的分类。不同检测场景的结果分类不同,具体如下: |
|||
* 视频智能鉴黄(porn)结果分类: |
|||
* normal:正常 |
|||
* porn:色情 |
|||
* 视频暴恐涉政(terrorism)结果分类: |
|||
* normal:正常 |
|||
* terrorism:暴恐涉政 |
|||
* 视频不良场景(live)结果分类: |
|||
* normal:正常 |
|||
* live:包含不良场景 |
|||
* 视频logo(logo)结果分类: |
|||
* normal:正常 |
|||
* logo:包含logo |
|||
* 视频图文违规(ad)结果分类: |
|||
* normal:正常 |
|||
* ad:包含广告或文字违规信息 |
|||
*/ |
|||
private String label; |
|||
|
|||
/** |
|||
* 建议您执行的后续操作。取值: |
|||
* pass:结果正常,无需进行其余操作。 |
|||
* review:结果不确定,需要进行人工审核。 |
|||
* block:结果违规,建议直接删除或者限制公开。 |
|||
*/ |
|||
private String suggestion; |
|||
} |
@ -0,0 +1,48 @@ |
|||
package com.epmet.openapi.scan.support.result.video; |
|||
|
|||
import com.epmet.openapi.scan.support.result.VoiceAsyncScanResultDTO; |
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 视频异步检测结果查询接口原生返参 |
|||
* |
|||
* @author yinzuomei@elink-cn.com |
|||
* @date 2020/12/29 15:48 |
|||
*/ |
|||
@Data |
|||
public class VideoScanOriginalResultDTO implements Serializable { |
|||
private static final long serialVersionUID = -1565008507757551616L; |
|||
|
|||
/** |
|||
* 错误码,和HTTP状态码一致。 |
|||
* 更多信息,请参见公共错误码。 |
|||
*/ |
|||
private Integer code; |
|||
/** |
|||
* 错误描述信息。 |
|||
*/ |
|||
private String msg; |
|||
/** |
|||
* 检测对象对应的数据ID。 |
|||
*/ |
|||
private String dataId; |
|||
|
|||
/** |
|||
* 检测任务的ID |
|||
*/ |
|||
private String taskId; |
|||
|
|||
/** |
|||
* 返回结果,调用成功时(code=200),返回结果中包含一个或多个元素。每个元素是个结构体,具体结构描述,请参见result。 |
|||
* 说明 视频流检测场景中,code返回280表示在检测中,返回200表示检测完成。在检测中状态时,检测结果中包含从开始检测到当前时间的检测到结果。 |
|||
*/ |
|||
private List<VideoScanOriginDetail> results; |
|||
|
|||
/** |
|||
* 视频语音检测结果。具体结构描述,请参见audioScanResult。 |
|||
*/ |
|||
private VoiceAsyncScanResultDTO audioScanResults; |
|||
} |
Loading…
Reference in new issue