乐趣区

关于api:API进阶之路太秃然了老板要我一周内检测并导入一万个小时的视频

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

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

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

老板在会上说,最近视频团队谈了个单干,和另一个短视频平台进行内容共享,这样能够为咱们的视频网站提供将近 1 万个小时的视频内容,心愿研发来反对导入视频。

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

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

  • 第一:导过去的视频要全副加上咱们的水印;
  • 第二:要导入的视频格式和咱们当初网站要求的格局不相符,所有视频都要转格局;
  • 第三:要对导过去的视频内容做检测,避免有违法违纪的内容呈现。

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

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

批量转格局和加水印倒是好解决,然而这个平安检测 … 一边烦恼得直薅头发,一边习惯性逛华为云找灵感。

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

先用视频截图 API 设置主动截图的工作,再用图像内容检测 API 来判断是否有内容危险,同时利用媒体解决 MPC 提供的转码模板和水印模板来解决打水印和转格局的问题。完满解决!

提交视频截图工作的形式如下:

前提条件

  • 获取须要创立截图工作区域的我的项目 ID(获取我的项目 ID)。
  • 明确须要创立截图工作所在的区域信息,并获取该区域的 Endpoint(地区和终端节点获取)。
  • 调用 OBS 创立桶 API 创立用于存储截图文件的 OBS 桶,再调用 OBS 上传对象 API 将待截图解决的视频文件存储在 OBS 桶中。

操作步骤

步骤 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 精选手册》。

点击关注,第一工夫理解华为云陈腐技术~

退出移动版