文档

智能标签

智能标签,是通过分析视频中视觉、文字、语音、行为等信息,结合多模态信息融合及对齐技术,实现高准确率内容识别,自动输出视频的多维度内容标签,将非结构化信息转化为结构化信息,适用于媒资检索、个性化推荐、智能广告投放等场景。本文介绍了媒体处理Java SDK使用智能标签的示例代码。

版本说明

媒体处理的Java SDK版本需要在2.7.6版本及以上。如果使用Maven管理Java依赖包,您可以在工程pom.xml文件中添加如下依赖。

<dependency>
 <groupId>com.aliyun</groupId>
 <artifactId>aliyun-java-sdk-core</artifactId>
 <version>4.5.3</version>
</dependency>

<dependency>
 <groupId>com.aliyun</groupId>
 <artifactId>aliyun-java-sdk-mts</artifactId>
 <version>2.7.6</version>
</dependency>

前提条件

使用前请先初始化客户端,详细说明请参见初始化

提交智能标签作业

调用SubmitSmarttagJob提交智能标签作业,接口字段和参数详细信息请参见提交智能标签作业,调用示例如下:

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.FormatType;
import com.alibaba.fastjson.JSON;
import com.aliyuncs.mts.model.v20140618.*;

public class SubmitSmarttagJob {

    public static void main(String[] args) throws Exception {
        // 初始化Client。
        DefaultAcsClient client = InitClient.initMpsClient();
        // 创建request,并设置参数。
        SubmitSmarttagJobRequest request = new SubmitSmarttagJobRequest();
      	// 需要分析的文件OSS地址
        request.setInput("oss://xxx.mp4");  
     	 	// 管道ID,若填空,表示默认管道
        request.setPipelineId(""); 
				// 文件标题
        request.setTitle("<yourTitle>"); 
      	// 文件内容描述,选填
        request.setContent("<yourContent>");
        request.setAcceptFormat(FormatType.JSON);

        try {
            // 接收请求结果response。
            SubmitSmarttagJobResponse response = client.getAcsResponse(request);
            System.out.println(JSON.toJSON(response));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }
    }
}

查询智能标签作业

调用QuerySmarttagJob查询智能标签作业,接口字段和参数详细信息请参见查询智能标签作业,调用示例如下:

import com.alibaba.fastjson.JSON;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.mts.model.v20140618.*;

public class QuerySmarttagJob {

    public static void main(String[] args) throws Exception{
        // 初始化Client。
        DefaultAcsClient client = InitClient.initMpsClient();

        // 创建request,并设置参数。
        QuerySmarttagJobRequest request = new QuerySmarttagJobRequest();
        request.setJobId("<JobId>");

        try {
            // 接收请求结果response。
            QuerySmarttagJobResponse response = client.getAcsResponse(request);
            System.out.println(JSON.toJSON(response));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }

    }
}

添加模板

调用AddSmarttagTemplate 添加一个模板,接口字段和参数详细信息请参见添加模板,调用示例如下:

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.FormatType;
import com.alibaba.fastjson.JSON;
import com.aliyuncs.mts.model.v20140618.*;

public class AddSmarttagTemplate {

    public static void main(String[] args) throws Exception {
        // 初始化Client。
        DefaultAcsClient client = InitClient.initMpsClient();

        // 创建request,并设置参数。
        AddSmarttagTemplateRequest request = new AddSmarttagTemplateRequest();
        request.setIndustry("media");
        request.setScene("search");
        request.setAnalyseTypes("ocr,asr,classification,shows,face,role,object,tvstation,action,emotion,landmark,scene");
        request.setTemplateName("test");
        request.setFaceCategoryIds("politician,sensitive,celebrity");
        request.setIsDefault(false);

        try {
            // 接收请求结果response。
            AddSmarttagTemplateResponse response = client.getAcsResponse(request);
            System.out.println(JSON.toJSON(response));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }

    }
}

查询模板

调用QuerySmarttagTemplateList查询模板信息,接口字段和参数详细信息请参见查询模板,调用示例如下:

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.FormatType;
import com.alibaba.fastjson.JSON;
import com.aliyuncs.mts.model.v20140618.*;

public class QuerySmarttagTemplateList {

    public static void main(String[] args) throws Exception {
        // 初始化Client。
        DefaultAcsClient client = InitClient.initMpsClient();

        // 创建request,并设置参数。
        QuerySmarttagTemplateListRequest request = new QuerySmarttagTemplateListRequest();
        request.setTemplateId("6407");

        try {
            // 接收请求结果response。
            QuerySmarttagTemplateListResponse response = client.getAcsResponse(request);
            System.out.println(JSON.toJSON(response));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }

    }
}

更新模板

调用UpdateSmarttagTemplate更新模板信息,接口字段和参数详细信息请参见更新模板,调用示例如下:

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.FormatType;
import com.alibaba.fastjson.JSON;
import com.aliyuncs.mts.model.v20140618.*;

public class UpdateSmarttagTemplate {

    public static void main(String[] args) throws Exception {
        // 初始化Client。
        DefaultAcsClient client = InitClient.initMpsClient();

        // 创建request,并设置参数。
        UpdateSmarttagTemplateRequest request = new UpdateSmarttagTemplateRequest();
        request.setTemplateName("update测试");
        request.setTemplateId("6407");

        try {
            // 接收请求结果response。
            UpdateSmarttagTemplateResponse response = client.getAcsResponse(request);
            System.out.println(JSON.toJSON(response));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }

    }
}

删除模板

调用DeleteSmarttagTemplate删除模板,接口字段和参数详细信息请参见删除模板,调用示例如下:

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.FormatType;
import com.alibaba.fastjson.JSON;
import com.aliyuncs.mts.model.v20140618.*;

public class DeleteSmarttagTemplate {

    public static void main(String[] args) throws Exception {
        // 初始化Client。
        DefaultAcsClient client = InitClient.initMpsClient();

        // 创建request,并设置参数。
        DeleteSmarttagTemplateRequest request = new DeleteSmarttagTemplateRequest();
        request.setTemplateId("6407");

        try {
            // 接收请求结果response。
            DeleteSmarttagTemplateResponse response = client.getAcsResponse(request);
            System.out.println(JSON.toJSON(response));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }

    }
}

注册自定义人脸

调用RegisterCustomFace注册自定义人脸,接口字段和详细参数信息请参见注册⾃定义⼈脸,调用示例如下:

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.FormatType;
import com.alibaba.fastjson.JSON;
import com.aliyuncs.mts.model.v20140618.*;

public class RegisterCustomFace {

    public static void main(String[] args) throws Exception {
        // 初始化Client。
        DefaultAcsClient client = InitClient.initMpsClient();

        // 创建request,并设置参数。
        RegisterCustomFaceRequest request = new RegisterCustomFaceRequest();
        request.setPersonId("<yourPersonId>");
        request.setImageUrl("http://xxxxx.jpeg");
        request.setCategoryId("<yourCategoryId>");

        try {
            // 接收请求结果response。
            RegisterCustomFaceResponse response = client.getAcsResponse(request);
            System.out.println(JSON.toJSON(response));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }

    }
}

注销自定义人脸

调用UnregisterCustomFace注销自定义人脸,接口字段和参数详细说明请参见注销⾃定义⼈脸,调用示例如下:

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.FormatType;
import com.alibaba.fastjson.JSON;
import com.aliyuncs.mts.model.v20140618.*;

public class UnregisterCustomFace {

    public static void main(String[] args) throws Exception {
        // 初始化Client。
        DefaultAcsClient client = InitClient.initMpsClient();

        // 创建request,并设置参数。
        UnregisterCustomFaceRequest request = new UnregisterCustomFaceRequest();
        request.setPersonId("<yourPersonId>");
        request.setFaceId("<FaceId>");
        request.setCategoryId("<yourCategoryId>");

        try {
            // 接收请求结果response。
            UnregisterCustomFaceResponse response = client.getAcsResponse(request);
            System.out.println(JSON.toJSON(response));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }

    }
}

添加自定义人物库或人物标签

调用TagCustomPerson添加自定义人物库或人物标签,接口字段和参数详细信息请参见添加自定义人物库或人物标签,调用示例如下:

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.FormatType;
import com.alibaba.fastjson.JSON;
import com.aliyuncs.mts.model.v20140618.*;

public class TagCustomPerson {

    public static void main(String[] args) throws Exception {
        // 初始化Client。
        DefaultAcsClient client = InitClient.initMpsClient();

        // 创建request,并设置参数。
        TagCustomPersonRequest request = new TagCustomPersonRequest();
        request.setCategoryId("<yourCategoryId>");
        request.setCategoryName("<yourCategoryaName>");
        request.setCategoryDescription("<yourCategoryDescription>");

        try {
            // 接收请求结果response。
            TagCustomPersonResponse response = client.getAcsResponse(request);
            System.out.println(JSON.toJSON(response));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }

    }
}

列出人物库所有人物和人脸信息

调用ListCustomPersons列出人物库所有人物和人脸信息,接口字段和参数详细说明请参见列出⼈物库所有⼈物和⼈脸信息,调用示例如下:

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.FormatType;
import com.alibaba.fastjson.JSON;
import com.aliyuncs.mts.model.v20140618.*;

public class ListCustomPersons {

    public static void main(String[] args) throws Exception {
        // 初始化Client。
        DefaultAcsClient client = InitClient.initMpsClient();

        // 创建request,并设置参数。
        ListCustomPersonsRequest request = new ListCustomPersonsRequest();
        request.setCategoryId("<yourCategoryId>");
        request.setPersonId("<yourPersonId>");

        try {
            // 接收请求结果response。
            ListCustomPersonsResponse response = client.getAcsResponse(request);
            System.out.println(JSON.toJSON(response));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }

    }
}
  • 本页导读 (1)
文档反馈