CN108683946B - 基于人脸识别和缓存机制实现在线视频教育的方法 - Google Patents

基于人脸识别和缓存机制实现在线视频教育的方法 Download PDF

Info

Publication number
CN108683946B
CN108683946B CN201810501894.0A CN201810501894A CN108683946B CN 108683946 B CN108683946 B CN 108683946B CN 201810501894 A CN201810501894 A CN 201810501894A CN 108683946 B CN108683946 B CN 108683946B
Authority
CN
China
Prior art keywords
video
face
code
cache
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810501894.0A
Other languages
English (en)
Other versions
CN108683946A (zh
Inventor
王博
严俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Intelligent & Omnipotent Technology Co ltd
Original Assignee
Chengdu Intelligent & Omnipotent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Intelligent & Omnipotent Technology Co ltd filed Critical Chengdu Intelligent & Omnipotent Technology Co ltd
Priority to CN201810501894.0A priority Critical patent/CN108683946B/zh
Publication of CN108683946A publication Critical patent/CN108683946A/zh
Application granted granted Critical
Publication of CN108683946B publication Critical patent/CN108683946B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440236Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by media transcoding, e.g. video is transformed into a slideshow of still pictures, audio is converted into text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44218Detecting physical presence or behaviour of the user, e.g. using sensors to detect if the user is leaving the room or changes his face expression during a TV program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种基于人脸识别和缓存机制实现在线视频教育的方法,接收上传的视频文件,经格式转换并审核后发布;登录时,比对人脸信息,如果识别成功,则向服务器发送获取视频地址页面的请求指令;如果识别失败,则重新登录;获取视频地址后,根据所选择的视频地址进入播放界面;在视频播放过程中持续识别人脸,并在识别成功后保存视频进度。本发明实现了视频点播进度控制技术和有效点播控制技术,防止用户快进播放视频,以及同时学习多个视频,保证了用户的有效学习时间,提高综合能力;同时,采用零拷贝技术实现服务器的高并发和高吞吐率;采用内存预读缓冲技术,极大提升了点播启动速度,采用在线视频智能虚拟分片缓存技术,减少了带宽浪费。

Description

基于人脸识别和缓存机制实现在线视频教育的方法
技术领域
本发明涉及视频教学技术领域,具体涉及一种基于人脸识别和缓存机制实现在线视频教育的方法。
背景技术
现代远程教育是指通过音频、视频(直播或录像)以及包括实时和非实时在内的计算机技术把课程传送的教育。现代远程教育是随着现代信息技术的发展而产生的一种新型教育方式。计算机技术、多媒体技术、通信技术的发展,特别是因特网(Internet)的迅猛发展,使远程教育的手段有了质的飞跃,成为高新技术条件下的远程教育。
在线教育还处在人工下达、人工组织培训及局部管理培训等陈旧的教育培训方法。现在在线教育需要构建新一代面向未来应用的大型在线教育系统基础架构,能够支撑高并发环境下的视频学习和考试,实现学员学习及考试过程中的人物识别和鉴定,让用户有效学习,提高综合能力。
现有技术的缺陷和不足:
(1)缺少人脸识别或者人脸识别效果差,学员识别力不高。
(2)在线视频点播控制力不足,没有工具和方法保证播放进度的有效性。
(3)视频网速的问题,虽然这很大程度上取决于网民所有的网络不同,但是一般观看优酷视频时都需要下载加速器,否则等待自动缓冲还是需要一定时间的。这是传统流媒体技术上的问题。
(4)学员考试监管不足,无法判断考生是否为登录人员。
(5)现目前在线教育平台对于学员的把控力度不足,没有工具和方法能够确保在线学习的效果。
发明内容
基于此,针对上述问题,有必要提出一种基于人脸识别和缓存机制实现在线视频教育的方法,其实现了视频点播进度控制技术和有效点播控制技术,防止用户快进播放视频学习,防止了用户同时学习多个视频,提高了用户的有效学习时间,提高综合能力;同时,采用零拷贝技术和先进的异步、多核架构实现服务器的高并发和高吞吐率;采用内存预读缓冲技术,极大提升了点播启动速度,采用在线视频智能虚拟分片缓存技术,减少了带宽浪费。
本发明的技术方案是:
一种基于人脸识别和缓存机制实现在线视频教育的方法,包括以下步骤:
a、接收上传的视频文件,经格式转换并审核后,发布;
b、比对用户注册时的人脸图片信息和登录时的人脸图片信息,判断识别是否成功,如果是,则登录成功,并向服务器发送获取视频地址页面的请求指令;如果否,则登录失败,可重新进行人脸识别登录;
c、获取视频地址页面后,根据所选择的视频地址进入播放界面;
d、在视频播放过程中持续识别人脸,并在识别成功后保存视频进度。
在本技术方案中,具有视频上传和视频播放功能,视频通常由编辑人员或普通用户通过WEB方式远程上传,上传完毕后,由服务器进行格式转换服务,转换完毕的视频经审核后即可发布至前端页面;然后,用户通过人脸识别技术登录进入平台观看上传的视频,人脸检测与分析给定图片(Image)中的所有人脸(Face)的位置和相应的面部属性,位置包括(x,y,w,h),面部属性包括性别(gender)、年龄(age)、表情(expression)、魅力(beauty)、眼镜(glasses)和姿态(pitch,roll,yaw),至多返回5个人脸的属性,人脸对比是计算两个人脸(Face)的相似性以及五官相似度;人脸识别通过后,用户发送一个HTTP请求到一个前端页面服务器,它返回一个包含视频地址的页面,当用户点击该视频或该视频自动播放时,页面服务器通知播放器从另一台位于某个数据中心的服务器获取视频;最后再根据人脸识别加载视频、播放视频;实现高效用户识别率,对于用户的把控力度大,能够确保在线学习的效果。
优选的,所述步骤a包括以下步骤:
a101、检测上传视频文件的扩展名,判断是否为mp4格式,如果是,则标识为已转码视频文件,并存入数据库中;反之,则标识为待转码视频文件,并存入数据库中;
a102、在数据库中查询是否有待转码视频文件,如果是,则调用FFmpeg程序,进行转码操作;如果否,则10秒后,循环本步骤;
a103、审核已转码视频文件,如果通过,则发布至前端页面;如果未通过,则不发布。
在本技术方案中,在上传视频时采用FFmpeg进行格式转码,FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,包括了领先的音/视频编码库libavcodec等,具有高可移植性和编解码质量,其中:
libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能;
libavcodec:用于各种类型声音/图像编解码;
libavutil:包含一些公共的工具函数;
libswscale:用于视频场景比例缩放、色彩映射转换;
libpostproc:用于后期效果处理;
ffmpeg:该项目提供的一个工具,可用于格式转换、解码或电视卡即时编码等;
ffsever:一个HTTP多媒体即时广播串流服务器;
ffplay:是一个简单的播放器,使用ffmpeg库解析和解码,通过SDL显示;
通过上述格式转码流程,使视频上传、发布更流畅、快速,播放更流畅,提供了丰富的RESTful API接口,采用JSON、XML等技术,提供具有上传、播放、获取视频信息、获取用户信息、删除视频、获取视频分类等,方便实现与其他应用的衔接。
优选的,所述步骤b中进行人脸注册包括以下步骤:
b101、接收用户传入的人脸图片信息,检测图片是否通过,如果通过,则返回代码“1”;如果未通过,则进入步骤b102;
b102、若检测到多个人脸,则返回代码“-2”,若没有检测到人脸,则返回代码“-1”,若检测到无法处理的人脸,则返回代码“0”;
b103、当接收到代码“1”,则判定注册成功,提取该人脸图片信息的特征码并通过唯一ID加密保存文件。
用户通过httpPost传入act=register&id=510102197907190654&pic=图片流,服务器检测图片是否通过,如果不通过则返回-2多个人脸、-1没有人脸和0无法处理的人脸;如果通过则将人脸特征保存文件,文件名为唯一ID并作加密处理,最后返回1说明注册成功。
优选的,所述步骤b中进行人脸登录包括以下步骤:
b201、接收用户传入的人脸图片信息,检测图片是否通过,如果通过,进入步骤b203;如果未通过,则进入步骤b202;
b202、若检测到多个人脸,则返回代码“-2”,若没有检测到人脸,则返回代码“-1”;
b203、通过唯一ID查找,判断内存中是否有对应的特征码,如果是,则进入步骤b206;如果否,则进入步骤b204;
b204、判断实体文件中是否有对应的特征码,如果是,则进入步骤b205;如果否,则返回代码“0”;
b205、将实体文件中对应的特征码存入内存中,并进入步骤b206;
b206、进行比对,判断比对是否成功,如果是,则返回代码“1”;如果否,则返回代码“0”;
b207、当接收到代码“1”,则判定登录成功,并向服务器发送获取视频地址页面的请求指令。
人脸比对,用户通过httpPost传入act=check&id=510102197907190654&pic=图片流,服务器检测图片是否通过,如果不通过,则返回-2多个人脸和-1没有人脸,如果通过,则通过唯一ID找到对应特征码,首先从内存中查找,如果内存中没有就去实体文件查找,如果没找到,则返回0比对失败;如果找到,首先如果没有存入内存,则根据ID将特征码存入内存,同时比对如果返回0比对失败,如果返回1比对成功。
优选的,所述步骤b中进行人脸修改包括以下步骤:
b301、接收用户传入的人脸图片信息,检测图片是否通过,如果通过,进入步骤b303;如果未通过,则进入步骤b302;
b302、若检测到多个人脸,则返回代码“-2”,若没有检测到人脸,则返回代码“-1”;
b303、判断内存中是否有对应的特征码,如果是,则修改该特征码,并更新文件;如果否,则保存新的特征码至文件中。
用户通过httpPost传入act=change&id=510102197907190654&pic=图片流,服务器检测图片是否通过,如果返回-2多个人脸和-1没有人脸则不通过,如果通过,则保存特征码在内存中,如果内存中有,则修改该特征码同时保存。
人脸识别的主要特征如下:
1、人脸信息采集,初次登陆时,要求用户面对摄像头,将脸部影像置于目标框内进行信息采集,采集完成后相关信息写入个人资料;
2、学习/考试验证,启动人脸信息验证模块并要求用户面对摄像头,将脸部影像置于目标框内进行验证通,验证过后开始学习/考试;同时,人脸信息验证模块呈现一个小窗口位于屏幕上方继续工作,如果发现用户在目标框内消失或者验证信息有误则中断当前学习/考试,要求用户再次进行人脸信息验证,验证通过后方可继续当前学习/考试;
3、监管验证,管理员对管辖用户进行查询、编辑等操作时,显示该用户记录的人脸信息以方便管理员查验是否用户本人;
4、统计报表验证,用户生成相关统计报表时会在相关统计报表中自动附加其个人资料中记录的人脸信息,以验证是否用户本人。
优选的,所述步骤d中包括以下步骤:
进入视频播放界面后,判断缓存中是否有需要验证的用户人脸信息,如果是,则抛出异常,向用户发送“有正在学习的课程,请稍后再试”的提示;如果否,则进行人脸识别;
在进行人脸识别过程中,判断是否验证通过,如果通过,则加载相应视频;如果未通过,则结束视频播放;
在加载视频后,判断缓存中是否保存有进度信息,如果是,则获取视频播放进度并跳转;如果否,则直接播放视频。
优选的,所述步骤d中还包括以下步骤:
在视频播放过程中,每隔5秒钟进行一次人脸识别,如果验证通过,则继续播放视频;如果验证未通过,则结束视频播放。
优选的,所述步骤d中还包括以下步骤:
在视频播放过程中,每隔10秒钟向缓存中写入一次进度信息,并判断缓存中是否有该用户的其余进度信息,如果是,则更新进度信息和缓存过期时间;如果否,则将当前进度信息写入缓存。
优选的,所述步骤d中还包括以下步骤:
在视频播放过程中,若接收到暂停视频或结束视频的请求,则清除缓存。
优选的,所述步骤d中还包括以下步骤:
当超过缓存过期时间未写入新的进度信息,则结束视频播放;其中,缓存过期时间为人脸识别后60秒内。
在整个步骤d中,包括了视频播放进度控制技术和视频点播控制技术,在视频播放进度控制技术中,当用户进入播放界面,如果没有通过人脸验证,则播放结束;如果通过人脸验证,则视频播放;视频播放过程中,人脸验证定时轮循,每隔5秒钟进行人脸识别一次,人脸验证未通过,则播放结束;人脸验证通过则验证结束,视频继续播放;如果人脸验证通过则加载视频,同时获取进度并将跳转,进度保存轮循,每隔10秒钟保存一次进度信息,同时服务器端保存当前进度;
在视频点播控制技术中,采用高效的人脸识别算法和缓存机制进行控制,防止用户同时学习多个视频,在视频学习,查看缓存中学习人员中是否有需要验证的人员,如果有就抛出异常,提示有正常的学习的课程请稍后再试,视频学习结束;如果没有,则进行人脸识别验证,如果人脸识别不通过,结束并返回认证失败,如果人脸识别验证通过,并写入缓存,其缓存过期时间为人脸检测时间加上60秒,结束并返回成功,继续学习;
在写入缓存时,保存进度,如果缓存中有学习人员,则更新缓存过期时间,结束并返回成功;如果缓存中没有学习人员,就写入缓存,结束并返回成功;
如果视频学习暂停,就清除缓存,结束并返回成功;
如果视频学习结束,就清除缓存,结束并返回成功。
其实现了高效的人脸识别,有效判断视频点播和在线考试是否为同一个人,实现学员学习及考试过程中的人物识别和鉴定,防止了用户快进播放视频学习以及同时学习多个视频,保证了有效学习时间,提高综合能力。
本发明的有益效果是:
1、本发明实现了高效的人脸识别,有效判断视频点播和在线考试是否为同一个人,实现学员学习及考试过程中的人物识别和鉴定。
2、基于高效的人脸识别算法和缓存机制实现了视频点播进度控制技术,防止用户快进播放视频学习,提高了用户的有效学习时间。
3、基于缓存机制和高效的人脸识别算法实现了用户有效点播控制技术,防止用户同时学习多个视频,保证了用户学习的有效性。
4、本发明采用零拷贝技术和先进的异步、多核架构,实现服务器的高并发和高吞吐率。
5、采用内存预读缓冲技术,流媒体服务平台自动根据不同格式预读取相应索引数据,极大提升了点播启动速度。
6、采用在线视频智能虚拟分片缓存技术,减少了带宽浪费。
7、系统升级扩展性好,提供了开放式接口以及二次开发接口,在用户有新需求的情况下无需对系统进行大的改动。
附图说明
图1是本发明实施例所述基于人脸识别和缓存机制实现在线视频教育的方法的整体流程图;
图2是本发明实施例所述进行视频上传的流程图;
图3是本发明实施例所述人脸识别处理流程图;
图4是本发明实施例所述视频点播控制流程图;
图5是本发明实施例所述视频播放进度控制流程图。
具体实施方式
下面结合附图对本发明的实施例进行详细说明。
实施例1
如图1所示,一种基于人脸识别和缓存机制实现在线视频教育的方法,包括以下步骤:
a、接收上传的视频文件,经格式转换并审核后,发布;
b、比对用户注册时的人脸图片信息和登录时的人脸图片信息,判断识别是否成功,如果是,则登录成功,并向服务器发送获取视频地址页面的请求指令;如果否,则登录失败,可重新进行人脸识别登录;
c、获取视频地址页面后,根据所选择的视频地址进入播放界面;
d、在视频播放过程中持续识别人脸,并在识别成功后保存视频进度。
在本实施例中,具有视频上传和视频播放功能,视频通常由编辑人员或普通用户通过WEB方式远程上传,上传完毕后,由服务器进行格式转换服务,转换完毕的视频经审核后即可发布至前端页面;然后,用户通过人脸识别技术登录进入平台观看上传的视频,人脸检测与分析给定图片(Image)中的所有人脸(Face)的位置和相应的面部属性,位置包括(x,y,w,h),面部属性包括性别(gender)、年龄(age)、表情(expression)、魅力(beauty)、眼镜(glasses)和姿态(pitch,roll,yaw),至多返回5个人脸的属性,人脸对比是计算两个人脸(Face)的相似性以及五官相似度;人脸识别通过后,用户发送一个HTTP请求到一个前端页面服务器,它返回一个包含视频地址的页面,当用户点击该视频或该视频自动播放时,页面服务器通知播放器从另一台位于某个数据中心的服务器获取视频;最后再根据人脸识别加载视频、播放视频;实现高效用户识别率,对于用户的把控力度大,能够确保在线学习的效果。
实施例2
本实施例在实施例1的基础上,如图2所示,所述步骤a包括以下步骤:
a101、检测上传视频文件的扩展名,判断是否为mp4格式,如果是,则标识为已转码视频文件,并存入数据库中;反之,则标识为待转码视频文件,并存入数据库中;
a102、在数据库中查询是否有待转码视频文件,如果是,则调用FFmpeg程序,进行转码操作;如果否,则10秒后,循环本步骤;
a103、审核已转码视频文件,如果通过,则发布至前端页面;如果未通过,则不发布。
在本实施例中,在上传视频时采用FFmpeg进行格式转码,FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,包括了领先的音/视频编码库libavcodec等,具有高可移植性和编解码质量,其中:
libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能;
libavcodec:用于各种类型声音/图像编解码;
libavutil:包含一些公共的工具函数;
libswscale:用于视频场景比例缩放、色彩映射转换;
libpostproc:用于后期效果处理;
ffmpeg:该项目提供的一个工具,可用于格式转换、解码或电视卡即时编码等;
ffsever:一个HTTP多媒体即时广播串流服务器;
ffplay:是一个简单的播放器,使用ffmpeg库解析和解码,通过SDL显示;
通过上述格式转码流程,使视频上传、发布更流畅、快速,播放更流畅,提供了丰富的RESTful API接口,采用JSON、XML等技术,提供具有上传、播放、获取视频信息、获取用户信息、删除视频、获取视频分类等,方便实现与其他应用的衔接。
实施例3
本实施例在实施例1的基础上,如图3所示,所述步骤b中进行人脸注册包括以下步骤:
b101、接收用户传入的人脸图片信息,检测图片是否通过,如果通过,则返回代码“1”;如果未通过,则进入步骤b102;
b102、若检测到多个人脸,则返回代码“-2”,若没有检测到人脸,则返回代码“-1”,若检测到无法处理的人脸,则返回代码“0”;
b103、当接收到代码“1”,则判定注册成功,提取该人脸图片信息的特征码并通过唯一ID加密保存文件。
用户通过httpPost传入act=register&id=510102197907190654&pic=图片流,服务器检测图片是否通过,如果不通过则返回-2多个人脸、-1没有人脸和0无法处理的人脸;如果通过则将人脸特征保存文件,文件名为唯一ID并作加密处理,最后返回1说明注册成功。
实施例4
本实施例在实施例1的基础上,如图3所示,所述步骤b中进行人脸登录包括以下步骤:
b201、接收用户传入的人脸图片信息,检测图片是否通过,如果通过,进入步骤b203;如果未通过,则进入步骤b202;
b202、若检测到多个人脸,则返回代码“-2”,若没有检测到人脸,则返回代码“-1”;
b203、通过唯一ID查找,判断内存中是否有对应的特征码,如果是,则进入步骤b206;如果否,则进入步骤b204;
b204、判断实体文件中是否有对应的特征码,如果是,则进入步骤b205;如果否,则返回代码“0”;
b205、将实体文件中对应的特征码存入内存中,并进入步骤b206;
b206、进行比对,判断比对是否成功,如果是,则返回代码“1”;如果否,则返回代码“0”;
b207、当接收到代码“1”,则判定登录成功,并向服务器发送获取视频地址页面的请求指令。
人脸比对,用户通过httpPost传入act=check&id=510102197907190654&pic=图片流,服务器检测图片是否通过,如果不通过,则返回-2多个人脸和-1没有人脸,如果通过,则通过唯一ID找到对应特征码,首先从内存中查找,如果内存中没有就去实体文件查找,如果没找到,则返回0比对失败;如果找到,首先如果没有存入内存,则根据ID将特征码存入内存,同时比对如果返回0比对失败,如果返回1比对成功。
实施例5
本实施例在实施例1的基础上,如图3所示,所述步骤b中进行人脸修改包括以下步骤:
b301、接收用户传入的人脸图片信息,检测图片是否通过,如果通过,进入步骤b303;如果未通过,则进入步骤b302;
b302、若检测到多个人脸,则返回代码“-2”,若没有检测到人脸,则返回代码“-1”;
b303、判断内存中是否有对应的特征码,如果是,则修改该特征码,并更新文件;如果否,则保存新的特征码至文件中。
用户通过httpPost传入act=change&id=510102197907190654&pic=图片流,服务器检测图片是否通过,如果返回-2多个人脸和-1没有人脸则不通过,如果通过,则保存特征码在内存中,如果内存中有,则修改该特征码同时保存。
实施例6
本实施例在实施例1的基础上,如图4和图5所示,所述步骤d中包括以下步骤:
进入视频播放界面后,判断缓存中是否有需要验证的用户人脸信息,如果是,则抛出异常,向用户发送“有正在学习的课程,请稍后再试”的提示;如果否,则进行人脸识别;
在进行人脸识别过程中,判断是否验证通过,如果通过,则加载相应视频;如果未通过,则结束视频播放;
在加载视频后,判断缓存中是否保存有进度信息,如果是,则获取视频播放进度并跳转;如果否,则直接播放视频。
实施例7
本实施例在实施例6的基础上,如图5所示,所述步骤d中还包括以下步骤:
在视频播放过程中,每隔5秒钟进行一次人脸识别,如果验证通过,则继续播放视频;如果验证未通过,则结束视频播放。
实施例8
本实施例在实施例6的基础上,如图4和图5所示,所述步骤d中还包括以下步骤:
在视频播放过程中,每隔10秒钟向缓存中写入一次进度信息,并判断缓存中是否有该用户的其余进度信息,如果是,则更新进度信息和缓存过期时间;如果否,则将当前进度信息写入缓存。
实施例9
本实施例在实施例6的基础上,如图4所示,所述步骤d中还包括以下步骤:
在视频播放过程中,若接收到暂停视频或结束视频的请求,则清除缓存。
实施例10
本实施例在实施例6的基础上,如图4所示,所述步骤d中还包括以下步骤:
当超过缓存过期时间未写入新的进度信息,则结束视频播放;其中,缓存过期时间为人脸识别后60秒内。
本发明采用了内存预读缓冲技术、零拷贝技术、在线视频智能虚拟分片缓存技术,以及基于人脸识别技术和缓存机制实现了视频播放进度控制技术和视频点播控制技术;其中:
一、内存预读缓冲技术
磁盘I/O性能的发展远远滞后于CPU和内存,因而成为现代计算机系统的一个主要瓶颈;磁盘的机械臂+旋转盘片的数据定位与读取方式,决定了它最突出的性能特点:擅长顺序读写,不善于随机I/O,I/O延迟非常大,预读可以有效的减少磁盘的寻道次数和应用程序的I/O等待时间,是改进磁盘读I/O性能的重要优化手段之一;预读涉及到流媒体系统各个方面,首先,由于视频文件通常比较大,文件格式多样,当用户点播开始时会无序搜寻响应数据导致磁盘响应速度下降,当并发用户多时尤为明显;针对这一特点,本发明自动根据不同格式预读取相应索引数据,极大提升点播启动速度。
二、零拷贝技术
传统的文件网络传输,在实现上其实是比较复杂的,需要经过多次上下文的切换,当需要对一个文件进行传输的时候,其具体流程细节如下:
1、调用read函数,文件数据被copy到内核缓冲区;
2、read函数返回,文件数据从内核缓冲区copy到用户缓冲区;
3、write函数调用,将文件数据从用户缓冲区copy到内核与socket相关的缓冲区;
4、数据从socket缓冲区copy到相关协议引擎;
以上细节是传统read/write方式进行网络文件传输的方式,我们可以看到,在这个过程当中,文件数据实际上是经过了四次copy操作:
硬盘—>内核buf—>用户buf—>socket相关缓冲区—>协议引擎
而本发明采用零拷贝内核模式运行流程如下:
1、文件数据被copy至内核缓冲区;
2、再从内核缓冲区copy至内核中socket相关的缓冲区;
3、最后再socket相关的缓冲区copy到协议引擎;
相较传统read/write方式,减少了内核缓冲区到user缓冲区,再由user缓冲区到socket相关缓冲区的文件copy,极大提升了整体系统性能。
三、在线视频智能虚拟分片缓存技术
本发明关键业务流程是视音频点播,采用的关键技术是在线视频智能虚拟分片缓存技术;通常情况,由于视频文件很大,大部分用户不会看完,大部分长视频观看行为都只会看一半不到,觉得不好看就会关掉,如果恰好用户网速很好,那他打开播放页这段时间,就会快速下载大量数据,但因为他又没观看,所以这些数据就浪费掉了,对平台来说就是浪费;为了减少带宽浪费,采用智能虚拟分片缓存技术,无需事先对文件进行物理切片保存,可根据视频码率、用户行为以及播放缓存进度来控制数据下载,并确保客户端播放流畅,这样,就可以大大减少带宽的浪费,从而起到节省带宽的作用。
四、人脸识别技术
人脸检测与分析给定图片(Image)中的所有人脸(Face)的位置和相应的面部属性,位置包括(x,y,w,h),面部属性包括性别(gender),年龄(age),表情(expression),魅力(beauty),眼镜(glasses)和姿态(pitch,roll,yaw),至多返回5个人脸的属性,人脸对比是计算两个人脸(Face)的相似性以及五官相似度。人脸识别的主要特征如下:
1、人脸信息采集,初次登陆时,要求用户面对摄像头,将脸部影像置于目标框内进行信息采集,采集完成后相关信息写入个人资料;
2、学习/考试验证,启动人脸信息验证模块并要求用户面对摄像头,将脸部影像置于目标框内进行验证通,验证过后开始学习/考试;同时,人脸信息验证模块呈现一个小窗口位于屏幕上方继续工作,如果发现用户在目标框内消失或者验证信息有误则中断当前学习/考试,要求用户再次进行人脸信息验证,验证通过后方可继续当前学习/考试;
3、监管验证,管理员对管辖用户进行查询、编辑等操作时,显示该用户记录的人脸信息以方便管理员查验是否用户本人;
4、统计报表验证,用户生成相关统计报表时会在相关统计报表中自动附加其个人资料中记录的人脸信息,以验证是否用户本人。
五、视频播放进度控制技术
当用户进入播放界面,如果没有通过人脸验证,则播放结束;如果通过人脸验证,则视频播放;视频播放过程中,人脸验证定时轮循,每隔5秒钟进行人脸识别一次,人脸验证未通过,则播放结束;人脸验证通过则验证结束,视频继续播放;如果人脸验证通过则加载视频,同时获取进度并将跳转,进度保存轮循,每隔10秒钟保存一次进度信息,同时服务器端保存当前进度。
六、视频点播控制技术
采用高效的人脸识别算法和缓存机制进行控制,防止用户同时学习多个视频,在视频学习,查看缓存中学习人员中是否有需要验证的人员,如果有就抛出异常,提示有正常的学习的课程请稍后再试,视频学习结束;如果没有,则进行人脸识别验证,如果人脸识别不通过,结束并返回认证失败,如果人脸识别验证通过,并写入缓存,其缓存过期时间为人脸检测时间加上60秒,结束并返回成功,继续学习;
在写入缓存时,保存进度,如果缓存中有学习人员,则更新缓存过期时间,结束并返回成功;如果缓存中没有学习人员,就写入缓存,结束并返回成功;
如果视频学习暂停,就清除缓存,结束并返回成功;
如果视频学习结束,就清除缓存,结束并返回成功。
其实现了高效的人脸识别,有效判断视频点播和在线考试是否为同一个人,实现学员学习及考试过程中的人物识别和鉴定,防止了用户快进播放视频学习以及同时学习多个视频,保证了有效学习时间,提高综合能力。
以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

Claims (9)

1.一种基于人脸识别和缓存机制实现在线视频教育的方法,其特征在于,包括以下步骤:
a、接收上传的视频文件,经格式转换并审核后,发布;
b、比对用户注册时的人脸图片信息和登录时的人脸图片信息,判断识别是否成功,如果是,则登录成功,并向服务器发送获取视频地址页面的请求指令;如果否,则登录失败,可重新进行人脸识别登录;
c、获取视频地址页面后,根据所选择的视频地址进入播放界面;
d、在视频播放过程中持续识别人脸,并在识别成功后保存视频进度;
所述步骤d中包括以下步骤:
进入视频播放界面后,判断缓存中是否有需要验证的用户人脸信息,如果是,则抛出异常,向用户发送“有正在学习的课程,请稍后再试”的提示;如果否,则进行人脸识别;
在进行人脸识别过程中,判断是否验证通过,如果通过,则加载相应视频;如果未通过,则结束视频播放;
在加载视频后,判断缓存中是否保存有进度信息,如果是,则获取视频播放进度并跳转;如果否,则直接播放视频。
2.根据权利要求1所述的基于人脸识别和缓存机制实现在线视频教育的方法,其特征在于,所述步骤a包括以下步骤:
a101、检测上传视频文件的扩展名,判断是否为mp4格式,如果是,则标识为已转码视频文件,并存入数据库中;反之,则标识为待转码视频文件,并存入数据库中;
a102、在数据库中查询是否有待转码视频文件,如果是,则调用FFmpeg程序,进行转码操作;如果否,则10秒后,循环本步骤;
a103、审核已转码视频文件,如果通过,则发布至前端页面;如果未通过,则不发布。
3.根据权利要求1所述的基于人脸识别和缓存机制实现在线视频教育的方法,其特征在于,所述步骤b中进行人脸注册包括以下步骤:
b101、接收用户传入的人脸图片信息,检测图片是否通过,如果通过,则返回代码“1”;如果未通过,则进入步骤b102;
b102、若检测到多个人脸,则返回代码“-2”,若没有检测到人脸,则返回代码“-1”,若检测到无法处理的人脸,则返回代码“0”;
b103、当接收到代码“1”,则判定注册成功,提取该人脸图片信息的特征码并通过唯一ID加密保存文件。
4.根据权利要求1或3所述的基于人脸识别和缓存机制实现在线视频教育的方法,其特征在于,所述步骤b中进行人脸登录包括以下步骤:
b201、接收用户传入的人脸图片信息,检测图片是否通过,如果通过,进入步骤b203;如果未通过,则进入步骤b202;
b202、若检测到多个人脸,则返回代码“-2”,若没有检测到人脸,则返回代码“-1”;
b203、通过唯一ID查找,判断内存中是否有对应的特征码,如果是,则进入步骤b206;如果否,则进入步骤b204;
b204、判断实体文件中是否有对应的特征码,如果是,则进入步骤b205;如果否,则返回代码“0”;
b205、将实体文件中对应的特征码存入内存中,并进入步骤b206;
b206、进行比对,判断比对是否成功,如果是,则返回代码“1”;如果否,则返回代码“0”;
b207、当接收到代码“1”,则判定登录成功,并向服务器发送获取视频地址页面的请求指令。
5.根据权利要求4所述的基于人脸识别和缓存机制实现在线视频教育的方法,其特征在于,所述步骤b中进行人脸修改包括以下步骤:
b301、接收用户传入的人脸图片信息,检测图片是否通过,如果通过,进入步骤b303;如果未通过,则进入步骤b302;
b302、若检测到多个人脸,则返回代码“-2”,若没有检测到人脸,则返回代码“-1”;
b303、判断内存中是否有对应的特征码,如果是,则修改该特征码,并更新文件;如果否,则保存新的特征码至文件中。
6.根据权利要求1所述的基于人脸识别和缓存机制实现在线视频教育的方法,其特征在于,所述步骤d中还包括以下步骤:
在视频播放过程中,每隔5秒钟进行一次人脸识别,如果验证通过,则继续播放视频;如果验证未通过,则结束视频播放。
7.根据权利要求1所述的基于人脸识别和缓存机制实现在线视频教育的方法,其特征在于,所述步骤d中还包括以下步骤:
在视频播放过程中,每隔10秒钟向缓存中写入一次进度信息,并判断缓存中是否有该用户的其余进度信息,如果是,则更新进度信息和缓存过期时间;如果否,则将当前进度信息写入缓存。
8.根据权利要求1所述的基于人脸识别和缓存机制实现在线视频教育的方法,其特征在于,所述步骤d中还包括以下步骤:
在视频播放过程中,若接收到暂停视频或结束视频的请求,则清除缓存。
9.根据权利要求1所述的基于人脸识别和缓存机制实现在线视频教育的方法,其特征在于,所述步骤d中还包括以下步骤:
当超过缓存过期时间未写入新的进度信息,则结束视频播放;其中,缓存过期时间为人脸识别后60秒内。
CN201810501894.0A 2018-05-23 2018-05-23 基于人脸识别和缓存机制实现在线视频教育的方法 Active CN108683946B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810501894.0A CN108683946B (zh) 2018-05-23 2018-05-23 基于人脸识别和缓存机制实现在线视频教育的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810501894.0A CN108683946B (zh) 2018-05-23 2018-05-23 基于人脸识别和缓存机制实现在线视频教育的方法

Publications (2)

Publication Number Publication Date
CN108683946A CN108683946A (zh) 2018-10-19
CN108683946B true CN108683946B (zh) 2020-10-27

Family

ID=63807749

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810501894.0A Active CN108683946B (zh) 2018-05-23 2018-05-23 基于人脸识别和缓存机制实现在线视频教育的方法

Country Status (1)

Country Link
CN (1) CN108683946B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109743398B (zh) * 2019-01-14 2022-01-28 平安科技(深圳)有限公司 基于云计算的远程视频稽核方法、系统及计算机设备
CN110267118B (zh) * 2019-06-18 2022-12-02 北京奇艺世纪科技有限公司 一种视频发布方法和装置及计算机可读存储介质
CN112822552B (zh) * 2021-01-11 2023-06-09 湖南新云网科技有限公司 多媒体资源加载方法、装置、设备及计算机存储介质
CN113095198A (zh) * 2021-04-06 2021-07-09 上海网梯数码科技有限公司 一种基于学习者行为的ai考核方法
CN114205645A (zh) * 2021-12-10 2022-03-18 北京凯视达信息技术有限公司 分布式视频内容审核方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104464406A (zh) * 2013-09-12 2015-03-25 郑州学生宝电子科技有限公司 一种实时互动的在线学习平台
CN107181967A (zh) * 2017-04-01 2017-09-19 北京潘达互娱科技有限公司 一种视频显示方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140026156A1 (en) * 2012-07-18 2014-01-23 David Deephanphongs Determining User Interest Through Detected Physical Indicia
CN104394456B (zh) * 2014-11-20 2017-12-01 福建星网视易信息系统有限公司 一种嵌入式环境下音视频解码的方法及装置
CN104811747A (zh) * 2015-04-27 2015-07-29 无锡天脉聚源传媒科技有限公司 一种视频转码方法及装置
CN105828105B (zh) * 2015-12-10 2019-02-22 广东亿迅科技有限公司 一种基于分布式环境的视频转码系统及视频转码方法
CN105704400B (zh) * 2016-04-26 2018-10-26 山东大学 一种基于多平台终端和云服务的学习系统及其运行方法
CN106982224A (zh) * 2017-04-28 2017-07-25 南京网博计算机软件系统有限公司 实时身份验证识别的方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104464406A (zh) * 2013-09-12 2015-03-25 郑州学生宝电子科技有限公司 一种实时互动的在线学习平台
CN107181967A (zh) * 2017-04-01 2017-09-19 北京潘达互娱科技有限公司 一种视频显示方法及装置

Also Published As

Publication number Publication date
CN108683946A (zh) 2018-10-19

Similar Documents

Publication Publication Date Title
CN108683946B (zh) 基于人脸识别和缓存机制实现在线视频教育的方法
US9881085B2 (en) Methods, systems, and media for aggregating and presenting multiple videos of an event
US10733452B2 (en) Brand safety in video content
Prabhakaran Multimedia database management systems
JP2019161636A (ja) スマートテレビの音声インタラクティブフィードバック方法、システム及びコンピュータプログラム
CN111209440A (zh) 一种视频播放方法、装置和存储介质
CN111611434A (zh) 一种线上课程互动方法及互动平台
CN112100440B (zh) 视频推送方法、设备及介质
US10740618B1 (en) Tracking objects in live 360 video
CN101563907A (zh) 用于表示层协议数据流的记录及实时回放和搜索的方法和系统
JP5064140B2 (ja) ストリーミング情報の再生制御方法
CN114139491A (zh) 一种数据处理方法、装置及存储介质
CN113301393A (zh) 流媒体数据的播放与互动方法、装置、系统及存储介质
US20230306969A1 (en) Systems and methods for determining traits based on voice analysis
JP5043711B2 (ja) ビデオ評価装置及び方法
CN109101964B (zh) 确定多媒体文件中首尾区域的方法、设备及存储介质
KR100834543B1 (ko) 실시간 프리젠테이션 파일 공유 방법 및 장치
CN111723218A (zh) 一种多源内容的课件的数据处理方法以及服务器
US20220312079A1 (en) Systems and methods to provide adaptive play settings
Ohnishi et al. Prototype design of playback and search system for lecture video content using google cloud api
CN111327943B (zh) 信息管理方法及装置、系统、计算机设备、存储介质
US11893699B2 (en) Method and processing unit for providing content in a bandwidth constrained environment
CN109889916A (zh) 录播数据的应用系统
Mahipal Design, implementation and effectiveness of classtranscribe
US11829413B1 (en) Temporal localization of mature content in long-form videos using only video-level labels

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A Method for Implementing Online Video Education Based on Face Recognition and Caching Mechanism

Effective date of registration: 20230905

Granted publication date: 20201027

Pledgee: CHENGDU PVIRTECH Co.,Ltd.

Pledgor: CHENGDU INTELLIGENT & OMNIPOTENT TECHNOLOGY CO.,LTD.

Registration number: Y2023980055292

PE01 Entry into force of the registration of the contract for pledge of patent right