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

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

相关文章

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20