三步上线自己的在线监考系统

2023-11-09 14:40

本文主要是介绍三步上线自己的在线监考系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

​在线学习的过程中,如何监测学习效果?成为了许多学校和教培机构头疼的问题。

 

通过成绩直观体现学习效果,是各学校和教培机构的主要手段。受疫情影响,线下聚集考试风险大,但阶段性学习效果又不得不进行评估和考核。所以,将线下考试转移到线上,成为了众多机构的最佳选择。这一过程中,如何做好在线监考工作,保证成绩真实有效,成为一大难题。这里从技术角度,以 Web 端为例,简要介绍如何通过实时音视频技术实现在线监考。

 

在线监考系统主要功能

 

在整个监考系统中,主要包含两部分,分别是学生端和教师端。学生端提供学生考试全程画面;教师端可进行在线监考,发现学生出现可疑动作,教师可以进入单个学生房间连麦发出警告,也可以对有疑问的学生进行 1V1 答疑。

三步上线自己的在线监考系统

 

一名学生两个视图(摄像头采集,屏幕共享),可通过后台转码合图后推到 CDN。

三步上线自己的在线监考系统

 

•老师同时订阅并播放多个学生考试答题的直播画面,还可以查看学生端采集视频的截图或调阅考试录像;

 

•当老师发现某位学生需要警告或者答疑,可以进入单个学生所在房间,与学生进行连麦沟通。

 

学生端实现方法

 

1.学生端此时的角色是“主播”,考试一般在 PC 端进行。PC 端创建并加入考试房间,加入考试房间后,进行音视频推流,这里可以根据情况选择是否关闭麦克风,学生对考试房间效果调试完毕后便可以开始考试。

 

  • 加入考试房间

学生端考试前需要先创建一个考试房间(直播类型房间),然后加入考试房间开始考试

核心代码展现

三步上线自己的在线监考系统

 

  • 发布学生端考试房间环境

发布学生端考试房间环境,确保学生端考试房间画面可以被教师端查看。

核心代码展现

三步上线自己的在线监考系统

 

2.学生端通过 PC 浏览器登录考试系统;

 

3.登录后电脑摄像头采集学生正面实时图像,并开始屏幕共享;

 

4.如果需要借助图像识别功能协助辨别学生是否作弊,可以直接从学生端调用截图接口随时截图;

 

5.在整个监考的过程中,从学生端上传的学生面部头像、屏幕共享图像,会在服务器上合成一路流。

 

教师端实现方法

 

1.教师端此时的角色是“观众”,可以订阅观看所有学生的考试画面;

 

  • 监考画面

教师端订阅直接调用学生端的考试房间地址,就可以直接看到监考画面,教师身份可以多次调用接口,比如先观看学生 A 的画面,调用此接口,再观看学生 B 的画面。学生端考试房间地址也可以直接存储到服务器,教师从服务器就可以拿到学生端考试房间地址。

核心代码展现

三步上线自己的在线监考系统

 

2.如果教师发现个别学生考试行为不规范,可以查看该学生前几分钟的考试画面进行验证(考试前需要开通实时录制)。

 

3.教师如果需要警告或者答疑,可以选择进入单个学生所在房间,通过语音与学生进行实时互动。

 

  • 教师连麦学生进行干预或解答

监考时教师仅能观看学生考试画面,选择加入学生考试房间后便可进行对话,对学生进行警告或者答疑。

核心代码展现

三步上线自己的在线监考系统

 

  • 加入单个学生考试房间

核心代码展现

三步上线自己的在线监考系统

 

  • 教师加入学生房间进行对话

核心代码展现

三步上线自己的在线监考系统

 

  • 教师下麦

教师下麦后便退出房间

核心代码展现

三步上线自己的在线监考系统

 

  • 重新进入监考画面

三步上线自己的在线监考系统

 

录制储存

 

每个学生上传的所有视频流可以合图录制,以满足老师在考试后检查学生考试全过程有无作弊等情况。可以按需求选择音视频格式,找寻云端录制文档相关资料。

 

至此,在线监考系统全部实现。如果有兴趣,可以到融云查看详细文档。

这篇关于三步上线自己的在线监考系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/376742

相关文章

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

MySQL使用binlog2sql工具实现在线恢复数据功能

《MySQL使用binlog2sql工具实现在线恢复数据功能》binlog2sql是大众点评开源的一款用于解析MySQLbinlog的工具,根据不同选项,可以得到原始SQL、回滚SQL等,下面我们就来... 目录背景目标步骤准备工作恢复数据结果验证结论背景生产数据库执行 SQL 脚本,一般会经过正规的审批

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题