CN117957843A - 马赛克视频播放控制系统、方法、电子设备及存储介质 - Google Patents
马赛克视频播放控制系统、方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117957843A CN117957843A CN202380013599.XA CN202380013599A CN117957843A CN 117957843 A CN117957843 A CN 117957843A CN 202380013599 A CN202380013599 A CN 202380013599A CN 117957843 A CN117957843 A CN 117957843A
- Authority
- CN
- China
- Prior art keywords
- video
- frame
- mosaic
- frames
- sensitive information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000012545 processing Methods 0.000 claims abstract description 115
- 238000001514 detection method Methods 0.000 claims abstract description 25
- 238000009877 rendering Methods 0.000 claims abstract description 15
- 238000005538 encapsulation Methods 0.000 claims abstract description 12
- 238000004590 computer program Methods 0.000 claims description 27
- 238000004806 packaging method and process Methods 0.000 claims description 10
- 238000007726 management method Methods 0.000 claims description 7
- 238000007781 pre-processing Methods 0.000 claims description 7
- 238000013523 data management Methods 0.000 claims description 6
- 230000011664 signaling Effects 0.000 claims description 5
- 230000003139 buffering effect Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 9
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000391 smoking effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供一种马赛克视频播放控制系统、方法、电子设备及存储介质,系统包括设备端、服务端和浏览器端,设备端用于采集视频数据并对视频数据中的视频帧分别进行编码处理和敏感信息检测,获得视频帧对应的编码帧和视频帧中的敏感信息,将敏感信息添加在编码帧的协议头中,获得第一视频文件,将第一视频文件上传至服务端;服务端用于根据用户的视频播放请求,对第一视频文件进行封装处理,得到第二视频文件,将第二视频文件传输给浏览器端;浏览器端用于接收第二视频文件,对第二视频文件中的视频帧进行马赛克处理,获得马赛克视频,对马赛克视频进行渲染播放。该系统可以降低存储成本、提升视频并发量、提高响应速度和支持无插件动态播放。
Description
技术领域
本申请涉及视频处理技术领域,尤其涉及一种马赛克视频播放控制系统、方法、电子设备及存储介质。
背景技术
随着人工智能、视频感知、激光雷达、毫米波雷达等技术的快速发展,交通行业的智能视频监控系统也越来越智能化,不仅能够满足远程访问设备音视频资源的基本需求,还具备展示设备分析的如抽烟、打电话、疲劳驾驶、人脸、车辆型号、车牌号、行人信息等一系列AI(Artificial Intelligence,人工智能)信息的能力,能够通过大数据分析对安全隐患进行提前预警,提升道路行驶安全。然而,视频监控系统所采集的视频中包含有如车牌、人脸等关于车辆、司机、乘客和行人的隐私信息。为了保证隐私信息不被泄漏,目前常用的方法是对视频中的人脸和车牌信息进行马赛克处理,具体通过将视频文件上传至服务端,由服务端对视频文件进行隐私信息检测和马赛克处理,获得该视频文件对应的马赛克视频文件。这种方法在马赛克处理过程中无法立即播放马赛克视频,视频文件马赛克区域识别和打码需要消耗时间,视频时长越长,用户等待播放的时间就越长,容易影响普通用户播放体验。而且,这种方法在服务端需要同时存储原始视频文件和马赛克视频文件,会额外消耗一倍存储空间,存储成本较高。
发明内容
有鉴于此,本申请实施例提供了一种马赛克视频播放控制系统、方法、电子设备及存储介质,旨在实现降低服务端存储成本、提升服务端视频并发量、提高视频播放响应速度以及支持无插件动态播放马赛克视频中的至少一种效果。
本申请实施例的第一方面提供了一种马赛克视频播放控制系统,所述系统包括设备端、服务端和浏览器端,其中:所述设备端,用于采集视频数据并对所述视频数据中的视频帧分别进行编码处理和敏感信息检测,获得所述视频帧对应的编码帧和所述视频帧中的敏感信息,将所述敏感信息添加在所述编码帧的协议头中,获得第一视频文件,将所述第一视频文件上传至所述服务端;所述服务端,用于根据用户的视频播放请求,对所述设备端上传的第一视频文件进行封装处理,将封装后得到的第二视频文件传输给所述浏览器端;所述浏览器端,用于接收所述服务端传输的第二视频文件,对所述第二视频文件中的视频帧进行马赛克处理,获得马赛克视频,对所述马赛克视频进行渲染播放。
在一种可能实现方式中,所述浏览器端包括js层和wasm层,所述js层中配置有视频拉流模块和渲染播放模块,所述wasm层中配置有解封装处理模块、视频帧缓冲模块、解码处理模块和马赛克处理模块,其中:所述视频拉流模块,用于从所述服务端拉取第二视频文件;所述解封装处理模块,用于对所述第二视频文件进行解封装处理,获得多个视频编码帧;所述视频帧缓冲模块,用于按照所述多个视频编码帧各自对应的时间戳,将所述多个视频编码帧依次缓存到缓冲队列中;所述解码处理模块,用于对所述缓冲队列中的视频编码帧按照顺序进行解码处理,获得每个视频编码帧各自对应的视频原始帧;所述马赛克处理模块,用于针对所述缓冲队列中缓存的每个视频编码帧,根据所述视频编码帧携带的敏感信息或所述缓冲队列中与所述视频编码帧匹配的关联视频帧携带的敏感信息,对所述视频编码帧对应的视频原始帧进行马赛克处理,获得马赛克视频;所述渲染播放模块,用于对所述马赛克视频进行渲染播放。
在一种可能实现方式中,所述马赛克处理模块,还用于在所述视频编码帧未携带敏感信息的情况下,对所述视频编码帧对应的视频原始帧进行画面防抖动处理。
在一种可能实现方式中,所述设备端包括视频采集模块、视频编码模块、敏感信息检测模块和视频帧预处理模块,其中:所述视频采集模块,用于进行视频采集,获得视频流;所述视频编码模块,用于对所述视频流中的视频帧进行编码处理,获得视频编码帧;所述敏感信息检测模块,用于对所述视频流中的视频帧进行敏感信息检测,获得所述视频帧的敏感信息;所述视频帧预处理模块,用于将所述视频帧的敏感信息添加到所述视频编码帧的协议头中,以生成所述第一视频文件。
在一种可能实现方式中,所述服务端包括数据管理模块和媒体服务模块,其中:所述数据管理模块,用于接收所述设备端上传的第一视频文件以及将所述第一视频文件进行保存至存储空间中;所述媒体服务模块,用于根据用户的视频播放请求,从所述存储空间中获取所述第一视频文件并对所述第一视频文件进行FLV格式封装,获得封装后的第二视频文件,将所述第二视频文件传输给所述浏览器端。
在一种可能实现方式中,所述服务端还包括设备管理模块,其中:所述设备管理模块,用于对所述设备端进行身份认证并建立与所述设备端之间的信令链路,以确认所述设备端的在线状态。
本申请实施例的第二方面提供了一种马赛克视频播放方法,所述方法应用在如第一方面所述的马赛克视频播放控制系统的浏览器端,包括:从服务端拉取第二视频文件;对所述第二视频文件进行解封装处理,获取所述第二视频文件中的视频编码帧;针对所述第二视频文件中的每个视频编码帧,对所述视频编码帧进行解码处理,获得所述视频编码帧对应的视频原始帧;根据所述视频编码帧携带的敏感信息或与所述视频编码帧匹配的关联视频帧携带的敏感信息,对所述视频编码帧对应的视频原始帧进行马赛克处理,获得马赛克视频;调用WebGL组件对所述马赛克视频进行渲染播放。
在一种可能实现方式中,所述根据所述视频编码帧携带的敏感信息或与所述视频编码帧匹配的关联视频帧携带的敏感信息,对所述视频编码帧对应的视频原始帧进行马赛克处理,获得马赛克视频的步骤,包括:按照所述视频编码帧的时间戳顺序,针对所述第二视频文件中的每个视频编码帧,判断所述视频编码帧是否携带有敏感信息;若所述视频编码帧携带有敏感信息,则根据所述视频编码帧携带的敏感信息,确定需要进行马赛克处理的区域位置,按照所述区域位置对所述视频编码帧对应的视频原始帧进行马赛克处理;若所述视频编码帧未携带有敏感信息,则根据与所述视频编码帧匹配的关联视频帧携带的敏感信息,确定需要进行马赛克处理的区域位置,按照所述区域位置对所述视频编码帧对应的视频原始帧进行马赛克处理。
在一种可能实现方式中,所述根据与所述视频编码帧匹配的关联视频帧携带的敏感信息,确定需要进行马赛克处理的区域位置,按照所述区域位置对所述视频编码帧对应的视频原始帧进行马赛克处理的步骤,包括:计算所述视频编码帧的时间戳与所述视频编码帧匹配的关联视频帧的时间戳之间的时间差值;判断所述时间差值是否超出预设阈值,若所述时间差值未超出预设时间阈值,则根据与所述视频编码帧匹配的关联视频帧携带的敏感信息,确定需要进行马赛克处理的区域位置,按照所述区域位置对所述视频编码帧对应的视频原始帧进行马赛克处理。
本申请实施例的第三方面提供了一种马赛克视频播放方法,所述方法应用在如第一方面所述马赛克视频播放控制系统的服务端,包括:接收用户的视频播放请求,所述视频播放请求中携带有所述用户的身份信息;根据所述用户的身份信息,确定所述用户的权限,其中,所述用户的权限包括普通用户权限和管理员用户权限;从存储空间中获取与所述视频播放请求匹配的第一视频文件,若所述用户的权限为管理员用户权限,则对所述第一视频文件直接进行FLV格式封装;若所述用户权限为普通用户权限,则针对所述第一视频文件中的视频编码帧扩展SEI NALU单元并在所述SEI NALU单元主体中添加所述视频编码帧的敏感信息,对扩展有SEI NALU单元的视频编码帧进行FLV格式封装,获得封装后的第二视频文件;响应于所述用户的视频播放请求,将所述第二视频文件传输至所述浏览器端。
本申请实施例的第四方面提供了一种马赛克视频播放方法,所述方法应用在如第一方面所述的马赛克视频播放控制系统的设备端,包括:在设备端处于开机状态下进行视频采集,获得视频流;对所述视频流中的视频帧分别进行编码处理和敏感信息检测处理,获得所述视频帧对应的视频编码帧和所述视频帧中的敏感信息;将所述视频帧中的敏感信息添加到所述视频编码帧的协议头中,以生成第一视频文件。
本申请实施例的第五方面提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如第二方面、第三方面以及第四方面中任意一项所述方法的步骤。
本申请实施例的第六方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如第二方面、第三方面以及第四方面中任意一项所述方法的步骤。
本申请实施例的第七方面提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时实现如第二方面、第三方面以及第四方面中任意一项所述方法的各步骤。
本申请实施例与现有技术相比存在的有益效果是:
本申请通过设备端用于采集视频数据并对视频数据中的视频帧分别进行编码处理和敏感信息检测,获得视频帧对应的编码帧和视频帧中的敏感信息,将敏感信息添加在编码帧的协议头中,获得第一视频文件,将第一视频文件上传至服务端;服务端用于根据用户的视频播放请求,对第一视频文件进行封装处理,得到第二视频文件,将第二视频文件传输给浏览器端;浏览器端用于接收第二视频文件,对第二视频文件中的视频帧进行马赛克处理,获得马赛克视频,对马赛克视频进行渲染播放,可以降低服务端存储成本、提升服务端视频并发量、提高视频播放响应速度以及支持无插件动态播放马赛克视频。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种马赛克视频播放控制系统的基本结构示意图;
图2为本申请实施例提供的马赛克视频播放控制系统中浏览器端的一种结构示意图;
图3为本申请实施例提供的马赛克视频播放控制系统中设备端的一种结构示意图;
图4为本申请实施例提供的马赛克视频播放控制系统中服务端的一种结构示意图;
图5为本申请实施例提供的一种应用在浏览器端的马赛克视频播放方法的实现流程图;
图6为本申请实施例提供的应用在浏览器端的马赛克视频播放方法中进行马赛克处理的一种实现流程图;
图7为本申请实施例提供的应用在浏览器端的马赛克视频播放方法中进行马赛克处理的另一种实现流程图;
图8为本申请实施例提供的一种视频帧序列的示意图;
图9为本申请实施例提供的一种应用在服务端的马赛克视频播放方法的实现流程图;
图10为本申请的实施例提供的一种应用在设备端的马赛克视频播放方法的实现流程图;
图11为本申请实施例提供的一种电子设备的基本结构框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。“多个”表示“两个或两个以上”。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请的一些实施例中,请参阅图1,图1为本申请实施例提供的一种马赛克视频播放控制系统的基本结构示意图,如图1所示,马赛克视频播放控制系统中主要包括设备端10、服务端20和浏览器端30,通过三端交互,可以对视频流边进行马赛克边进行渲染播放,实现了动态马赛克视频播放。
在本实施例中,设备端10用于采集视频数据并对视频数据中的视频帧分别进行编码处理和敏感信息检测,获得视频帧对应的编码帧和视频帧中的敏感信息,将敏感信息添加在编码帧的协议头中,获得第一视频文件,将第一视频文件上传至服务端。在一种具体的实施例方式中,可以对每个视频帧都进行编码处理和敏感信息检测处理,针对每个视频帧,将从视频帧中检测到的敏感信息添加到该视频帧对应编码得到的编码帧的协议头中。在另一种具体的实施方式中,则可以对视频数据中的视频帧按照跳帧策略进行敏感信息检测,按照获得敏感信息的时间,将当前检测得到的敏感信息添加到当前编码得到的编码帧的协议头中。在本实施例中,通过敏感信息检测可以获得视频帧中的人脸和车牌号等敏感信息,其中,敏感信息包括视频帧中人脸和车牌号各自所在的位置信息,位置信息包括横坐标、纵坐标、宽度和高度等信息。通过将敏感信息添加到编码帧的协议头中,额外占用的存储空间非常小,可以节省存储成本。
在本实施例中,服务端20用于根据用户的视频播放请求,对设备端10上传的第一视频文件进行封装处理,获得封装后的第二视频文件,将第二视频文件传输给浏览器端30。具体地,服务端20获得设备端10上传的第一视频文件后,可以直接将第一视频文件存储在服务端20的存储空间中。当用户需要播放设备端上传的视频文件时,可以在浏览器端30请求播放,浏览器端30会将用户的视频播放请求发送给服务端20。服务端20在接收到用户的视频播放请求后,可以根据视频播放请求,从存储空间中获得与该视频播放请求匹配的第一视频文件,从而通过将第一视频文件中的视频帧进行FLV格式封装,获得封装后的第二视频文件,将第二视频文件传输给浏览器端30。可以理解的是,FLV是随着Flash MX的推出发展而来的一种流媒体视频格式,所形成的文件小、加载速度快。需要说明的是,第二视频文件中的视频帧,会在视频帧前面扩展一个SEI NALU单元,在NALU单元主体中记录视频帧所携带的敏感信息,不会破坏H264/H265原始视频帧结构,能够使用标准的HTTP-FLV、HLS、RTMP等流媒体传输协议进行音视频数据分发,不会破坏流媒体传输协议的标准性,具备良好的通用性和扩展性。可以理解的是,SEI(Supplemental Enhancement Information,补充增强信息),提供了向视频码流中添加额外信息的方法,是H264/H265视频压缩标准的一种特性。NALU(Network Abstraction Layer Unit,网络抽象单元),用于将视频编码层提供的数据进行封装,应用于网络传输。HTTP-FLV(Flash Video Over Http)是指一种基于HTTP的FLV音视频数据的传输协议。HLS(Http Live Streaming)是指基于HTTP的流媒体网络传输协议。RTMP(Real Time Messaging Protocol,实时消息传输协议)是指一种Flash播放器和服务器直接音频、视频和数据传输的开放协议。服务端20在马赛克视频播放控制系统中只需提供FLV格式封装和视频数据转发功能,占用CPU(Central Processing Unit,中央处理器)和GPU(Graphics Processing Unit,图形处理器)资源少,可以提升服务端20的视频并发量。由于设备端10已将敏感信息识别出来并附加在视频帧的协议头中,无需服务端20来进行信息识别,只需进行FLV格式封装即可传输给浏览器端30,可以提高视频播放的响应速度。
在本实施例中,浏览器端30用于接收服务端20传输的第二视频文件,对第二视频文件中的视频帧进行马赛克处理,获得马赛克视频,对马赛克视频进行渲染播放。具体地,浏览器端30作为播放视频的客户端,可以与用户之间实现人机交互,用户可以通过在浏览器端30的交互界面中执行相关操作来发起视频播放请求,浏览器端30会将视频播放请求发送给服务端20,以此拉取需要播放的视频文件,该需要播放的视频文件为服务端20封装的第二视频文件。浏览器端30获得第二视频文件后,通过对第二视频文件进行解封装处理,获得第二视频文件中的视频帧,此时得到的视频帧表现为编码后的视频编码帧。通过对视频编码帧进行解码,得到H264/H265的视频原始帧。通过解析扩展在视频编码帧前面的SEINALU单元,可以获得记录在SEI NALU单元中的敏感信息。进而,根据敏感信息来对视频原始帧进行马赛克处理,即可获得马赛克视频。进而,通过调用浏览器端30的WebGL组件可以实现对马赛克视频进行渲染播放。可以理解的是,WebGL(Web Graphics Library)是一种3D绘图协议,可以提供硬件3D加速渲染。基于上述实施例,马赛克视频播放控制系统通过将视频中人脸和车牌号检测从服务端20前移到设备端10,视频马赛克处理从服务端20移动到浏览器端30,利用边缘计算和浏览器页面前端处理的模式避免了在服务端20进行视频处理,服务端20仅需要提供FLV格式封装和数据转发,占用的CPU和GPU资源很少,视频并发量得到大大地提升。
本申请的一些实施例中,请参阅图2,图2为本申请实施例提供的马赛克视频播放控制系统中浏览器端的一种结构示意图。如图2所示,浏览器端30包括js层21和wasm层22,具体地,浏览器中H5页面的无插件播放库物理上是一个js库,该js库从逻辑上划分为js层21和wasm层22。js层21采用JavaScript语言编写得到,wasm层22采用WebAssembly技术编译得到。在本实施例中,js层21中配置有视频拉流模块211和渲染播放模块212,具体地,视频拉流模块211用于从服务端20拉取第二视频文件。渲染播放模块212用于对马赛克视频进行渲染播放。wasm层22中配置有解封装处理模块221、视频帧缓冲模块222、解码处理模块223和马赛克处理模块224。具体地,解封装处理模块221用于对所述第二视频文件进行解封装处理,获得多个视频编码帧。需要说明的是,该多个视频编码帧中,全部或部分视频编码帧携带有敏感信息。视频帧缓冲模块222用于按照所述多个视频编码帧各自对应的时间戳,将所述多个视频编码帧依次缓存到缓冲队列中。解码处理模块223用于对所述缓冲队列中的视频编码帧按照顺序进行解码处理,获得每个视频编码帧各自对应的视频原始帧。马赛克处理模块224用于针对所述缓冲队列中缓存的每个视频编码帧,根据所述视频编码帧携带的敏感信息或所述缓冲队列中与所述视频编码帧匹配的关联视频帧携带的敏感信息,对所述视频编码帧对应的视频原始帧进行马赛克处理,获得马赛克视频。在本实施例中,浏览器端30通过采用WebAssembly技术将视频解封装、解码、马赛克处理、视频帧缓冲等在内的C/C++程序编译成wasm层22,安全性高,可以最大程度提升用户隐私安全性。通过调用js层21对马赛克视频进行渲染播放,可以同时兼顾性能和安全性需求,wasm层22能够和网页程序一起发布,无需在浏览器端30单独安装其它的插件,支持浏览器端30无插件动态马赛克视频播放。
本申请的一些实施例中,请参阅图3,图3为本申请实施例提供的马赛克视频播放控制系统中设备端的一种结构示意图。如图3所示,设备端10中配置有视频采集模块31、视频编码模块32、敏感信息检测模块33和视频帧预处理模块34。在本实施例中,视频采集模块31用于进行视频采集,获得视频流。视频编码模块32用于对所述视频流中的视频帧进行编码处理,获得视频编码帧。敏感信息检测模块33用于对所述视频流中的视频帧进行敏感信息检测,获得所述视频帧的敏感信息。视频帧预处理模块34用于将所述视频帧的敏感信息添加到所述视频编码帧的协议头中,以生成第一视频文件。具体地,设备端10作为视频文件的生产者,可以通过视频采集模块控制摄像头进行视频采集,获得视频流。在本实施例中,视频流表示为视频帧序列,视频帧序列中的视频帧按照时间戳进行排序。当设备端10获得视频流后,通过视频编码模块32对视频流中的各个视频帧按照时间戳依次进行H264/H265视频编码,获得每个视频帧对应的视频编码帧,同时还通过敏感信息检测模块33对视频流中的部分或全部视频帧进行敏感信息检测,获得部分或全部视频帧中的敏感信息。在本实施例中,视频编码模块32和敏感信息检测模块33采用两个独立的线程同时执行。在本实施例中,视频编码模块32对视频流中的每个视频帧依次进行编码处理,而为了节省设备端10的CPU和GPU资源,敏感信息检测模块33则对视频流中的视频帧按照设定好的跳帧识别策略进行敏感信息检测,即只获取部分视频帧中的敏感信息。举例说明,比如视频编码模块32按照每秒25帧的帧率进行视频帧编码处理,而敏感信息检测模块33则按照每秒识别其中的10~16帧。在本实施例中,敏感信息检测模块33在检测到敏感信息时,为了避免影响视频的实时性,视频帧预处理模块34会将敏感信息检测模块当前检测到的视频帧的敏感信息以及该检测的视频帧的时间戳添加到视频编码模块当前编码得到的编码后的视频帧的协议头中。
本申请的一些实施例中,由于设备端10的视频编码模块32和敏感信息检测模块33采用两个独立的线程同时执行,且敏感信息检测模块33实行跳帧识别,此时第一视频文件中当前视频帧协议头中携带的敏感信息属于历史视频帧的。即第一视频文件可能存在部分视频帧携带有敏感信息,部分视频帧未携带有敏感信息的情况。基于此,在本实施例中,浏览器端30中的马赛克处理模块224还用于在所述视频编码帧未携带敏感信息的情况下,对所述视频编码帧对应的视频原始帧进行画面防抖动处理。具体地,画面防抖动处理的过程逻辑为:若首帧视频帧中未携带有敏感信息,则计算该首帧视频帧的时间戳与该首帧视频帧匹配的关联视频帧的时间戳之间的时间差值,判断时间差值是否超出预设阈值,若时间差值未超出预设阈值,则使用该关联视频帧携带的敏感信息所表征的区域位置对首帧视频帧进行马赛克处理,若时间差值超出预设阈值,则不对该首帧视频帧进行马赛克处理。若非首帧视频帧中未携带有敏感信息,则计算该非首帧视频帧的时间戳与首帧视频帧匹配的关联视频帧的时间戳之间的时间差值,判断时间差值是否超出预设阈值,若时间差值未超出预设阈值,则使用该关联视频帧携带的敏感信息所表征的位置区域对该非首帧视频帧进行马赛克处理,若时间差值超出预设阈值,则不对该非首帧视频帧进行马赛克处理。可以理解的是,在本实施例中,无论是首帧视频帧还是非首帧视频帧,当视频帧中携带有敏感信息时,则直接根据敏感信息所表征的区域位置对该视频帧直接进行马赛克处理。
本申请的一些实施例中,请参阅图4,图4为本申请实施例提供的马赛克视频播放控制系统中服务端的一种结构示意图。如图4所示,服务端20中配置有数据管理模块41和媒体服务模块42。在本实施例中,数据管理模块41用于接收设备端上传的第一视频文件以及将第一视频文件进行保存至存储空间中。媒体服务模块42用于根据用户的视频播放请求,从数据库中获取第一视频文件并对第一视频文件进行FLV格式封装,将封装后得到的第二视频文件传输给浏览器端。具体地,媒体服务模块42在对第一视频文件进行FLV格式封装时,可以基于用户的视频播放请求,确认用户的权限,如果确认用户为普通用户权限,则在视频帧前面扩展一个SEI NALU单元,在NALU单元主体中添加敏感信息后再进行FLV格式封装;如果确认用户为管理员用户权限,则将视频帧直接进行FLV格式封装。
本申请的一些实施例中,服务端20还配置有设备管理模块,设备管理模块用于对设备端进行身份认证并建立与设备端之间的信令链路,以确认设备端的在线状态。在本实施例中,设备端10在启动后会自动连接服务端20,请求建立设备端10与服务端20之间通信的信令链路。服务端20通过设备管理模块对请求连接的设备端10进行身份认证,当认证通过后会建立设备端10与服务端20之间通信的信令链路,将该设备端10置为在线状态,此时的设备端10可以将生成的第一视频文件主动上报到服务端20。
本申请的一些实施例中,请参阅图5,图5为本申请实施例提供的一种应用在浏览器端的马赛克视频播放方法的实现流程图。如图5所示,具体可以包括步骤S51至步骤S55。
S51:从服务端拉取第二视频文件;
S52:对所述第二视频文件进行解封装处理,获取所述第二视频文件中的视频编码帧;
S53:针对所述第二视频文件中的每个视频编码帧,对所述视频编码帧进行解码处理,获得所述视频编码帧对应的视频原始帧;
S54:根据所述视频编码帧携带的敏感信息或与所述视频编码帧匹配的关联视频帧携带的敏感信息,对所述视频编码帧对应的视频原始帧进行马赛克处理,获得马赛克视频;
S55:调用WebGL组件对所述马赛克视频进行渲染播放。
本实施例中,在浏览器端,用户可以在浏览器端的交互页面上输入操作来发起视频播放请求,以此请求播放用户所需的视频文件。浏览器端在用户发起视频播放请求后,将该视频播放请求发送给服务端,通过HTTP-FLV、HLS、RTMP等流媒体传输协议从服务端中拉取得到与该视频播放请求匹配的第二视频文件。由于第二视频文件是视频流经过设备端进行编码和服务端进行FLV格式封装得到的,因此,浏览器端在获得来自服务端的第二视频文件后,需要对第二视频文件先进行解封装处理,获得第二视频文件中的所有视频编码帧,再针对第二视频文件中的每个视频编码帧进行解码处理,从而获得各视频编码帧所对应的视频原始帧。并且,通过对第二视频文件中的每个视频编码帧进行SEI解析,判断每个视频编码帧中是否携带有敏感信息,对于携带有敏感信息的视频编码帧,获取该视频编码帧中的敏感信息。需要说明的是,视频编码帧中的敏感信息表示为区域位置信息,包括区域的横坐标、纵坐标、宽度和高度等信息。例如视频帧中人脸所在区域的横坐标、纵坐标、宽度和高度等信息,或者视频中车牌号所在区域的横坐标、纵坐标、宽度和高度等信息。浏览器端再获得第二视频文件中各视频编码帧所对应的视频原始帧以及所携带的敏感信息后,可以按照各视频编码帧的时间戳顺序,根据视频编码帧携带的敏感信息或与视频编码帧匹配的关联视频帧携带的敏感信息,对各视频编码帧对应的视频原始帧依次进行马赛克处理,获得马赛克视频。进而,再调用浏览器端js库中的WebGL组件来对获得的马赛克视频进行渲染播放,即可再浏览器端实现对视频流边进行马赛克处理边进行渲染播放。
可以理解的是,在本实施例中,如果第二视频文件中的所有视频编码帧都未携带有敏感信息,则无需对视频编码帧进行马赛克处理,直接按照各视频编码帧的时间戳顺序,对视频编码帧进行解码后再进行渲染播放即可。
本申请的一些实施例中,请参阅图6,图6为本申请实施例提供的应用在浏览器端的马赛克视频播放方法中进行马赛克处理的一种实现流程图。如图6所示,具体可以包括步骤S61至步骤S63。
S61:按照所述视频编码帧的时间戳顺序,针对所述第二视频文件中的每个视频编码帧,判断所述视频编码帧是否携带有敏感信息;
S62:若所述视频编码帧携带有敏感信息,则根据所述视频编码帧携带的敏感信息,确定需要进行马赛克处理的区域位置,按照所述区域位置对所述视频编码帧对应的视频原始帧进行马赛克处理;
S63:若所述视频编码帧未携带有敏感信息,则根据与所述视频编码帧匹配的关联视频帧携带的敏感信息,确定需要进行马赛克处理的区域位置,按照所述区域位置对所述视频编码帧对应的视频原始帧进行马赛克处理。
本实施例中,为了节省设备端的CPU和GPU资源,设备端会使用跳帧识别策略来对视频流进行敏感信息检测,即浏览器获得第二视频文件中,只有部分视频编码帧会携带有敏感信息。在本实施例中,浏览器会按照视频编码帧的时间戳顺序,逐帧进行马赛克处理。针对每个视频编码帧,先判断视频编码帧是否携带有敏感信息。具体地,在浏览器端通过解封装处理获得视频编码帧后,进一步通过SEI解析处理识别视频编码帧中扩展的SEI NALU单元,如果SEI NALU单元的主体中记录有视频编码帧的敏感信息,则说明视频编码帧携带有敏感信息,如果通过SEI解析处理未解析到有扩展的SEI NALU单元,则说明视频编码帧未携带有敏感信息。若视频编码帧携带有敏感信息,可以直接根据视频编码帧携带的敏感信息,确定该视频编码帧中需要进行马赛克处理的区域位置,按照区域位置对该视频编码帧对应的视频原始帧进行马赛克处理。若视频编码帧未携带有敏感信息,则可以根据与该视频编码帧匹配的关联视频帧携带的敏感信息,确定该视频编码帧中需要进行马赛克处理的区域位置,按照区域位置对视频编码帧对应的视频原始帧进行马赛克处理。
本申请的一些实施例中,请参阅图7,图7为本申请实施例提供的应用在浏览器端的马赛克视频播放方法中进行马赛克处理的另一种实现流程图。如图7所示,具体可以包括步骤S71至步骤S72。
S71:计算所述视频编码帧的时间戳与所述视频编码帧匹配的关联视频帧的时间戳之间的时间差值;
S72:判断所述时间差值是否超出预设阈值,若所述时间差值未超出预设时间阈值,则根据与所述视频编码帧匹配的关联视频帧携带的敏感信息,确定需要进行马赛克处理的区域位置,按照所述区域位置对所述视频编码帧对应的视频原始帧进行马赛克处理。
本实施例中,请一并参阅图8,图8为本申请实施例提供的一种视频帧序列的示意图。在本实施例中,浏览器端可以设置一个视频帧缓冲队列,用于按照时间戳先后顺序缓存从第二视频文件中解封装得到的视频编码帧,如果视频编码帧中携带有敏感信息,则将该敏感信息与视频编码帧绑定一并缓存至缓冲队列中。浏览器端在接收到视频编码帧后需要缓冲一定的时间值,该时间值为用户预先设定好的预设阈值,时间低于此预设阈值时则需要等待播放。本实施例在对视频编码帧进行马赛克处理过程中,如果视频编码帧未携带有敏感信息,则计算视频编码帧的时间戳与视频编码帧匹配的关联视频帧的时间戳之间的时间差值,通过判断时间差值是否超出预设阈值,如果时间差值未超出预设阈值,则根据与视频编码帧匹配的关联视频帧携带的敏感信息,确定需要进行马赛克处理的区域位置,进而按照区域位置对视频编码帧对应的视频原始帧进行马赛克处理。示例性的,如图8所示,在浏览器端,根据时间戳对接收到视频编码帧进行排序,假设首帧视频编码帧的时间戳记为pts1,将上一个携带有敏感信息的视频编码帧确定与该首帧视频编码帧匹配的关联视频编码帧,时间戳记为pts2,非首帧视频编码帧的时间戳记为pts3,预设阈值设定为200毫秒。如果当前执行马赛克处理的编码视频帧为首帧,则将该首帧视频编码帧的时间戳pts1减去上一个携带有敏感信息的视频编码帧的时间戳pts2,得到时间差值,当pts1-pts2≤200ms时,则使用该上一个携带有敏感信息的视频编码帧的马赛克区域对该首帧视频编码帧进行打码。当pts1-pts2>200ms时,则不对该首帧视频编码帧进行打码。如果当前执行马赛克处理的编码视频帧为非首帧,则将该非首帧视频编码帧的时间戳pts3减去上一个携带有敏感信息的视频编码帧的时间戳pts2,得到时间差值,当pts3-pts2≤200ms时,则使用该上一个携带有敏感信息的视频编码帧的马赛克区域对该非首帧视频编码帧进行打码。当pts1-pts2>200ms时,则不对该非首帧视频编码帧进行打码。
本申请的一些实施例中,请参阅图9,图9为本申请实施例提供的一种应用在服务端的马赛克视频播放方法的实现流程图。如图9所示,具体可以包括步骤S91至步骤S94。
S91:接收用户的视频播放请求,所述视频播放请求中携带有所述用户的身份信息;
S92:根据所述用户的身份信息,确定所述用户的权限,其中,所述用户的权限包括普通用户权限和管理员用户权限;
S93:从存储空间中获取与所述视频播放请求匹配的第一视频文件,若所述用户的权限为管理员用户权限,则对所述第一视频文件直接进行FLV格式封装;若所述用户权限为普通用户权限,则针对所述第一视频文件中的视频编码帧扩展SEI NALU单元并在所述SEINALU单元主体中添加所述视频编码帧的敏感信息,对扩展有SEI NALU单元的视频编码帧进行FLV格式封装,获得封装后的第二视频文件;
S94:响应于所述用户的视频播放请求,将所述第二视频文件传输至所述浏览器端。
本实施例中,可以根据用户的权限来确定是否需要对播放的视频进行马赛克处理。具体地,用户通过在浏览器端的交互界面中执行相关操作来发起视频播放请求,视频发送请求中携带有用户的身份信息和需要播放的视频源信息,浏览器端会将视频播放请求发送给服务端。用户的身份信息可以是账户ID、身份ID等信息,需要播放的视频源信息包括视频的来源设备信息以及视频的时间范围信息等。服务端接收到用户的视频播放请求后,可以根据用户的身份信息确定用户的权限。具体地,用户的权限包括普通用户权限和管理员用户权限,在服务端存储有管理员用户的名单,名单中记录有所有管理员用户的身份信息。在本实施例中,可以通过根据用户的身份信息遍历管理员用户的名单,以此确认用户是否为管理员用户,如果为管理员用户,则确定用户的权限为管理员用户权限,否则确定用户的权限为普通用户权限。确定了用户的权限后,可以根据视频发送请求中携带的需要播放的视频源信息,从服务端的存储空间中获取与该视频播放请求匹配的第一视频文件。在对第一视频文件进行FLV格式封装时,若用户的权限为管理员用户权限,则对第一视频文件直接进行FLV格式封装;若用户权限为普通用户权限,则针对第一视频文件中的视频编码帧扩展SEI NALU单元并在SEI NALU单元主体中添加视频编码帧的敏感信息,进而对扩展有SEINALU单元的视频编码帧进行FLV格式封装。通过FLV格式封装即可获得封装后的第二视频文件。服务端封装得到第二视频文件后,即可响应于用户的视频播放请求,使用标准的HTTP-FLV、HLS、RTMP等流媒体传输协议,将第二视频文件传输至浏览器端。
本申请的一些实施例中,请参阅图10,图10为本申请的实施例提供的一种应用在设备端的马赛克视频播放方法的实现流程图。如图10所示,具体可以包括步骤S101至步骤S103。
S101:在设备端处于开机状态下进行视频采集,获得视频流;
S102:对所述视频流中的视频帧分别进行编码处理和敏感信息检测处理,获得所述视频帧对应的视频编码帧和所述视频帧中的敏感信息;
S103:将所述视频帧中的敏感信息添加到所述视频编码帧的协议头中,以生成第一视频文件。
本实施例中,设备端作为视频文件的生产者,在设备端开机启动后会通过摄像头实时采集视觉范围内的视频数据,得到视频流,此时该视频流中的视频帧的格式为YUV格式。设备端配置有两个线程,其中一个线程用于将采集到的YUV格式的视频帧逐帧进行H264/H265编码处理,得到对应的视频编码帧。而另一个线程则用于对采集到的YUV格式的视频帧进行敏感信息检测处理,获得视频帧中的敏感信息。在一些具体的实施方式中,可以采用跳帧识别策略对采集到的YUV格式的视频帧进行敏感信息检测处理。当检测当前视频帧包含有人脸和车牌等敏感信息时,将检测到的敏感信息添加到视频帧协议头中,以此生成第一视频文件。
可以理解的是,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请的一些实施例中,请参阅图11,图11为本申请实施例提供的一种电子设备的基本结构框图。如图11所示,该实施例的电子设备11包括:处理器111、存储器112以及存储在所述存储器112中并可在所述处理器111上运行的计算机程序113,例如上述各个马赛克视频播放方法的程序。处理器111执行所述计算机程序113时实现上述各个马赛克视频播放方法各实施例中的步骤。或者,所述处理器111执行所述计算机程序113时实现上述马赛克视频播放控制系统对应的实施例中各模块的功能。具体请参阅实施例中的相关描述,此处不赘述。
示例性的,所述计算机程序113可以被分割成一个或多个模块(单元),所述一个或者多个模块被存储在所述存储器112中,并由所述处理器111执行,以完成本申请。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序113在所述电子设备11中的执行过程。例如,所述计算机程序113可以被分割成上述马赛克视频播放控制系统中的各个模块,各个模块的功能如上所述。
所述电子设备可包括,但不仅限于,处理器111、存储器112。本领域技术人员可以理解,图11仅仅是电子设备11的示例,并不构成对电子设备11的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。
所述处理器111可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器112可以是所述电子设备11的内部存储单元,例如电子设备11的硬盘或内存。所述存储器112也可以是所述电子设备11的外部存储设备,例如所述电子设备11上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器112还可以既包括所述电子设备11的内部存储单元也包括外部存储设备。所述存储器112用于存储所述计算机程序以及所述电子设备所需的其他程序和数据。所述存储器112还可以用于暂时地存储已经输出或者将要输出的数据。
需要说明的是,上述模块/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。在本实施例中,所述计算机可读存储介质可以是非易失性,也可以是易失性。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时可实现上述各个方法实施例中的步骤。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述系统的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (13)
1.一种马赛克视频播放控制系统,其特征在于,所述系统包括设备端、服务端和浏览器端,其中:
所述设备端,用于采集视频数据并对所述视频数据中的视频帧分别进行编码处理和敏感信息检测,获得所述视频帧对应的编码帧和所述视频帧中的敏感信息,将所述敏感信息添加在所述编码帧的协议头中,获得第一视频文件,将所述第一视频文件上传至所述服务端;
所述服务端,用于根据用户的视频播放请求,对所述设备端上传的第一视频文件进行封装处理,将封装后得到的第二视频文件传输给所述浏览器端;
所述浏览器端,用于接收所述服务端传输的第二视频文件,对所述第二视频文件中的视频帧进行马赛克处理,获得马赛克视频,对所述马赛克视频进行渲染播放。
2.根据权利要求1所述的马赛克视频播放控制系统,其特征在于,所述浏览器端包括js层和wasm层,所述js层中配置有视频拉流模块和渲染播放模块,所述wasm层中配置有解封装处理模块、视频帧缓冲模块、解码处理模块和马赛克处理模块,其中:
所述视频拉流模块,用于从所述服务端拉取第二视频文件;
所述解封装处理模块,用于对所述第二视频文件进行解封装处理,获得多个视频编码帧;
所述视频帧缓冲模块,用于按照所述多个视频编码帧各自对应的时间戳,将所述多个视频编码帧依次缓存到缓冲队列中;
所述解码处理模块,用于对所述缓冲队列中的视频编码帧按照顺序进行解码处理,获得每个视频编码帧各自对应的视频原始帧;
所述马赛克处理模块,用于针对所述缓冲队列中缓存的每个视频编码帧,根据所述视频编码帧携带的敏感信息或所述缓冲队列中与所述视频编码帧匹配的关联视频帧携带的敏感信息,对所述视频编码帧对应的视频原始帧进行马赛克处理,获得马赛克视频;
所述渲染播放模块,用于对所述马赛克视频进行渲染播放。
3.根据权利要求2所述的马赛克视频播放控制系统,其特征在于,所述马赛克处理模块,还用于在所述视频编码帧未携带敏感信息的情况下,对所述视频编码帧对应的视频原始帧进行画面防抖动处理。
4.根据权利要求1所述的马赛克视频播放控制系统,其特征在于,所述设备端包括视频采集模块、视频编码模块、敏感信息检测模块和视频帧预处理模块,其中:
所述视频采集模块,用于进行视频采集,获得视频流;
所述视频编码模块,用于对所述视频流中的视频帧进行编码处理,获得视频编码帧;
所述敏感信息检测模块,用于对所述视频流中的视频帧进行敏感信息检测,获得所述视频帧的敏感信息;
所述视频帧预处理模块,用于将所述视频帧的敏感信息添加到所述视频编码帧的协议头中,以生成所述第一视频文件。
5.根据权利要求1所述的马赛克视频播放控制系统,其特征在于,所述服务端包括数据管理模块和媒体服务模块,其中:
所述数据管理模块,用于接收所述设备端上传的第一视频文件以及将所述第一视频文件进行保存至存储空间中;
所述媒体服务模块,用于根据用户的视频播放请求,从所述存储空间中获取所述第一视频文件并对所述第一视频文件进行FLV格式封装,获得封装后的第二视频文件,将所述第二视频文件传输给所述浏览器端。
6.根据权利要求5所述的马赛克视频播放控制系统,其特征在于,所述服务端还包括设备管理模块,其中:
所述设备管理模块,用于对所述设备端进行身份认证并建立与所述设备端之间的信令链路,以确认所述设备端的在线状态。
7.一种马赛克视频播放方法,其特征在于,所述方法应用在如权利要求1至6任意一项所述的马赛克视频播放控制系统的浏览器端,包括:
从服务端拉取第二视频文件;
对所述第二视频文件进行解封装处理,获取所述第二视频文件中的视频编码帧;
针对所述第二视频文件中的每个视频编码帧,对所述视频编码帧进行解码处理,获得所述视频编码帧对应的视频原始帧;
根据所述视频编码帧携带的敏感信息或与所述视频编码帧匹配的关联视频帧携带的敏感信息,对所述视频编码帧对应的视频原始帧进行马赛克处理,获得马赛克视频;
调用WebGL组件对所述马赛克视频进行渲染播放。
8.根据权利要求7所述的马赛克视频播放方法,其特征在于,所述根据所述视频编码帧携带的敏感信息或与所述视频编码帧匹配的关联视频帧携带的敏感信息,对所述视频编码帧对应的视频原始帧进行马赛克处理,获得马赛克视频的步骤,包括:
按照所述视频编码帧的时间戳顺序,针对所述第二视频文件中的每个视频编码帧,判断所述视频编码帧是否携带有敏感信息;
若所述视频编码帧携带有敏感信息,则根据所述视频编码帧携带的敏感信息,确定需要进行马赛克处理的区域位置,按照所述区域位置对所述视频编码帧对应的视频原始帧进行马赛克处理;
若所述视频编码帧未携带有敏感信息,则根据与所述视频编码帧匹配的关联视频帧携带的敏感信息,确定需要进行马赛克处理的区域位置,按照所述区域位置对所述视频编码帧对应的视频原始帧进行马赛克处理。
9.根据权利要求8所述的马赛克视频播放方法,其特征在于,所述根据与所述视频编码帧匹配的关联视频帧携带的敏感信息,确定需要进行马赛克处理的区域位置,按照所述区域位置对所述视频编码帧对应的视频原始帧进行马赛克处理的步骤,包括:
计算所述视频编码帧的时间戳与所述视频编码帧匹配的关联视频帧的时间戳之间的时间差值;
判断所述时间差值是否超出预设阈值,若所述时间差值未超出预设时间阈值,则根据与所述视频编码帧匹配的关联视频帧携带的敏感信息,确定需要进行马赛克处理的区域位置,按照所述区域位置对所述视频编码帧对应的视频原始帧进行马赛克处理。
10.一种马赛克视频播放方法,其特征在于,所述方法应用在如权利要求1至6任意一项所述马赛克视频播放控制系统的服务端,包括:
接收用户的视频播放请求,所述视频播放请求中携带有所述用户的身份信息;
根据所述用户的身份信息,确定所述用户的权限,其中,所述用户的权限包括普通用户权限和管理员用户权限;
从存储空间中获取与所述视频播放请求匹配的第一视频文件,若所述用户的权限为管理员用户权限,则对所述第一视频文件直接进行FLV格式封装;若所述用户权限为普通用户权限,则针对所述第一视频文件中的视频编码帧扩展SEINALU单元并在所述SEINALU单元主体中添加所述视频编码帧的敏感信息,对扩展有SEI NALU单元的视频编码帧进行FLV格式封装,获得封装后的第二视频文件;
响应于所述用户的视频播放请求,将所述第二视频文件传输至所述浏览器端。
11.一种马赛克视频播放方法,其特征在于,所述方法应用在如权利要求1至6任意一项所述的马赛克视频播放控制系统的设备端,包括:
在设备端处于开机状态下进行视频采集,获得视频流;
对所述视频流中的视频帧分别进行编码处理和敏感信息检测处理,获得所述视频帧对应的视频编码帧和所述视频帧中的敏感信息;
将所述视频帧中的敏感信息添加到所述视频编码帧的协议头中,以生成第一视频文件。
12.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求7-9或10或11任意一项所述方法的步骤。
13.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求7-9或10或11任意一项所述方法的步骤。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2023118344 | 2023-09-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117957843A true CN117957843A (zh) | 2024-04-30 |
Family
ID=90796547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202380013599.XA Pending CN117957843A (zh) | 2023-09-12 | 2023-09-12 | 马赛克视频播放控制系统、方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117957843A (zh) |
-
2023
- 2023-09-12 CN CN202380013599.XA patent/CN117957843A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10389784B2 (en) | Method and device for generating a description file, and corresponding streaming method | |
US20130308699A1 (en) | Audio-visual content delivery | |
CA2858654C (en) | Media service and method for delivery of stored media | |
CN113766317A (zh) | 视频传输方法、装置、电子设备和存储介质 | |
WO2019184822A1 (zh) | 多媒体文件处理方法和装置、存储介质及电子装置 | |
CN110401858B (zh) | 一种视频播放方法、装置、电子设备及存储介质 | |
CN109089174B (zh) | 一种多媒体数据流的处理方法及装置、计算机存储介质 | |
CN112995698A (zh) | 一种视频播放方法、客户端、服务平台及智能会议系统 | |
CN111147896A (zh) | 一种字幕数据处理方法、装置、设备和计算机存储介质 | |
CN117957843A (zh) | 马赛克视频播放控制系统、方法、电子设备及存储介质 | |
CN107948685B (zh) | 信息推广方法及信息推广装置 | |
CN113382278A (zh) | 视频推送方法、装置、电子设备和可读存储介质 | |
CN111741328B (zh) | 视频分析方法、电子设备、存储介质及系统 | |
CA3185695A1 (en) | Systems, methods, and apparatuses for buffer management | |
CN112954396B (zh) | 视频的播放方法、装置、电子设备及计算机可读存储介质 | |
US10904305B2 (en) | Media streaming using a headless browser | |
EP3989588A1 (en) | Systems, methods, and devices for media content tamper protection and detection | |
CN113473147B (zh) | 一种视频码流的后处理方法、装置和计算机可读存储介质 | |
CN110855619B (zh) | 播放音视频数据的处理方法、装置、存储介质及终端设备 | |
CN111416990B (zh) | 一种流式数据平台的ts流的访问方法 | |
CN115665486B (zh) | 用于无人机跟踪装置视频流web端播放的数据处理方法 | |
Kumar et al. | Cloud‐based video streaming services: Trends, challenges, and opportunities | |
JP7505701B2 (ja) | 映像処理方法および装置 | |
EP2670110B1 (en) | Method, system and devices for improved content delivery | |
CN115942037A (zh) | 一种视频处理设备、视频处理方法及存储介质 |
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 |