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

上回说到,老板奖励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精选手册》。

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

【API进阶之路】太秃然了,老板要我一周内检测并导入一万个小时的视频的更多相关文章

  1. 【API进阶之路】API带来的微创新,打动投资人鼓励我创业

    摘要:怎么帮助创作者提高视频的推荐量呢?我发现了:视频的封面图非常重要. 上回说到,老板一拍脑门,交代了一个新项目:小成本开发一款短视频剪辑工具([<[API进阶之路]人少钱少需求多的新项目该怎 ...

  2. 【API进阶之路】帮公司省下20万调研费!如何巧用情感分析API实现用户偏好调研

    摘要:自从学习API后,仿佛解锁了新技能,可别小看了一个小小的API接口,用好了都是能力无穷.这不,用情感分析API来做用户偏好调研,没想到这么一个小创意给公司省了20万调研费用. 上次借着高考热点整 ...

  3. 【API进阶之路】高考要考口语?我用多模态评测API做了一场10w+刷屏活动

    摘要:闲着没事用多模态评测API做了一个测评英语口语的互动小游戏,居然成了一场10万人参与的刷屏级活动. 上一期故事说到,我成为了公司技术委员会副主席,上任后的第一件事是建立了一个云容器化的研发资料库 ...

  4. 【API进阶之路6】一个技术盲点,差点让整个项目翻车

    上次教了实习生一个方案之后,这小子跟运营妹子的关系是越走越近,时不时地撒把狗粮,在我司真正实现了研发运营一家亲~(上回你没看?戳上文剧情回顾:万万没想到,一个技术方案帮实习生追到了运营妹子) 这回想跟 ...

  5. 【API进阶之路】老板给我涨薪30%!如何通过SDK接口搞定千万级流量直播

    摘要:看我如何通过API Explorer 的SDK接口搞定千万级流量直播. 最近几个月,我的变化其实还蛮大的,从一个被实习生“无视”的“前浪”,转变成了不仅能够解决技术问题还能解决业务问题(顺手还能 ...

  6. 【API进阶之路】无法想象!大龄码农的硬盘里有这么多宝藏

    摘要:通过把所需建立的工具库做成云容器化应用,用CCE引擎,通过API网关调用云容器引擎中的容器应用.不仅顺应了云原生的发展趋势,还能随时弹性扩容,满足公司规模化发展的需求. 公司开完年中会后,大家的 ...

  7. 【API进阶之路】逆袭!用关键词抽取API搞定用户需求洞察

    摘要: 老大说,我这份用关键词抽取API搞定的用户需求洞察报告,简直比比市场调研的科班人士做得还好. 最近这半个月的午饭,那可是相当不错,市场老大天天请吃饭,不是外面下馆子,就是从家带饺子.说是感谢我 ...

  8. 【API进阶之路】破圈,用一个API代替10人内容团队

    摘要:我用一个API代替10人内容团队,一年帮老板省了一百万. 自从学习API以后,我用技术手段相继帮助业务部.市场部解决了不少难题,算是从纯研发破圈发展到了业务端.老板召开业务讨论会的时候也会带上我 ...

  9. 【API进阶之路】用API打造一条自动化内容生产流水线

    摘要:搞定了内容审核之后,我又把抓取工具.内容审核API.文本摘要生成API串联在一起,从抓到审再到编,建立了一条自动化的内容生产流水线,编辑团队只需要做优质内容的推荐就可以了. 上周,运营部将官网上 ...

  10. 【API进阶之路】研发需求突增3倍,测试团队集体闹离职

    摘要:最近研发的需求量涨了3倍,开发团队拼命赶进度,可苦了测试团队. 本以为从一线研发转管理后会清闲一些,但是没想到,我还要充当救火队员的角色. 到了第四季度,各业务部门都在憋着劲儿冲业绩,毕竟这跟年 ...

随机推荐

  1. Java基础知识1-10

    测试要点 一.Java基础 1.常用设计模式有哪些?在项目中有哪里用的到?单例中懒汉饿汉优缺点? 软件设计模式分为三类分别为创建型.结构型.行为型. 1.1创建型 1.1.1单例模式(singleto ...

  2. 如何通过代码混淆绕过苹果机审,解决APP被拒问题

    目录 iOS代码混淆 功能分析 实现流程 类名修改 方法名修改 生成垃圾代码 替换png等静态资源MD5 info.plist文件添加垃圾字段 功能分析 实现流程 类名修改 方法名修改 生成垃圾代码 ...

  3. c# 引入同一个版本dll(比如包含opencv不同模块的dll,但是版本却是一致的)

    1.使用dnSpy.exe工具,打开相关dll 在左侧"管理器"中选中并点击右键 2.在弹出菜单中点击编辑程序集 3.更改名称和版本号 4.工具栏-文件-全部保存 5.在VS中引入 ...

  4. P4022 [CTSC2012]熟悉的文章 题解

    题目链接 简要题意 给定 \(m\) 个模板串和 \(n\) 个匹配串,如果一个字符串是一个模板串的子串且长度不小于 \(L\) 则称其为"熟悉的",对于每个匹配串,求一个最大的 ...

  5. 对 List 列表中的数据按指定字段进行排序

    /** * 对列表中的数据按指定字段进行排序.要求类必须有相关的方法返回字符串.整型.日期等值以进行比较. * * @param list 集合 * @param sortName 需要排序的字段,目 ...

  6. 【慢SQL性能优化】 一条SQL的生命周期

    一. 一条简单SQL在MySQL执行过程 一张简单的图说明下,MySQL架构有哪些组件和组建间关系,接下来给大家用SQL语句分析 例如如下SQL语句 SELECT department_id FROM ...

  7. 【ASP.NET Core】MVC过滤器:运行流程

    MVC 的过滤器(Filters)也翻译为"筛选器".但是老周更喜欢翻译为"过滤器",意思上更好理解. 既然都叫过滤器了,就是在MVC的操作方法调用前后进行特殊 ...

  8. 2. Shell 条件测试

    重点: 条件测试. read. Shell 环境配置. case. for. find. xargs. gzip,bzip2,xz. tar. sed. 1)位置 变量 位置变量:在 bash She ...

  9. 聊聊卷积神经网络CNN

    卷积神经网络(Convolutional Neural Network,CNN)是一种被广泛应用于图像识别.语音识别和自然语言处理等领域的深度学习模型.与RNN.Transformer模型组成AI的三 ...

  10. docker启动完美容器的过程

    这里是我用docker启动所有常见的容器完美的过程,就是一次创建,后面就可以一直使用 文档: nanshaws/docker-everything: 用docker来创建各种容器,完美文档教你按照步骤 ...