直播APP源码接入违规检测SDK,该怎么做

发布来源:云豹科技
发布人:云豹科技
2021-02-19 09:59:34

管控平台无法只依靠人力进行,随着短视频、直播平台越做越大,越来越多的用户涌入其中,不少违法分子蠢蠢欲动,在利益驱使下扰乱平台风气,已获得收益,针对这样的问题,直播平台开发者的解决方式是——在播APP源码中接入违规违法鉴别SDK,用方便有效的方式阻断违法者的“旖念”。

接下来就以云豹科技的合作伙伴——数美科技提供的“天净-智能内容识别产品”,对该类产品的使用情况进行简略说明。

目前,该智能内容识别SDK支持接入短视频、直播APP源码中,并提供智能文本、智能图片、智能音频(单音频使用)、智能视频(包含视频中的音频识别)、智能视频流(含视频的音频识别)等内容鉴别的api接口调用智能识别,以下将从入参、出参以及请求的使用等方面进行说明:

一、 获取秘钥

登录数美后台,右上角选择API秘钥,获取秘钥

直播APP源码

直播APP源码

数美提供的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

声明:
以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任