所有文档

          媒体内容分析 MCA

          开发者指南

          视频分析

          VCA 支持对BOS视频、VOD媒资、HTTP(S) URL视频审核。对于不同来源的视频,需要按照如下规则拼接视频路径source:

          • 对于 BOS 视频,source=bos://{bucket}/{object}
          • 对于 VOD 媒资原视频,source=vod://{mediaId}
          • 对于 VOD 媒资转码后视频,source="vod://<vod-media-id>-<preset>"
          • 对于 HTTP(S) URL 视频,source="<http(s)-url">

          说明:

          注意:这里的”视频“概念包含视频、音频和图片。

          提交视频分析

          指定视频路径发起视频分析。如果使用定制模板,由 VCA 研发人员在后台帮用户创建好模板,然后用户在创建视频时在请求参数或请求体中配置模板名称即可。

          分析 BOS 视频

          根据BOS bucket和BOS key直接发起分析。需要说明,使用本方法需要将object配置公共GetObject权限,参考设置BOS bucket权限。简述为:在BOS 的控制台中 Bucket 设置-权限设置-自定义权限中添加 VCA 服务帐号: 876d365b2f35424898b7ec8630593a50。

          VCA 也支持BOS回源,只要在BOS配置了正确的回源地址,参考设置BOS镜像回源,VCA 可以帮助回源并完成分析。

          代码示例:

          示例一:使用默认模板分析 BOS 视频

          public void analyzeBosMedia(VcaClient vcaClient, String bucket, String object) {
          	vcaClient.analyze("bos://" + bucket + "/" + object);
          }

          示例二:使用定制模板分析 BOS 视频

          public void analyzeBosMedia(VcaClient vcaClient, String bucket, String object, String preset) {
          	AnalyzeRequest request = new AnalyzeRequest();
          	request.setSource("bos://" + bucket + "/" + object);
          	request.setPreset(preset);
          	vcaClient.analyze(request);
          }

          示例三:指定标题分析 BOS 视频

          public void analyzeBosMedia(VcaClient vcaClient, String bucket, String object, String title) {
          	vcaClient.analyze("bos://" + bucket + "/" + object, title);
          }

          分析 VOD 媒资

          根据 VOD 媒资ID直接发起分析。

          代码示例:

          示例一:使用默认模板分析 VOD 媒资

          public void analyzeVodMedia(VcaClient vcaClient, String mediaId) {
              vcaClient.analyze("vod://" + mediaId);
          }

          示例二:使用定制模板分析 VOD 媒资

          public void analyzeVodMedia(VcaClient vcaClient, String mediaId, String preset) {
              AnalyzeRequest request = new AnalyzeRequest();
              request.setSource("vod://" + mediaId);
              request.setPreset(preset);
              vcaClient.analyze(request);
          }

          示例三:指定标题分析 VOD 媒资

          public void analyzeVodMedia(VcaClient vcaClient, String mediaId, String title) {
              vcaClient.analyze("vod://" + mediaId, title);
          }

          分析 HTTP(S) URL 视频

          根据url直接发起分析。

          代码示例:

          示例一:使用默认模板分析 URL 视频

          public void analyzeMedia(VcaClient vcaClient, String source) {
              vcaClient.analyze(source);
          }

          示例二:使用定制模板分析 URL 视频

          public void analyzeMedia(VcaClient vcaClient, String source, String preset) {
              AnalyzeRequest request = new AnalyzeRequest();
              request.setSource(source);
              request.setPreset(preset);
              vcaClient.analyze(request);
          }

          示例三:指定标题分析 URL 视频

          public void analyzeMedia(VcaClient vcaClient, String source, String title) {
              vcaClient.analyze(source, title);
          }

          说明:

          分析包含鉴权参数的 URL 视频,将AnalyzeRequest中auth成员设置为鉴权参数即可。 提交媒资分析时还可以配置通知名称,参考analyze(AnalyzeRequest)函数。

          查询视频分析结果

          指定视频路径查询对应的分析结果。

          代码示例:

          public void queryResult(VcaClient vcaClient, String source) {
              QueryResultResponse response = vcaClient.queryResult(source);
              String status = response.getStatus();
              if ("FINISHED".equals(status)) {
                  for (TagsResult tagsResult: response.getResults()) {
                      String type = tagsResult.getType();
                      for (ResultItem item: tagsResult.getResult()) {
                          String attribute = item.getAttribute();
                          Double confidence = item.getConfidence();
                          String source = item.getSource();
                          List<ResultItem.TimeInSeconds> time = item.getTime();
                      }
                  }
              }
          }

          视频分析结果格式和各字段含义参考VCA API

          查询中间任务结果

          指定视频路径查询中间任务的分析结果。

          代码示例:

          public void querySubTaskResult(VcaClient vcaClient, String source, String type) {
          	QuerySubTaskResponse subTaskResponse = vcaClient.querySubTask(source, type);
          	String status = subTaskResponse.getStatus();
          	if ("FINISHED".equals(status)) {
          		String result = subTaskResponse.getResult();
          	}
          }

          视频分析中间任务结果格式和各字段含义参考VCA API

          上一篇
          安装VCA-Java-SDK
          下一篇
          版本更新记录