CN115150375A - 视频流数据采集方法以及装置、电子设备、存储介质 - Google Patents

视频流数据采集方法以及装置、电子设备、存储介质 Download PDF

Info

Publication number
CN115150375A
CN115150375A CN202210732111.6A CN202210732111A CN115150375A CN 115150375 A CN115150375 A CN 115150375A CN 202210732111 A CN202210732111 A CN 202210732111A CN 115150375 A CN115150375 A CN 115150375A
Authority
CN
China
Prior art keywords
video stream
resolution
web browser
parameters
stream data
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.)
Granted
Application number
CN202210732111.6A
Other languages
English (en)
Other versions
CN115150375B (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.)
Zhejiang Huifu Network Technology Co ltd
Original Assignee
Zhejiang Huifu Network 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 Zhejiang Huifu Network Technology Co ltd filed Critical Zhejiang Huifu Network Technology Co ltd
Priority to CN202210732111.6A priority Critical patent/CN115150375B/zh
Priority claimed from CN202210732111.6A external-priority patent/CN115150375B/zh
Publication of CN115150375A publication Critical patent/CN115150375A/zh
Application granted granted Critical
Publication of CN115150375B publication Critical patent/CN115150375B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • 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/440263Processing 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 altering the spatial resolution, e.g. for displaying on a connected PDA
    • 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/440281Processing 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 altering the temporal resolution, e.g. by frame skipping

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请公开了一种视频流数据采集方法以及装置、电子设备、存储介质。该方法应用于移动端,所述方法包括:配置所述移动端上WEB浏览器的预设采集参数,其中所述预设采集参数包括目标视频流分辨率以及视频流编解码参数;启动所述WEB浏览器中的录制程序按照所述目标视频流分辨率、所述视频流编解码参数完成视频流数据采集。本申请解决了视频流数据处理效果不佳的技术问题。通过本申请缩减视频数据同步时间、优化用户体验。

Description

视频流数据采集方法以及装置、电子设备、存储介质
技术领域
本申请涉及视频数据采集领域,具体而言,涉及一种视频流数据采集方法以及装置、电子设备、存储介质。
背景技术
在现在H5开发过程有很多产景都运用到了录制视频功能。比如,在视频认证、人脸数字认证、眨眼视频认证、唇语视频认证等。目前都是使用调用原生手机摄像头录制视频上传完成认证。
在开发过程中通常会调用原生视频录制。这样的话会导致不同手机,不同品牌录制的视频,根据自身相机的分辨率设置、文件、大小都不一样,有些视频因为手机分辨率高的原因导致视频太大,上传时间多达30秒甚至1分钟以上,体验很差。
针对相关技术中视频流数据处理效果不佳的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种视频流数据采集方法以及装置、电子设备、存储介质,以解决视频流数据处理效果不佳的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种视频流数据采集方法应用于移动端。
根据本申请的视频流数据采集方法包括:配置所述移动端上WEB浏览器的预设采集参数,其中所述预设采集参数包括目标视频流分辨率以及视频流编解码参数;启动所述WEB浏览器中的录制程序按照所述目标视频流分辨率、所述视频流编解码参数完成视频流数据采集。
进一步地,所述方法还包括:将采集到的视频流数据通过WebSocket协议上传至WEB后台服务器之后,再通过UDP协议上传至视频识别服务器。
进一步地,所述采集到的视频流数据包括不同型号的所述移动端采集到的相同分辨率的视频流数据,所述分辨率可自定义调节。
进一步地,所述视频流编解码参数包括:对不同类型的WEB浏览器的设置成对应的视频解码参数。
进一步地,所述配置所述移动端上WEB浏览器的预设采集参数,其中所述预设采集参数包括目标视频流分辨率以及视频流编解码参数,包括:判断当前WEB浏览器的兼容性,并对所述当前WEB浏览器进行兼容性处理,以使所述当前WEB浏览器支持GetUserMedia的调用;设置所述目标视频流分辨率,以使所述当前WEB浏览器满足对应视频流分辨率的要求;根据浏览器视频容器属性设置所述视频流编解码参数,以使所述当前WEB浏览器具有对应的视频解码参数。
进一步地,所述设置所述目标视频流分辨率,以使所述当前WEB浏览器满足对应视频流分辨率的要求,包括:在当前WEB浏览器无法满足所述目标视频流分辨率的情况下,则返回所述当前浏览器可满足的最大视频流分辨率;如果所述当前浏览器可满足的最大视频流分辨率无法与所述目标视频流分辨率匹配,则不进行回调操作。
进一步地,所述启动所述WEB浏览器中的录制程序按照所述目标视频流分辨率、所述视频流编解码参数完成视频流数据采集,还包括:启动所述WEB浏览器中的录制程序,录制完成视频流数据采集并设置捕获数据回调参数,所述回调参数包括含有视频数据流的Blob对象。
为了实现上述目的,根据本申请的另一方面,提供了一种视频流数据采集装置应用于移动端。
根据本申请的视频流数据采集装置包括:配置模块,用于配置所述移动端上WEB浏览器的预设采集参数,其中所述预设采集参数包括目标视频流分辨率以及视频流编解码参数;采集模块,用于启动所述WEB浏览器中的录制程序按照所述目标视频流分辨率、所述视频流编解码参数完成视频流数据采集。
在本申请实施例中,采用配置所述移动端上WEB浏览器的预设采集参数的方式,通过启动所述WEB浏览器中的录制程序按照所述目标视频流分辨率、所述视频流编解码参数完成视频流数据采集,达到了不同类型移动终端录制的视频大小基本一致的目的,从而实现了缩减视频数据同步时间的技术效果,进而解决了视频流数据处理效果不佳的技术问题。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的视频流数据采集方法的流程示意图;
图2是根据本申请实施例的视频流数据采集装置的结构示意图;
图3是根据本申请实施例的视频流数据采集方法的系统架构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。
此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
本申请的实施例中,在前端搭建一个java的H5应用,采用MediaRecorder录制视频以后,通过WebSocket的方式,将视频流传递到java的web应用后台,实现视频流数据的高效传输,提高用户体验。特别地,能够使不同手机不同品牌视频质量统一,缩短上传时间。
如图1所示,该方法包括如下的步骤S110至步骤S120:
步骤S110,配置所述移动端上WEB浏览器的预设采集参数,其中所述预设采集参数包括目标视频流分辨率以及视频流编解码参数。
移动端包括但不限于智能手机等移动端。需要先配置所述移动端上WEB浏览器的预设采集参数,对于所述设采集参数包括目标视频流分辨率以及视频流编解码参数。也就是说,需要将目标视频流分辨率设置为符合要求的视频流编解码参数。
步骤S120,启动所述WEB浏览器中的录制程序按照所述目标视频流分辨率、所述视频流编解码参数完成视频流数据采集。
在所述移动端启动所述WEB浏览器中的录制程序,通过录制程序在所述移动端完成录制,获得视频流数据。视频流数据是按照所述目标视频流分辨率、所述视频流编解码参数完成视频流数据采集的。
从以上的描述中,可以看出,本申请实现了如下技术效果:
采用配置所述移动端上WEB浏览器的预设采集参数的方式,通过启动所述WEB浏览器中的录制程序按照所述目标视频流分辨率、所述视频流编解码参数完成视频流数据采集,达到了不同类型移动终端录制的视频大小基本一致的目的,从而实现了缩减视频数据同步时间的技术效果,进而解决了视频流数据处理效果不佳的技术问题。
作为本实施例中的优选,所述方法还包括:将采集到的视频流数据通过WebSocket协议上传至WEB后台服务器之后,再通过UDP协议上传至视频识别服务器。
具体实施时,采集得到所述视频流数据之后,将将采集到的视频流数据通过WebSocket协议上传至WEB后台服务器。再通过UDP协议上传至视频识别服务器进行后续身份判别核验。
作为本实施例中的优选,所述采集到的视频流数据包括不同型号的所述移动端采集到的相同分辨率的视频流数据,所述分辨率可自定义调节。
具体实施时,对于不同型号的移动端,采集得到相同分辨率的视频流数据。
需要注意的是,所述分辨率是可自定义进行调节的。
设置对应需要的视频分辨率时,当由于隐私保护的原因,无法访问用户的摄像头和麦克风信息时,应用可以使用额外的constraints参数请求它所需要或者想要的摄像头和麦克风能力。比如录制程序想要使用1280x720的摄像头分辨率
Figure BDA0003710979050000061
在WEB浏览器会试着满足这个请求参数,但是如果无法准确满足此请求中参数要求或者用户选择覆盖了请求中的参数时,有可能返回其它的分辨率。
强制要求获取特定的尺寸时,可以使用关键字min,max,或者exact(就是min==max),比如以下参数表示要求获取最低为1280x720的分辨率:
Figure BDA0003710979050000062
如果摄像头不支持请求的或者更高的分辨率,返回的Promise会处于rejected状态,NotFoundError作为rejected回调的参数,而且用户将不会得到要求授权的提示。
可以理解,造成不同表现的原因是,相对于简单的请求值和ideal关键字而言,关键字min,max,和exact有着内在关联的强制性,比如如下的例子:
Figure BDA0003710979050000063
Figure BDA0003710979050000071
当请求包含一个ideal(录制程序最理想的)值时,这个值有着更高的权重,意味着浏览器会先尝试找到最接近指定的理想值的设定或者摄像头(假设设备拥有不止一个摄像头)。
比如,navigator.mediaDevices.getUserMedia(constraints)
根据客户需求,如果客户需要高质量的视频需要把分辨率设置高一些。如果只是简单的识别,可以把分辨率设置的低一下满足基本需求即可。这样的话视频的大小会变得小很多,速度快、体验会非常好。
作为本实施例中的优选,所述视频流编解码参数包括:对不同类型的WEB浏览器的设置成对应的视频解码参数。
具体实施时,设置视频编码参数,不同浏览器的解码参数不同,判断浏览器视频容器属性,设置成对应的视频解码参数。
比如,//这里涉及到视频的容器以及编解码参数,这个与浏览器有密切的关系浏览器对webm的支持情况
根据video/webm;codecs参数去判断当前浏览器与webm的关系
当参数等于vp9和h264的时候
var options={mimeType:'video/webm;codecs=h264'};
等参数等于vp8的时候
var options={mimeType:'video/webm;codecs=vp8'};
最后new一个MediaRecorder,设置好之前的所有参数。
作为本实施例中的优选,所述配置所述移动端上WEB浏览器的预设采集参数,其中所述预设采集参数包括目标视频流分辨率以及视频流编解码参数,包括:判断当前WEB浏览器的兼容性,并对所述当前WEB浏览器进行兼容性处理,以使所述当前WEB浏览器支持GetUserMedia的调用;设置所述目标视频流分辨率,以使所述当前WEB浏览器满足对应视频流分辨率的要求;根据浏览器视频容器属性设置所述视频流编解码参数,以使所述当前WEB浏览器具有对应的视频解码参数。
具体实施时,因为存在兼容性问题,对浏览器需要做兼容处理,首先针对不同浏览器看不同浏览器是否支持getUserMedia方法,。比如,谷歌chrome/苹果safari内核内核浏览器navigator.webkitGetUserMedia,火狐firefox浏器navigator.mozGetUserMedia,ie浏览器
通过执行navigator.msGetUserMedia,判断当前浏览器是否支持该方法,
作为本实施例中的优选,所述设置所述目标视频流分辨率,以使所述当前WEB浏览器满足对应视频流分辨率的要求,包括:在当前WEB浏览器无法满足所述目标视频流分辨率的情况下,则返回所述当前浏览器可满足的最大视频流分辨率;如果所述当前浏览器可满足的最大视频流分辨率无法与所述目标视频流分辨率匹配,则不进行回调操作。
具体实施时,如果判断在当前WEB浏览器是否满足所述目标视频流分辨率,如果判断为不满足,则返回所述当前浏览器可满足的最大视频流分辨率。进一步地,如果判断所述当前浏览器可满足的最大视频流分辨率无法与所述目标视频流分辨率匹配,则不进行回调操作。
作为本实施例中的优选,所述启动所述WEB浏览器中的录制程序按照所述目标视频流分辨率、所述视频流编解码参数完成视频流数据采集,还包括:启动所述WEB浏览器中的录制程序,录制完成视频流数据采集并设置捕获数据回调参数,所述回调参数包括含有视频数据流的Blob对象。
具体实施时,开启视频采集mediaRecorder.start(),录制完成设置捕获数据回调,在回调数据中,会获得一个含有视频数据流的Blob对象,拿到Blod对象后采用WebSocket的方式将视频流传递到java的web应用后台。
需要注意的是,在做录制视频的时候,通常会用到JS中的存储数据方法,最常用的就是Blob,最终是生成一个ul或者一个文件时使用Blob。
Blob相当于一块非常高效的存储区域,其他的类型的bufr可以放到这个Bob,那它有什么好处,它可以将整个缓冲区写到文。通过JavaScript一般在写文件之前把它放到Blob里,它的底层实际上就是字节的Array一个无类型的数据缓冲。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本申请实施例,还提供了一种用于实施上述方法的视频流数据采集装置200,如图2所示,该装置包括:
配置模块210,用于配置所述移动端上WEB浏览器的预设采集参数,其中所述预设采集参数包括目标视频流分辨率以及视频流编解码参数;
采集模块220,用于启动所述WEB浏览器中的录制程序按照所述目标视频流分辨率、所述视频流编解码参数完成视频流数据采集。
本申请实施例中的所述配置模块210中移动端包括但不限于智能手机等移动端。需要先配置所述移动端上WEB浏览器的预设采集参数,对于所述设采集参数包括目标视频流分辨率以及视频流编解码参数。也就是说,需要将目标视频流分辨率设置为符合要求的视频流编解码参数。
本申请实施例中的所述采集模块220中在所述移动端启动所述WEB浏览器中的录制程序,通过录制程序在所述移动端完成录制,获得视频流数据。视频流数据是按照所述目标视频流分辨率、所述视频流编解码参数完成视频流数据采集的。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
如图3所示,是根据本申请实施例的视频流数据采集方法的系统架构示意图。在前端搭建一个java的H5应用,采用MediaRecorder录制视频以后,通过WebSocket的方式,将视频流传递到java的web应用后台,实现视频流数据的高效传输,提高用户体验。特别地,能够使不同手机不同品牌视频质量统一,缩短上传时间。
步骤一,建立一个MediaStream或者HTMLMediaElement(<video>元素的形式)来充当媒体数据的源.<video autoplay width="100%"height="auto"></video>
步骤二,浏览器兼容性处理及设置分辨率参数等
首先针对不同浏览器看不同浏览器是否支持然后设置对应需要的视频分辨率。因为存在兼容性问题,对浏览器需要做兼容处理。
然后,设置对应需要的视频分辨率。当由于隐私保护的原因,无法访问用户的摄像头和麦克风信息时,应用可以使用额外的constraints参数请求它所需要或者想要的摄像头和麦克风能力。此外可以根据客户需求,如果客户需要高质量的视频需要把分辨率设置高一些,如果只是简单的识别,可以把分辨率设置的低一下满足基本需求即可。这样的话视频的大小会变得小很多、速度快、体验会非常好。
最后,设置视频编码参数,不同浏览器的解码参数不同,判断浏览器视频容器属性,设置成对应的视频解码参数
步骤三,开启视频采集mediaRecorder.start(),录制完成设置捕获数据回调。
在回调数据中,会获得一个含有视频数据流的Blob对象,拿到Blod对象后采用WebSocket的方式将视频流传递到java的web应用后台。
本申请的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,配置所述移动端上WEB浏览器的预设采集参数,其中所述预设采集参数包括目标视频流分辨率以及视频流编解码参数;
S2,启动所述WEB浏览器中的录制程序按照所述目标视频流分辨率、所述视频流编解码参数完成视频流数据采集。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:
S1,将采集到的视频流数据通过WebSocket协议上传至WEB后台服务器之后,再通过UDP协议上传至视频识别服务器。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,配置所述移动端上WEB浏览器的预设采集参数,其中所述预设采集参数包括目标视频流分辨率以及视频流编解码参数;
S2,启动所述WEB浏览器中的录制程序按照所述目标视频流分辨率、所述视频流编解码参数完成视频流数据采集。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种视频流数据采集方法,其特征在于,应用于移动端,所述方法包括:
配置所述移动端上WEB浏览器的预设采集参数,其中所述预设采集参数包括目标视频流分辨率以及视频流编解码参数;
启动所述WEB浏览器中的录制程序按照所述目标视频流分辨率、所述视频流编解码参数完成视频流数据采集。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:将采集到的视频流数据通过WebSocket协议上传至WEB后台服务器之后,再通过UDP协议上传至视频识别服务器。
3.根据权利要求2所述的方法,其特征在于,所述采集到的视频流数据包括不同型号的所述移动端采集到的相同分辨率的视频流数据,所述分辨率可自定义调节。
4.根据权利要求2所述的方法,其特征在于,所述视频流编解码参数包括:对不同类型的WEB浏览器的设置成对应的视频解码参数。
5.根据权利要求1所述的方法,其特征在于,所述配置所述移动端上WEB浏览器的预设采集参数,其中所述预设采集参数包括目标视频流分辨率以及视频流编解码参数,包括:
判断当前WEB浏览器的兼容性,并对所述当前WEB浏览器进行兼容性处理,以使所述当前WEB浏览器支持GetUserMedia的调用;
设置所述目标视频流分辨率,以使所述当前WEB浏览器满足对应视频流分辨率的要求;
根据浏览器视频容器属性设置所述视频流编解码参数,以使所述当前WEB浏览器具有对应的视频解码参数。
6.根据权利要求5所述的方法,其特征在于,所述设置所述目标视频流分辨率,以使所述当前WEB浏览器满足对应视频流分辨率的要求,包括:
在当前WEB浏览器无法满足所述目标视频流分辨率的情况下,则返回所述当前浏览器可满足的最大视频流分辨率;
如果所述当前浏览器可满足的最大视频流分辨率无法与所述目标视频流分辨率匹配,则不进行回调操作。
7.根据权利要求1所述的方法,其特征在于,所述启动所述WEB浏览器中的录制程序按照所述目标视频流分辨率、所述视频流编解码参数完成视频流数据采集,还包括:
启动所述WEB浏览器中的录制程序,录制完成视频流数据采集并设置捕获数据回调参数,所述回调参数包括含有视频数据流的Blob对象。
8.一种视频流数据采集装置,其特征在于,应用于移动端,所述装置包括:
配置模块,用于配置所述移动端上WEB浏览器的预设采集参数,其中所述预设采集参数包括目标视频流分辨率以及视频流编解码参数;
采集模块,用于启动所述WEB浏览器中的录制程序按照所述目标视频流分辨率、所述视频流编解码参数完成视频流数据采集。
9.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行所述权利要求1~7之任一所述方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行所述权利要求1~7之任一所述方法。
CN202210732111.6A 2022-06-23 视频流数据采集方法以及装置、电子设备、存储介质 Active CN115150375B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210732111.6A CN115150375B (zh) 2022-06-23 视频流数据采集方法以及装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210732111.6A CN115150375B (zh) 2022-06-23 视频流数据采集方法以及装置、电子设备、存储介质

Publications (2)

Publication Number Publication Date
CN115150375A true CN115150375A (zh) 2022-10-04
CN115150375B CN115150375B (zh) 2024-05-31

Family

ID=

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170289214A1 (en) * 2016-04-04 2017-10-05 Hanwha Techwin Co., Ltd. Method and apparatus for playing media stream on web browser
US20180131741A1 (en) * 2016-11-07 2018-05-10 Hanwha Techwin Co., Ltd. Adaptive media streaming method and apparatus according to decoding performance
CN108616709A (zh) * 2018-05-05 2018-10-02 珠海横琴盛达兆业科技投资有限公司 一种实现网页版的视频录像与储存的方法
CN108933888A (zh) * 2017-05-22 2018-12-04 中兴通讯股份有限公司 一种摄像头控制方法、设备及计算机存储介质
CN110750460A (zh) * 2019-10-24 2020-02-04 深圳前海微众银行股份有限公司 浏览器兼容性的检测方法、装置、设备及可读存储介质
CN111787399A (zh) * 2020-07-23 2020-10-16 成都云盯科技有限公司 一种视频播放方法、装置和系统
CN112044055A (zh) * 2020-08-31 2020-12-08 北京爱奇艺科技有限公司 图像数据采集方法、系统、装置、电子设备及存储介质
CN113691752A (zh) * 2021-09-01 2021-11-23 上海云从企业发展有限公司 基于终端设备的视频采集方法
CN114173158A (zh) * 2021-11-29 2022-03-11 北京百度网讯科技有限公司 人脸识别方法、云端设备、客户端设备、电子设备及介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170289214A1 (en) * 2016-04-04 2017-10-05 Hanwha Techwin Co., Ltd. Method and apparatus for playing media stream on web browser
US20180131741A1 (en) * 2016-11-07 2018-05-10 Hanwha Techwin Co., Ltd. Adaptive media streaming method and apparatus according to decoding performance
CN108933888A (zh) * 2017-05-22 2018-12-04 中兴通讯股份有限公司 一种摄像头控制方法、设备及计算机存储介质
CN108616709A (zh) * 2018-05-05 2018-10-02 珠海横琴盛达兆业科技投资有限公司 一种实现网页版的视频录像与储存的方法
CN110750460A (zh) * 2019-10-24 2020-02-04 深圳前海微众银行股份有限公司 浏览器兼容性的检测方法、装置、设备及可读存储介质
CN111787399A (zh) * 2020-07-23 2020-10-16 成都云盯科技有限公司 一种视频播放方法、装置和系统
CN112044055A (zh) * 2020-08-31 2020-12-08 北京爱奇艺科技有限公司 图像数据采集方法、系统、装置、电子设备及存储介质
CN113691752A (zh) * 2021-09-01 2021-11-23 上海云从企业发展有限公司 基于终端设备的视频采集方法
CN114173158A (zh) * 2021-11-29 2022-03-11 北京百度网讯科技有限公司 人脸识别方法、云端设备、客户端设备、电子设备及介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李墩浩;田联房;李向阳;李威;: "基于MPEG4硬件编码的视频监控系统的实现", 微计算机信息, no. 17 *
郭佳豪: ""基于Web的人脸关键点实时检测系统的研究与实现"", 《信息科技》, 15 May 2021 (2021-05-15) *

Similar Documents

Publication Publication Date Title
KR102416558B1 (ko) 영상 데이터 처리 방법, 장치 및 판독 가능 저장 매체
CN110933490B (zh) 一种画质和音质的自动调整方法、智能电视机及存储介质
EP3713212B1 (en) Image capture method, terminal, and storage medium
CN106803989B (zh) 多屏互动方法、装置及终端设备
CN111316627B (zh) 一种拍摄方法、用户终端及计算机可读存储介质
CN102710789B (zh) 智能终端间数据的交互方法、系统及装置
US20210358523A1 (en) Image processing method and image processing apparatus
US20230144483A1 (en) Method for encoding video data, device, and storage medium
US9565350B2 (en) Storyboards for capturing images
CN113055709B (zh) 视频发布方法、装置、设备、存储介质及程序产品
CN107040825B (zh) 终端、电视机、多屏互动系统和抓屏参数的设置方法
US10923072B2 (en) Method and device for displaying non-standard resolution data
CN110288678B (zh) 动态照片的生成方法、装置、计算机设备和存储介质
CA3102425C (en) Video processing method, device, terminal and storage medium
CN114937192A (zh) 图像处理方法、装置、电子设备及存储介质
CN103902635A (zh) 获取实时数据的方法、浏览器、多媒体设备及移动终端
CN115150375B (zh) 视频流数据采集方法以及装置、电子设备、存储介质
CN113455013B (zh) 用于处理图像的电子设备及其图像处理方法
CN115150375A (zh) 视频流数据采集方法以及装置、电子设备、存储介质
US8548275B2 (en) Image processing device and image processing method
CN101997869A (zh) 用于请求数据的方法及设备和用于获取数据的方法及设备
CN113489899A (zh) 特效视频录制方法、装置、计算机设备及存储介质
CN111147954A (zh) 一种缩略图抽取方法及装置
CN111080750A (zh) 一种机器人动画配置方法、装置及系统
CN115515008B (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
GR01 Patent grant