直播APP源码接入违规检测SDK,该怎么做
管控平台无法只依靠人力进行,随着短视频、直播平台越做越大,越来越多的用户涌入其中,不少违法分子蠢蠢欲动,在利益驱使下扰乱平台风气,已获得收益,针对这样的问题,直播平台开发者的解决方式是——在直播APP源码中接入违规违法鉴别SDK,用方便有效的方式阻断违法者的“旖念”。
接下来就以云豹科技的合作伙伴——数美科技提供的“天净-智能内容识别产品”,对该类产品的使用情况进行简略说明。
目前,该智能内容识别SDK支持接入短视频、直播APP源码中,并提供智能文本、智能图片、智能音频(单音频使用)、智能视频(包含视频中的音频识别)、智能视频流(含视频的音频识别)等内容鉴别的api接口调用智能识别,以下将从入参、出参以及请求的使用等方面进行说明:
一、 获取秘钥
登录数美后台,右上角选择API秘钥,获取秘钥
数美提供的api接口从返回实时性上有即使返回和回调返回两种,其中文本、图片为即时返回,音频、视频及视频流等为回调返回,以下即时返回以智能文本识别为例,回调返回以智能视频识别为例进行说明,其他基本使用类似方法的可参照对应的网址链接自行查看。一、智能文本【即时返回】
参考地址:https://help.ishumei.com/docs/tj/text/request/
详细的请求参数、返回参数说明直接参照上述链接进行查阅即可,这里针对方法的请求和调用做一个说明:
方法请求:
$url = 'http://api-text-bj.fengkongcloud.com/v2/saas/anti_fraud/text';//请求的API地址 $access_key = “你的API密钥”; $text = “你要检测的文本内容”; $uid = ”你的tokenId,建议使用用户ID即可,但是要转为String类型使用”; $payload = array(//拼装参数,可根据自己的实际需求进行参数拼装 'accessKey' => $access_key, 'type' => 'SOCIAL', 'appId' => 'default',//默认使用default即可 'data' => array( 'text' => $text, 'tokenId' => ''.$uid, ), ); //发送请求获得结果,并处理返回结果 $res = request_post($url, json_encode($payload)); $unique_arr = json_decode($res,true); // 通过 code 和 riskLevel 判断返回 if($unique_arr['code']==1100){ if($unique_arr['riskLevel']!='PASS'){ //违规处理,可根据自己的实际情况进行 REVIEW和REJECT的判断及后续处理 } }else{ //异常处理 }
公共方法:
function request_post($url, $params) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $params); $data = curl_exec($curl); curl_close($curl); return $data; }
文本识别返回示例:
{"code":1100,"message":"\u6210\u529f","requestId":"30c320fb3686e46c0b05551f74d37cf3","score":998,"riskLevel":"REJECT","detail":"{\"contactResult\":[],\"contextText\":\"\u9093\u5c0f\u5e73\",\"context_processed\":false,\"description\":\"\u6d89\u653f\uff1a\u6d89\u653f\uff1a\u6d89\u653f\",\"descriptionV2\":\"\u6d89\u653f\uff1a\u6d89\u653f\uff1a\u6d89\u653f\",\"filteredText\":\"***\",\"hitPosition\":\"0,1,2\",\"matchedField\":\"text\",\"matchedItem\":\"\u9093\u5c0f\u5e73\",\"matchedList\":\"\u6d89\u653f_\u6838\u5fc3\u9886\u5bfc_\u9093\u5c0f\u5e73\",\"model\":\"M1020_10\",\"riskType\":100,\"sexy_risk_tokenid\":0,\"tokenScore\":530}","status":0}
二、智能图片【即时返回】
参考地址:https://help.ishumei.com/docs/tj/image/request/
三、智能音频【回调返回】
参考地址:https://help.ishumei.com/docs/tj/audio/req/
四、智能视频【回调返回】
参考地址:https://help.ishumei.com/docs/tj/video/req/
视频识别返回示例:
{"checksum":"588405fd8c9c17848d0ef5f301130f549f30949a9d2778ebbdf22a8c0ee0286d","result":"{\"code\":1100,\"message\":\"\\u6210\\u529f\",\"requestId\":\"e75612e7dddb16c43676ff5ae255b03b\",\"btId\":\"100821608172399\",\"labels\":\"\\u5e7f\\u544a-\\u56fe\\u50cf \",\"detail\":[{\"description\":\"\\u5e7f\\u544a-\\u56fe\\u50cf\",\"imgUrl\":\"http://bj-video-1251671073.cos.ap-beijing.myqcloud.com/image/20201217/e75612e7dddb16c43676ff5ae255b03b_v0.jpg\",\"requestId\":\"e75612e7dddb16c43676ff5ae255b03b_v0\",\"riskLevel\":\"REJECT\",\"riskType\":300,\"time\":0},{\"description\":\"\\u5e7f\\u544a-\\u56fe\\u50cf\",\"imgUrl\":\"http://bj-video-1251671073.cos.ap-beijing.myqcloud.com/image/20201217/e75612e7dddb16c43676ff5ae255b03b_v5.jpg\",\"requestId\":\"e75612e7dddb16c43676ff5ae255b03b_v5\",\"riskLevel\":\"REJECT\",\"riskType\":300,\"time\":5},{\"description\":\"\\u5e7f\\u544a-\\u56fe\\u50cf\",\"imgUrl\":\"http://bj-video-1251671073.cos.ap-beijing.myqcloud.com/image/20201217/e75612e7dddb16c43676ff5ae255b03b_v10.jpg\",\"requestId\":\"e75612e7dddb16c43676ff5ae255b03b_v10\",\"riskLevel\":\"REJECT\",\"riskType\":300,\"time\":10},{\"description\":\"\\u5e7f\\u544a-\\u56fe\\u50cf\",\"imgUrl\":\"http://bj-video-1251671073.cos.ap-beijing.myqcloud.com/image/20201217/e75612e7dddb16c43676ff5ae255b03b_v11.jpg\",\"requestId\":\"e75612e7dddb16c43676ff5ae255b03b_v11\",\"riskLevel\":\"REJECT\",\"riskType\":300,\"time\":11}],\"riskLevel\":\"REJECT\
$url = 'http://api-video-bj.fengkongcloud.com/v2/saas/anti_fraud/video';//请求的API地址 $access_key = “你的API密钥”; $video_url = “你要检测的图片【可传base64编码也可使用图片url链接】”; $bt_id = ”当前视频的唯一标识,用于回调时视频查询使用,一定要保存到对应的视频数据中”; $callback='你接收回调的地址,请求时作为参数发给数美'; $payload = array(//拼装参数,可根据自己的实际需求进行参数拼装 'accessKey' => $access_key, 'imgType' => 'POLITICS_PORN_AD',//检测的视频违规违法类型 'audioType' => 'NONE', 'appId' => 'default', 'btId' => $bt_id, 'callback' => $callback, 'data' => array( 'url' => $video_url, ), ); //发送请求获得结果,并处理返回结果 $res = request_post($url, json_encode($payload)); $unique_arr = json_decode($res,true); //复制唯一标识,用于数据库存储 $rs['info'][0]['btId'] = $bt_id; // 通过 code 和 riskLevel 判断返回,这里不需要处理违法,等待接收回调后再进行非法的处理,此处只是将视频或者音频或者视频流等资源发给数美的请求返回 if($unique_arr['code']==1100){ $rs['code'] = $unique_arr['code']; return $rs; }else{ $rs['code'] = $unique_arr['code']; $rs['msg'] = $unique_arr['message']; return $rs; }
回调处理:
//发布视频鉴别回调 public function video() { $xmlInfo=file_get_contents("php://input"); //处理回调结果 $unique_arr = json_decode($xmlInfo,true); //获取回调结果 $result=json_decode($unique_arr['result'],true); $this -> violationsVideo("result222:".json_encode($unique_arr));//log打印保存 //回调详细业务 if($result['code']==1100){ $btId=$result['btId']; $videoinfo=Db::name("video")->where("btId='{$btId}'")->find(); $content=""; $touid=0; //成功 if($result['riskLevel']=='PASS'){ //审核通过的业务处理 }else{ //审核违规或违法的业务处理 } }else{ //请求失败的业务处理 } }
五、智能视频流【回调返回】
参考地址:https://help.ishumei.com/docs/tj/videoStream/req/
直播app源码中接入审核SDK后,系统将能对大部分音频、视频格式的文件进行检测识别,并将违规内容反馈到后台,便于管理员人工审核,或进行处理,因此,在直播平台搭建行业,这也算是必不可少的SDK之一了。
声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任www.yunbaokj.com