在安装和使用阿里云SDK前,确保您已经注册阿里云账号并生成访问密钥(AccessKey)。详情请参考创建AccessKey。
安装Python SDK核心库。 使用依赖包工具安装(推荐)。
执行以下命令,安装阿里云SDK核心库:
pip install aliyun-python-sdk-core
自行下载安装。
您可以使用git clone或其它手段下载aliyun-openapi-python-sdk并自行添加解决方案。
安装多媒体AI搜索Python SDK。
使用依赖包工具安装(推荐)。
执行以下命令,安装多媒体AI Python SDK:
pip install aliyun-python-sdk-multimediaai
自行下载安装。
您可以使用git clone或其它手段下载aliyun-python-sdk-multimediaai并自行添加解决方案。
注意:模板中yourContent参考 模板附录
# -*- coding: utf8 -*-
from aliyunsdkcore.client import AcsClient
from aliyunsdkmultimediaai.request.v20190810 import CreateLabelTaskRequest
from aliyunsdkmultimediaai.request.v20190810 import CreateCoverTaskRequest
from aliyunsdkmultimediaai.request.v20190810 import CreateGifTaskRequest
from aliyunsdkmultimediaai.request.v20190810 import GetTaskStatusRequest
from aliyunsdkmultimediaai.request.v20190810 import GetTaskResultRequest
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
import json
# 创建 AcsClient 实例
client = AcsClient("<your-access-key-id>", "<your-access-key-secret>", "<region>")
# 创建结构化任务
request = CreateLabelTaskRequest.CreateLabelTaskRequest()
request.set_VideoUrl("<yourVideoUrl>")
request.set_VideoName("<yourVideoName>")
request.set_ApplicationId("<yourApplicationId>")
# request.set_CallbackUrl("<yourCallbackUrl>") # 回调通知Url,此参数为可选
# request.set_TemplateId("<yourTemplateId>") # 自定义模板id,此参数为可选,不传会使用默认模板
try:
response = client.do_action_with_exception(request)
print(response)
except ServerException, e:
print(e.get_error_code())
print(e.get_error_msg())
except ClientException, e:
print(e.get_error_code())
print(e.get_error_msg())
# 创建视频首图任务
request = CreateCoverTaskRequest.CreateCoverTaskRequest()
request.set_VideoUrl("<yourVideoUrl>") # 视频的URL地址
request.set_VideoName("<yourVideoName>") # 视频名称,建议传入视频名称,可提升视频分类的准确度
request.set_ApplicationId("<yourApplicationId>")
# request.set_CallbackUrl("<yourCallbackUrl>") # 回调通知Url,此参数为可选
# request.set_TemplateId("<yourTemplateId>") # 自定义模板id,此参数为可选,不传会使用默认模板
try:
response = client.do_action_with_exception(request)
print(response)
except ServerException, e:
print(e.get_error_code())
print(e.get_error_msg())
except ClientException, e:
print(e.get_error_code())
print(e.get_error_msg())
# 创建视频GIF任务
request = CreateGifTaskRequest.CreateGifTaskRequest()
request.set_VideoUrl("<yourVideoUrl>")
request.set_VideoName("<yourVideoName>")
request.set_ApplicationId("<yourApplicationId>")
# request.set_CallbackUrl("<yourCallbackUrl>") # 回调通知Url,此参数为可选
# request.set_TemplateId("<yourTemplateId>") # 自定义模板id,此参数为可选,不传会使用默认模板
try:
response = client.do_action_with_exception(request)
print(response)
except ServerException, e:
print(e.get_error_code())
print(e.get_error_msg())
except ClientException, e:
print(e.get_error_code())
print(e.get_error_msg())
# 获取任务处理状态
request = GetTaskStatusRequest.GetTaskStatusRequest()
request.set_TaskId(<yourTaskId>)
try:
response = client.do_action_with_exception(request)
print(response)
except ServerException, e:
print(e.get_error_code())
print(e.get_error_msg())
except ClientException, e:
print(e.get_error_code())
print(e.get_error_msg())
# 获取任务处理结果
request = GetTaskResultRequest.GetTaskResultRequest()
request.set_TaskId(<yourTaskId>)
try:
response = client.do_action_with_exception(request)
print(response)
resp = json.loads(response)
status = resp["Status"]
resu = resp["Result"]
#任务失败
if(status == 3) :
print("errorCode:" + resu["ErrorCode"])
print("errorMessage:" + resu["ErrorMessage"])
except ServerException, e:
print(e.get_error_code())
print(e.get_error_msg())
except ClientException, e:
print(e.get_error_code())
print(e.get_error_msg())
# 创建人脸库
request = CreateFaceGroupRequest.GetCreateFaceGroupRequest()
request.set_FaceGroupName(<yourFaceGroupName>)
request.set_FaceDescription(<yourFaceDescription>)
try:
response = client.do_action_with_exception(request)
print(response)
except ServerException, e:
print(e.get_error_code())
print(e.get_error_msg())
except ClientException, e:
print(e.get_error_code())
print(e.get_error_msg())
# 创建人脸库人物
request = CreateFacePersonRequest.CreateFacePersonRequest()
request.set_FaceGroupId(<yourFaceGroupId>)
request.set_FacePersonName(<yourFacePersonName>)
try:
response = client.do_action_with_exception(request)
print(response)
except ServerException, e:
print(e.get_error_code())
print(e.get_error_msg())
except ClientException, e:
print(e.get_error_code())
print(e.get_error_msg())
# 注册人脸
request = RegisterFaceImageRequest.RegisterFaceImageRequest()
request.set_FaceGroupId(<yourFaceGroupId>)
request.set_FacePersonId(<yourFacePersonId>)
request.set_ImageUrl(<yourImageUrl>)
try:
response = client.do_action_with_exception(request)
print(response)
except ServerException, e:
print(e.get_error_code())
print(e.get_error_msg())
except ClientException, e:
print(e.get_error_code())
print(e.get_error_msg())
# 删除人脸库
request = DeleteFaceGroupRequest.DeleteFaceGroupRequest()
request.set_FaceGroupId(<yourFaceGroupId>)
try:
response = client.do_action_with_exception(request)
print(response)
except ServerException, e:
print(e.get_error_code())
print(e.get_error_msg())
except ClientException, e:
print(e.get_error_code())
print(e.get_error_msg())
# 删除人脸库人物
request = DeleteFacePersonRequest.DeleteFacePersonRequest()
request.set_FaceGroupId(<yourFaceGroupId>)
request.set_FacePersonId(<yourFacePersonId>)
try:
response = client.do_action_with_exception(request)
print(response)
except ServerException, e:
print(e.get_error_code())
print(e.get_error_msg())
except ClientException, e:
print(e.get_error_code())
print(e.get_error_msg())
# 删除人脸库人物图片
request = DeleteFaceImageRequest.DeleteFaceImageRequest()
request.set_FaceGroupId(<yourFaceGroupId>)
request.set_FacePersonId(<yourFacePersonId>)
request.set_FaceImageId(<yourFaceImageId>)
try:
response = client.do_action_with_exception(request)
print(response)
except ServerException, e:
print(e.get_error_code())
print(e.get_error_msg())
except ClientException, e:
print(e.get_error_code())
print(e.get_error_msg())
# 获取人脸库列表
request = ListFaceGroupsRequest.ListFaceGroupsRequest()
request.set_PageNumber(<yourPageNumber>)
request.set_PageSize(<yourPageSize>)
try:
response = client.do_action_with_exception(request)
print(response)
except ServerException, e:
print(e.get_error_code())
print(e.get_error_msg())
except ClientException, e:
print(e.get_error_code())
print(e.get_error_msg())
# 获取人脸库人物图片列表
request = ListFaceImagesRequest.ListFaceImagesRequest()
request.set_FaceGroupId(<yourFaceGroupId>)
request.set_FacePersonId(<yourFacePersonId>)
request.set_PageNumber(<yourPageNumber>)
request.set_PageSize(<yourPageSize>)
try:
response = client.do_action_with_exception(request)
print(response)
except ServerException, e:
print(e.get_error_code())
print(e.get_error_msg())
except ClientException, e:
print(e.get_error_code())
print(e.get_error_msg())
# 创建视频内容分析模板
request = CreateTemplateRequest.CreateTemplateRequest()
request.set_TemplateName(<yourTemplateName>) //模板名称
request.set_Content(<yourContent>) //模板内容
request.set_IsDefault(<yourIsDefault>) //是否默认模板(true 是 false 否)
request.set_Type(<yourType>) //1.LABEL (默认为1)
try:
response = client.do_action_with_exception(request)
print(response)
except ServerException, e:
print(e.get_error_code())
print(e.get_error_msg())
except ClientException, e:
print(e.get_error_code())
print(e.get_error_msg())
# 修改视频内容分析模板
request = UpdateTemplateRequest.UpdateTemplateRequest()
request.set_TemplateName(<yourTemplateName>) //模板名称
request.set_TemplateId(<yourTemplateId>) //模板id
request.set_Content(<yourContent>) //模板内容
request.set_IsDefault(<yourIsDefault>) //是否默认模板(true 是 false 否)
request.set_Type(<yourType>) //1.LABEL (默认为1)
try:
response = client.do_action_with_exception(request)
print(response)
except ServerException, e:
print(e.get_error_code())
print(e.get_error_msg())
except ClientException, e:
print(e.get_error_code())
print(e.get_error_msg())
# 查询视频内容分析列表
request = ListTemplatesRequest.ListTemplatesRequest()
request.set_TemplateName(<yourTemplateName>) //模板名称
request.set_TemplateId(<yourTemplateId>) //模板id
request.set_Type(<yourType>)
request.set_PageNumber(<yourPageNumber>)
request.set_PageSize(<yourPageSize>)
try:
response = client.do_action_with_exception(request)
print(response)
except ServerException, e:
print(e.get_error_code())
print(e.get_error_msg())
except ClientException, e:
print(e.get_error_code())
print(e.get_error_msg())
# 查询视频内容分析详情
request = GetTemplateRequest.GetTemplateRequest()
request.set_TemplateId(<yourTemplateId>) //模板id
try:
response = client.do_action_with_exception(request)
print(response)
except ServerException, e:
print(e.get_error_code())
print(e.get_error_msg())
except ClientException, e:
print(e.get_error_code())
print(e.get_error_msg())