当前位置: 首页 > news >正文

mysql 网站登录密码win2008 r2 搭建网站

mysql 网站登录密码,win2008 r2 搭建网站,中文网站建设英文网站建设,做信息发布网站要多少钱应用场景 在云考试中,为防止作弊行为的发生,会在考生端部署音视频监控系统,当然还有考官方监控墙系统。在实际应用中,考生一方至少包括两路直播流: (1)前置摄像头:答题的设备要求使…

应用场景

在云考试中,为防止作弊行为的发生,会在考生端部署音视频监控系统,当然还有考官方监控墙系统。在实际应用中,考生一方至少包括两路直播流:

(1)前置摄像头:答题的设备要求使用笔记本电脑,使用支持H5的WEB浏览器,并授权打开前置摄像头,产生一路直播流,以监控考生正面活体人像的行为,并进行录像留证。

(2)后方摄像:使用其它可用的摄像设备,如手机、平板等,打开摄像头,产生一路直播流,以监控考生背面、笔记本及前方音视频情况,并进行录像留证。

如果不考虑各种成本,还可以使用屏幕共享功能,以录制笔记本电脑屏幕上的一切操作行为。

腾讯云实时音视频

我们的云考试监控部分的开发采用基于腾讯云WebRTC的技术实现,其产品以多人音视频通话和低延时互动直播两大场景,通过开放API,帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。

具体可访问该网址进行了解:https://cloud.tencent.com/document/product/647

产品架构

下图是我们基于腾讯云产品架构图的部分采用和实现方案:

 关于RoomID

当创建直播流的时候,我们可以简单的理解为,首先需要创建一个房间(音视频聊天室),该房间就应该分配一个唯一的房号,这房号就是RoomID。

RoomID是一组10位数字的字符串值,但在实际应用中,第一位不要为0,否则腾讯会自动转数值,而变成9位数字,这个位数是不合法的。但这种情况在微信小程序的RTC版本里不会出现。

另外,数值的范围最好在1000000000-5000000000这间,否则也有可能报错误,以上都是曾经踩到的一些坑点,在此分享。

需求示例 

考试产品可以提供二维码或接口接入的形式,访问首页如下图演示:

核对信息无误后,创建RoomID和用户名,用户名按实际业务需要创建,比如前置为 roomid_1,后置为 roomid_2,从名称上可以区分前后直播流即可。 进入考试如下图:

创建了前置摄像直播流,提示用户用手机微信扫描以打开后方摄像头功能,如果成功则可以进行答题,如下图:

现在的需求是,如果考生在考试过程中断开其中一路或全部断开则提示其重新连接摄像头。我们采用了腾讯云给出的一种解决方案,利用其API定时查询对应的直播流是否存在,如果不存在则进行提示,以下图为例 :

 

关键代码

API实现

//查询在线直播流,参数1:部分或全部流名称,页码         
//方法返回LVBStream类对象的ArrayList集合   
public ArrayList SearchOnlineStream(string partname,string PageNum){ArrayList data = new ArrayList();//请求地址string settingUrl = "https://live.tencentcloudapi.com/";//应用ID和应用keystring secretId = 应用ID;string secretKey = 应用key;//时间戳string timesTamp = GetTimeStamp();//Noncevar nonce = new Random().Next(10000, 99999);//拼接参数 abcdefghijklmnopqstring paramsStr = string.Format(@"Action=DescribeLiveStreamOnlineList&Nonce={0}&PageNum=1&PageSize=100&Region=ap-guangzhou&SecretId={1}&SignatureMethod=HmacSHA1&Timestamp={2}&Version=2018-08-01",nonce, secretId, timesTamp);//生成签名参数//                      string requestText = settingUrl + "?" + paramsStr;string requestText = "POST" + settingUrl.Replace("https://", "") + "?" + paramsStr;//获得请求签名string signText = GetHmacSha1Sign(secretKey, requestText);//这里一定要进行URL编码,不然调用API会报错signText = HttpUtility.UrlEncode(signText, Encoding.UTF8);
//                string text = HttpUtility.UrlEncode(SearchText, Encoding.UTF8);paramsStr = string.Format(@"Action=DescribeLiveStreamOnlineList&Nonce={0}&PageNum=1&PageSize=100&Region=ap-guangzhou&SecretId={1}&Signature={2}&SignatureMethod=HmacSHA1&Timestamp={3}&Version=2018-08-01",nonce, secretId, signText, timesTamp);//请求腾讯API,返回身份证信息string resultStr = SendRequest(settingUrl, paramsStr);if (resultStr.IndexOf("TotalNum") != -1){Newtonsoft.Json.Linq.JObject jsonObj = Newtonsoft.Json.Linq.JObject.Parse(resultStr);//"Response":{"MediaInfoSet":[],"TotalCount":0, "RequestId":"85f181fc-d76f-42bb-82d8-7ac4d5ff432a"}}int total = jsonObj["Response"]["OnlineInfo"].Count();int totalpage =int.Parse(jsonObj["Response"]["TotalPage"].ToString());for (int i = 0; i < total; i++){LVBStream ls = new LVBStream();try{ls.StreamName = jsonObj["Response"]["OnlineInfo"][i]["StreamName"].ToString();ls.AppName = jsonObj["Response"]["OnlineInfo"][i]["AppName"].ToString();ls.DomainName = jsonObj["Response"]["OnlineInfo"][i]["DomainName"].ToString();if (partname != ""){if (ls.StreamName.IndexOf(partname) != -1){data.Add(ls);}}else{data.Add(ls);}}catch (Exception e) { }}if (totalpage > 1 && int.Parse(PageNum) == 1){for (int i = int.Parse(PageNum) + 1; i <= totalpage; i++) {ArrayList data2 = new ArrayList();data2 = SearchOnlineStream(partname, i.ToString());foreach (CoWeixin.wxLiveManager.TencentCloud.LVBStream lvb in data2){data.Add(lvb);}}}return data;}return data;
} //search media
public class LVBStream
{public string StreamName = "";public string AppName = "";public string DomainName = "";public LVBStream(){}
}public static string GetTimeStamp(){TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);return Convert.ToInt64(ts.TotalSeconds).ToString();}/// <summary>/// HMAC-SHA1加密返回签名/// </summary>/// <param name="secret">密钥</param>/// <param name="strOrgData">源文</param>/// <returns></returns>public static string GetHmacSha1Sign(string secret, string strOrgData){var hmacsha1 = new HMACSHA1(Encoding.UTF8.GetBytes(secret));var dataBuffer = Encoding.UTF8.GetBytes(strOrgData);var hashBytes = hmacsha1.ComputeHash(dataBuffer);return Convert.ToBase64String(hashBytes);}public static string SendRequest(string url, string completeUrl){ServicePointManager.SecurityProtocol = (SecurityProtocolType)192 | (SecurityProtocolType)768 | (SecurityProtocolType)3072;HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);request.Method = "POST";request.ContentType = "application/x-www-form-urlencoded";request.ProtocolVersion = HttpVersion.Version10;request.Host = url.Replace("https://", "").Replace("/", "");byte[] data = Encoding.UTF8.GetBytes(completeUrl);request.ContentLength = data.Length;Stream newStream = request.GetRequestStream();newStream.Write(data, 0, data.Length);newStream.Close();HttpWebResponse response = null;string content;try{response = (HttpWebResponse)request.GetResponse();StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);content = reader.ReadToEnd();}catch (WebException e){response = (HttpWebResponse)e.Response;using (Stream errData = response.GetResponseStream()){using (StreamReader reader = new StreamReader(errData)){content = reader.ReadToEnd();}}}return content;}

JS调用的服务端方法

    [WebMethod]
//统计在线流情况,传递RoomID房间号public static string onlineLiveCount(string roomid){string tip = "";ArrayList rv = SearchOnlineStream(roomid);bool isfront = false;bool isback = false;foreach (LVBStream lvb in rv){if (lvb.StreamName.IndexOf("_1_main")!=-1)  //根据自己的命名规则判断 {isfront = true;}if (lvb.StreamName.IndexOf("_2_main") != -1) //根据自己的命名规则判断 {isback = true;}}if (rv.Count < 2){if (isfront == false){tip += "未监控到前方摄像头。<br>";}if (isfront==true&&isback == false){tip += "未监控到后方摄像头。<br>";}}return tip;}

小结

以上提供的代码仅供参考,在实际的应用中,我们要编写符合自己业务的逻辑,还要考虑实际的运营成本。有关腾讯RTC产品的价格情况,可以访问:https://cloud.tencent.com/document/product/647/17157

以上就是自己的一些分享,时间仓促,不妥之处还请大家批评指正!

 

 

http://www.yayakq.cn/news/707170/

相关文章:

  • 网站seo快速dede网站地图路径
  • 服装网站建设方案摘要购物网站后台设计
  • 网站建站在线制作营销网站建设流程
  • 兼职做网站平台信誉好的大连网站建设
  • 律师网站建设照明灯具类企业网站
  • 怎么做软文链接打开后是自定义网站北京通州网站设计公司
  • 网站建设费用应该入什么科目wordpress固定主题
  • 枣阳建设局网站首页字体设计在线
  • 有些网站勤换域名营销推广方式
  • 做水果网站用什么域名wordpress注册授权
  • 新加坡网站建设成都设计院待遇
  • 怎么改网站标题线上策划方案
  • 手机网站整站模板下载工具公司的网络拓扑图
  • 百度为什么不收录网站的某个版块上海黄页查询
  • 做网站超速云做网站有谁做
  • 如何制作餐馆网站淄博前信网络科技有限公司
  • 建设网站的网站是什么做网盘网站的成本
  • wordpress 编辑器增强Wordpress 收费优化
  • 网站运营公司哪家效果好电商购物网站开发需求分析
  • 网站建设费用细项网站建设运行
  • 个人备案网站放什么手续软件开发合同协议
  • 成年做羞羞的视频网站自己做网站打开很卡
  • asp医院网站源码ip网站查询服务器
  • 昆明做网站需要多少钱wordpress头像缓存
  • 网站首页 seoui页面设计公司
  • 上海社区网站建设网站广告位价格一般多少
  • 那片海dede织梦源码企业网络公司工作室网站模板源码模板php深圳福田区有哪些大公司
  • 做网站什么好个人网站设计大全
  • 购买域名如何建设网站租号网站开发成本
  • 展会网站制作wordpress链接title属性