全部产品

批量操作

更新时间:2020-09-25 18:08:53

本文档介绍如何批量新增、删除和查询视频。

背景信息

视频内容检索有两种批量操作方式,分别为OSS批量操作和数据文件批量操作。视频内容检索与阿里云OSS服务打通,可以通过OSS批量操作功能将OSS中的视频批量导入到视频内容检索中,同时也可以通过OSS批量操作功能实现批量删除已经入库的视频和批量查询相似视频。如果视频并没有存放在OSS中,只有视频URL,则可以使用数据文件批量操作功能,实现视频批量导入、删除和查询操作。

OSS批量操作流程

  1. 开通OSS服务。
  2. 将视频导入到OSS中。
  3. 新建meta文件。
  4. 授予视频内容检索服务访问OSS的权限。
  5. 在视频内容检索中创建批量任务。

1、开通OSS服务

如果您尚未开通OSS服务,请参见开通OSS服务进行开通。开通服务后,您还需要创建存储空间Bucket,具体请参见创建存储空间

说明

  • 开通的OSS为独立计费,具体计费方式请参见计费概述
  • 请确保开通的OSS服务与已购买的视频内容检索服务在同一地域,否则将无法使用批量操作功能。

2、将视频导入到OSS中

导入视频具体操作请参见上传文件

说明 视频存放路径可以自定义,只需要在创建批量任务时设置视频路径即可。

3、新建meta文件

在OSS服务中存放视频的路径下,新建meta文件,该文件用来存储批量任务相关内容。本文示例文件名称为:videosearch.meta

说明 meta文件中涉及的视频必须和meta文件在同一路径下,否则批量操作会失败。

文件参考实例如下:

  1. {"OperationType":"ADD","VideoId":"000bdfbf1cb24215a8fea8b40a493726","VideoName":"电影123.mp4","VideoDesc":"影视剧-体育-新闻", "VideoTags": "movie",CallbackUrl: "www.aliyun.com"}
  2. {"OperationType":"DELETE","VideoId":"000bdfbf1cb24215a8fea8b40a493726",CallbackUrl: "www.aliyun.com"}
  3. {"OperationType":"SEARCH","VideoName":"短视频123.mp4","VideoDesc":"短视频相似推荐123",CallbackUrl:"www.aliyun.com"}
  4. {"OperationType":"SEARCH","VideoName":"短视频456.mp4","VideoDesc":"短视频查询并入库","VideoId":"10065","StorageType":1,"SearchType":1,CallbackUrl: "www.aliyun.com"}
  5. {"OperationType":"SEARCH","VideoName":"短视频789.mp4","VideoDesc":"短视频查询并去重入库","VideoId":"10065","VideoTags":"shortVideo","QueryTags":"movie","StorageType":2,"ReplaceStorageThreshold":"0.75","SearchType":1,"ReturnVideoNumber":15,CallbackUrl: "www.aliyun.com"}
  6. {"OperationType":"SEARCH","VideoName":"人物1.jpg","VideoDesc":"图搜视频-人物1","SearchType":2,"ReturnVideoNumber":15,CallbackUrl:"www.aliyun.com"}


每个操作由JSON格式表示,具体字段含义如下表所示:

参数 类型 是否必选 说明
OperationType String 操作类型。
- ADD:新增视频。
- SEARCH:查询视频。
- DELETE:删除视频。
SearchType Integer 检索类型。
- 1:视频搜视频 (默认)。
- 2:图片搜视频。
VideoName String 视频或图片文件的名称。OSS的Bucket中的视频或图片文件的名称。OSS批量操作时有效。
说明
- 当OperationType=ADD, SEARCH时,必填。
- 当OperationType=DELETE时,不需要填写。
VideoUrl String 视频或者图片的URL,数据文件批量操作时有效。
说明
- 当OperationType=ADD, SEARCH时,必填。
- 当OperationType=DELETE时,不需要填写。
VideoDesc String 视频或图片描述
说明
- 当OperationType=Delete时,不需要填写。
VideoTags String 视频标签:表示与视频相关的标签信息,会和视频数据一起进行索引,可以与视频一起被搜索,并可用于查询时的条件过滤
VideoId String 即业务key,表示视频的唯一id。
说明
- 当OperationType=ADD时,必填。
- 当OperationType=SEARCH并且SearchStorageType=1或2时,必填。
- 当OperationType=DELETE时,不需要填写。
QueryTags String 查询条件,与视频标签对应,多个查询条件使用竖线(|)分割。
说明
- 仅当OperationType=SEARCH时有效。
StorageType Integer 检索入库类型,仅当SearchType=1时有效。
- 1:直接入库。
- 2:去重入库。
- 3:不入库(默认)。
ReplaceStorageThreshold float 去重入库阈值。
- 当StorageType=2(去重入库)时生效,当检索结果中所有视频的置信度都小于该值时,进行数据入库。
- 默认:0.9
ReturnVideoNumber Integer 检索结果中返回的最大相似视频数量。
说明
- 默认:20
CallbackUrl String 任务结束时的回调url,仅支持http请求


4、授予视频内容检索服务访问OSS的权限

视频内容检索服务通过OSS来实现数据批量操作,需要您通过STS(Security Token Service)为视频内容检索服务账号授权。

  1. 创建RAM角色。

    1. 登录RAM控制台
    2. 单击RAM角色管理 > 创建RAM角色Ram
    3. 角色类型选择阿里云服务阿里云服务
    4. 配置角色信息。
      • 角色类型:选择为普通服务角色
      • 角色名称:自定义设置。本文示例设置为videosearch-test。
      • 选择受信服务:选择为视频内容检索Ram角色
  2. 创建权限策略。

    1. 单击**权限管理 > 权限策略管理**
    2. 单击创建权限策略权限策略
    3. 编辑权限策略内容。

      • 设置策略名称。
      • 选择配置模式脚本配置。策略内容如下:

        1. {
        2. "Version": "1",
        3. "Statement": [
        4. {
        5. "Effect": "Allow",
        6. "Action": [
        7. "oss:GetObject"
        8. ],
        9. "Resource": [
        10. "acs:oss:*:*:${bucket}/${path}/*"
        11. ]
        12. }
        13. ]
        14. }
      • ${bucket}:表示您在OSS上创建的Bucket。例如videosearch-batchoperation。

      • ${path}:表示您的增量文件存储的路径。例如/increment。脚本配置
  3. 进行授权。
    1. 在RAM控制台单击RAM角色管理
    2. 单击创建的RAM角色。
      Ram角色管理
    3. 单击添加权限
      Ram添加权限
    4. 单击自定义策略并选择已创建的权限策略。
      自定义策略
    5. 在详情页可以看到已经添加的自定义权限策略。
      自定义策略权限查看

5、在视频内容检索中创建批量任务。

  1. 登录视频内容检索控制台
  2. 选择目标服务类型和目标实例。
  3. 单击批量操作页签。批量操作
  4. 单击新建批量任务。新建批量任务
  5. 设置批量任务参数。

    • 资源名称(Arn)
    • 查看方式如下所示。设置批量参数
    • Bucket名称
      OSS上创建的相应的Bucket名称。

      说明 请确保开通的OSS服务与已购买的视频内容检索服务在同一个地域。

    • 数据路径
      需要上传的视频和increment.meta文件的存储路径。

      说明 路径以/开头,例如/videosearch。

      videoOss

数据文件批量操作流程

  1. 新建meta文件。
  2. 在视频内容检索中创建批量任务。

说明 当视频并没有存放在oss中,只有视频URL时,推荐使用数据文件批量操作方式。

1、新建meta文件

该文件用来存储批量任务相关内容。本文示例文件名称为:videosearch.meta

  1. {"OperationType":"ADD","VideoId":"000bdfbf1cb24215a8fea8b40a493726","VideoUrl":"www.aliyun.com/电影123.mp4","VideoDesc":"影视剧-体育-新闻", "VideoTags": "movie",CallbackUrl: "www.aliyun.com"}
  2. {"OperationType":"DELETE","VideoId":"000bdfbf1cb24215a8fea8b40a493726",CallbackUrl: "www.aliyun.com"}
  3. {"OperationType":"SEARCH","VideoUrl":"www.aliyun.com/短视频123.mp4","VideoDesc":"短视频相似推荐123",CallbackUrl:"www.aliyun.com"}
  4. {"OperationType":"SEARCH","VideoUrl":"www.aliyun.com/短视频456.mp4","VideoDesc":"短视频查询并入库","VideoId":"10065","StorageType":1,"SearchType":1,CallbackUrl: "www.aliyun.com"}
  5. {"OperationType":"SEARCH","VideoUrl":"www.aliyun.com/短视频789.mp4","VideoDesc":"短视频查询并去重入库","VideoId":"10065","VideoTags":"shortVideo","QueryTags":"movie","StorageType":2,"ReplaceStorageThreshold":"0.75","SearchType":1,"ReturnVideoNumber":15,CallbackUrl: "www.aliyun.com"}
  6. {"OperationType":"SEARCH","VideoUrl":"www.aliyun.com/人物1.jpg","VideoDesc":"图搜视频-人物1","SearchType":2,"ReturnVideoNumber":15,CallbackUrl:"www.aliyun.com"}

2、在视频内容检索中创建批量任务

  1. 登录视频内容检索控制台
  2. 选择目标服务类型和目标实例。
  3. 单击批量操作页签。
  4. 单击新建批量任务,选择数据文件导入。文件提交

后续步骤

在实例详情页,查看所有增量任务的信息。增量任务状态为成功后,用户可以查看相应的提示信息:
实例任务查看

  • 如果提示信息为“部分视频处理失败,已为您分离,点击下载”,则表明该增量任务中有部分任务处理失败,用户可以下载相应文件查看处理失败的原因。
  • 如果提示信息为成功,则表明该任务中所有的视频均已处理成功。