zoukankan      html  css  js  c++  java
  • 【API进阶之路】太秃然了,老板要我一周内检测并导入一万个小时的视频

    摘要:假期结束后回来上班,走进电梯都有一种特别的感觉,电梯那个植发广告里的大哥看我的眼神好像和之前不太一样…

    上回说到,老板奖励7天带薪假,我就回家玩耍了几天,顺便还帮兄弟发不脱当了一回“AI大神”。(回顾:《没有AI工程师也能做OCR文字识别》

    假期结束后回来上班,走进电梯都有一种特别的感觉,电梯某植发广告里的大哥看我的眼神好像和之前不太一样…到公司开了第一个会,原来,那个眼神像是一个预示。

    老板在会上说,最近视频团队谈了个合作,和另一个短视频平台进行内容共享,这样可以为我们的视频网站提供将近1万个小时的视频内容,希望研发来支持导入视频。

    我心想:“这个简单呀,不就是导入视频么?写个脚本不就行了。”我给了老板一个“交给我”的眼神,老板回了我一个“看好你”的笑容。就这么着,这事儿就落到我了头上。现在想想,可能是我回北京的时候,没给脑子买票,人回来了,脑子落在老家…

    会后我找短视频运营老大对需求,他给提了3个点:

    • 第一:导过来的视频要全部加上我们的水印;
    • 第二:要导入的视频格式和我们现在网站要求的格式不相符,所有视频都要转格式;
    • 第三:要对导过来的视频内容做检测,防止有违法违纪的内容出现。

    最后他还补了一句:“最好能在一周内完成,老板想要尽早上线。”

    你在逗我么?一万个小时的视频,要转格式、加水印还要做内容安全检测,一周完成?我突然有点明白电梯广告那大哥的眼神是啥意思了…

    批量转格式和加水印倒是好解决,但是这个安全检测...一边懊恼得直薅头发,一边习惯性逛华为云找灵感。

    我们之前用过图像内容检测API,可以用来检测图片是否有违法违纪的内容,但是视频貌似用不了。如果能把视频每一帧都截图,是不是就可以检测了?继续找,果然有一个“视频截图API”!

    先用视频截图API设置自动截图的任务,再用图像内容检测API来判断是否有内容风险,同时利用媒体处理MPC提供的转码模板和水印模板来解决打水印和转格式的问题。完美解决!

    提交视频截图任务的方式如下:

    前提条件

    操作步骤

    步骤1:获取用户token。用于MPC接口时进行认证鉴权。

    在“我的凭证”页面获取username、password、domainname、projectname,调用如下接口获取Token。

    POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens
    Content-Type: application/json
    {
      "auth": {
        "identity": {
          "methods": [
            "password"
          ],
          "password": {
            "user": {
              "name": "username", //用户名。
              "password": "password", //用户登录密码。
              "domain": {
                "name": "domainname" //用户所属的账号名称。  
              }
            }
          }
        },
        "scope": {
          "project": {
             "name": "projectname"  //项目名称。
          }
        }
      }
    }

    如图所示,红框中的信息为获取用户Token。

    步骤2:创建截图任务

    1、发送一条POST请求。

    POST:https://{endpoint}/v1/{project_id}/thumbnails

    2、请求消息头中增加“X-Auth-Token”,值设置为获取的用户token。

    3、Request Body中传入参数如下:

    {
    "input": {
               "bucket": "example-bucket",
               "location": "region01",
               "object": "/mpc/input/sample.MP4"
    },
    "output": {
               "bucket": "example-bucket",
               "location": "region01",
               "object": "/mpc/output/ "},
    
    "tar": 1,
    "thumbnail_para": {   
            "type":"DOTS",
            "dots":[2,4,6,8,10],      
            "format":0,    
            "aspect_ratio":1,     
            "max_length":480  
            } 
    } 

    4、请求响应成功后,反馈截图任务ID。

    {
        "task_id": "2081"
    }

    步骤3:查询视频截图执行情况

    1、发送一条GET请求。

    GET:https://{endpoint}/v1/{project_id}/thumbnails?task_id=2081

    2、请求消息头中增加“X-Auth-Token”,值设置为获取的用户Token。请求响应成功后,返回视频截图的详情信息。

    截图完成以后,截好的图都传入创建好的OBS桶中,再把截图做下图片内容审核就OK啦!

    写完程序,自动传着视频,我下楼吃饭,在电梯里特意看了看广告牌的大哥,这下眼神正常了~

    了解更多华为云API信息:免费下载创新加速利器《华为云API精选手册》。

    点击关注,第一时间了解华为云新鲜技术~

  • 相关阅读:
    python获取当前路径
    python的StringIO
    python判断两个文件是否相同
    Linux查找文件内容
    python日志syslog运用
    python获取当前运行程序的名字
    python连接Linux命令行
    python预编译函数compile,exec,eval
    python日志模块
    Scala安装教程
  • 原文地址:https://www.cnblogs.com/huaweiyun/p/13740689.html
Copyright © 2011-2022 走看看