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