CN114760522A - 数据处理方法、装置和设备 - Google Patents

数据处理方法、装置和设备 Download PDF

Info

Publication number
CN114760522A
CN114760522A CN202011602507.6A CN202011602507A CN114760522A CN 114760522 A CN114760522 A CN 114760522A CN 202011602507 A CN202011602507 A CN 202011602507A CN 114760522 A CN114760522 A CN 114760522A
Authority
CN
China
Prior art keywords
video frame
screen sharing
sampling rate
queue
frames
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
Application number
CN202011602507.6A
Other languages
English (en)
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202011602507.6A priority Critical patent/CN114760522A/zh
Publication of CN114760522A publication Critical patent/CN114760522A/zh
Pending legal-status Critical Current

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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • H04L47/326Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames with random discard, e.g. random early discard [RED]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level

Landscapes

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

Abstract

本申请公开了一种数据处理方法,包括:接收屏幕共享视频帧,并对所述屏幕共享视频帧进行缓存;检测当前视频帧的发送耗时,并确定下一视频帧的采样率;在缓存的屏幕共享视频帧中获得下一视频帧,并根据所述采样率进行发送。采用上述方法,以提供屏幕共享时对网络环境自适应的能力。

Description

数据处理方法、装置和设备
技术领域
本申请涉及计算机技术领域,具体涉及一种数据处理方法、一种数据处理装置、一种电子设备和一种存储设备。
背景技术
随着互联网的不断发展,很多产品通过网络进行销售。例如,保险公司可以通过网络进行保险的销售。通过网络进行销售产品时通常采用具有远程双录功能的产品。利用具有远程双录质检功能的产品的音视频通信能力,保险公司可以通过网络进行销售。在音视频通话的过程中,保险销售人员可以开启屏幕共享功能,向客户展示手机上的文档等信息。但是在弱网条件下,屏幕共享时的屏幕流发送速度会受到严重影响,短时间内造成视频帧的堆积,从而导致手机app占用内存不断增加,最终导致app崩溃。
现有技术下,为了防止app占用内存不断增加而导致的崩溃,通常采用降低屏幕共享时视频帧的采样频率的方案。这样,即使在弱网条件下,也能保证每个视频帧都被发送成功,不会造成视频帧的堆积,从而不会使app占用内存不断增加。
但是上述方案存在下述缺点:无法对网络环境自适应。如果一味的降低视频帧的采样率,当采样率在1秒30帧以下时,会导致屏幕共享内容的卡顿。即使在网络条件好的情况下,也无法提高采样率,提高屏幕共享的流畅性。
因此,如何提供屏幕共享时对网络环境自适应的能力是亟待解决的问题。
发明内容
本申请提供一种数据处理方法、装置、电子设备和存储设备,以提供屏幕共享时对网络环境自适应的能力。
本申请提供一种数据处理方法,包括:
接收屏幕共享视频帧,并对所述屏幕共享视频帧进行缓存;
检测当前视频帧的发送耗时,并确定下一视频帧的采样率;
在缓存的屏幕共享视频帧中获得下一视频帧,并根据所述采样率进行发送。
作为一种实施方式,所述对所述屏幕共享视频帧进行缓存,包括:
将所述屏幕共享视频帧缓存至固定长度的队列中。
作为一种实施方式,所述方法还包括:
判断所述队列是否已满;
如果所述队列不满,执行所述将所述屏幕共享视频帧缓存至所述队列的步骤;
如果所述队列已满,删除所述队列中的部分视频帧,再执行所述将所述屏幕共享视频帧缓存至所述队列的步骤。
作为一种实施方式,所述删除所述队列中的部分视频帧,包括:
获取一个随机数,并将所述队列中位置为所述随机数的倍数的视频帧进行出队丢弃。
作为一种实施方式,所述删除所述队列中的部分视频帧,包括:
对所述队列中的第一个元素进行删除处理。
作为一种实施方式,所述确定下一视频帧的采样率,包括:
如果所述发送耗时小于或等于预设的时间段,则所述下一视频帧的采样率为预设的第一采样率;
如果所述发送耗时大于预设的时间段,根据所述发送耗时确定下一帧视频帧的采样率。
作为一种实施方式,所述根据所述发送耗时确定下一帧视频帧的采样率,包括:
根据所述发送耗时计算每秒发送的帧数;
将每秒发送的帧数作为下一帧视频帧的采样率。
本申请还提供一种数据处理装置,包括:
缓存单元,用于接收屏幕共享视频帧,并对所述屏幕共享视频帧进行缓存;
采样率确定单元,用于检测当前视频帧的发送耗时,并确定下一视频帧的采样率;
发送单元,用于在缓存的屏幕共享视频帧中获得下一视频帧,并根据所述采样率进行发送。
作为一种实施方式,所述缓存单元具体用于:
将所述屏幕共享视频帧缓存至固定长度的队列中。
作为一种实施方式,所述装置还包括:判断单元,
用于判断所述队列是否已满;
如果所述队列不满,执行所述将所述屏幕共享视频帧缓存至所述队列的步骤;
如果所述队列已满,删除所述队列中的部分视频帧,再执行所述将所述屏幕共享视频帧缓存至所述队列的步骤。
作为一种实施方式,所判断单元具体用于:
获取一个随机数,并将所述队列中位置为所述随机数的倍数的视频帧进行出队丢弃。
作为一种实施方式,所判断单元具体用于:
对所述队列中的第一个元素进行删除处理。
作为一种实施方式,所述采样率确定单元具体用于:
如果所述发送耗时小于或等于预设的时间段,则所述下一视频帧的采样率为预设的第一采样率;
如果所述发送耗时大于预设的时间段,根据所述发送耗时确定下一帧视频帧的采样率。
作为一种实施方式,所述采样率确定单元具体用于:
根据所述发送耗时计算每秒发送的帧数;
将每秒发送的帧数作为下一帧视频帧的采样率。
本申请还提供一种电子设备,包括:
处理器;以及
存储器,用于存储数据处理方法的程序,该设备通电并通过所述处理器运行该数据处理方法的程序后,执行下述步骤:
接收屏幕共享视频帧,并对所述屏幕共享视频帧进行缓存;
检测当前视频帧的发送耗时,并确定下一视频帧的采样率;
在缓存的屏幕共享视频帧中获得下一视频帧,并根据所述采样率进行发送。
本申请还提供一种存储设备,存储有数据处理方法的程序,该程序被处理器运行,执行下述步骤:
接收屏幕共享视频帧,并对所述屏幕共享视频帧进行缓存;
检测当前视频帧的发送耗时,并确定下一视频帧的采样率;
在缓存的屏幕共享视频帧中获得下一视频帧,并根据所述采样率进行发送。
与现有技术相比,本申请具有以下优点:
本申请提供一种数据处理方法,包括:接收屏幕共享视频帧,并对所述屏幕共享视频帧进行缓存;检测当前视频帧的发送耗时,并确定下一视频帧的采样率;在缓存的屏幕共享视频帧中获得下一视频帧,并根据所述采样率进行发送。本申请提供的数据处理方法,检测当前视频帧的发送耗时,并确定下一视频帧的采样率;在缓存的屏幕共享视频帧中获得下一视频帧,并根据所述采样率进行发送,由于当前视频帧的发送耗时与网络状态相关,根据耗时设置采样率,实现了发送屏幕共享视频帧的速度随着网络的状态而变化,提升了屏幕共享时对网络状态变化的自适应能力。
附图说明
图1a是本申请第一实施例提供的一种场景示意图。
图1是本申请第一实施例提供的一种数据处理方法的流程图。
图2是本申请第一实施例提供的一种客户端发送屏幕共享视频帧的流程图。
图3为本申请第二实施例提供的一种数据处理装置的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
为了使本领域的技术人员更好的理解本申请方案,首先对本申请的一个具体应用场景实施例进行详细描述。
如图1a,用户101为保险公司的销售人员,在客户端设备(例如,手机)102上安装了具有远程双录质检功能的客户端103,具有远程双录质检功能的客户端包括共享扩展程序、应用主程序(手机主app)和音视频会议程序(WebRTC);当用户101向用户106销售产品时,客户端设备102和客户端设备104分别与网络链接。首先,由用户101通过客户端设备102上的屏幕共享扩展程序采集屏幕共享视频帧,将采集的视频帧通过WebSocket发送到应用主程序;然后,应用主程序接收屏幕共享扩展程序采集的屏幕共享视频帧,并将接收的屏幕共享视频帧缓存;然后,应用主程序监测音视频会议程序中发送当前视频帧的发送耗时;根据发送当前视频帧的发送耗时,确定下一视频帧的采样率;在缓存的屏幕共享视频帧中获得下一视频帧,并根据采样率,将其发送到网络中,用户106通过具有远程双录质检功能的客户端105接收用户101通过网络发送的屏幕共享视频帧。
本申请第一实施例提供一种数据处理方法,其执行主体为应用主程序,下面结合图1至图2进行说明。
如图1所示,在步骤S101中,接收屏幕共享视频帧,并对所述屏幕共享视频帧进行缓存。
所述屏幕共享视频帧,指从屏幕中采集的与其他电子设备共享的视频帧。屏幕共享视频帧可以通过屏幕共享扩展程序采集,在被屏幕共享扩展程序采集后,需要经过音视频会议程序发送给其他被允许共享视频帧的电子设备。和摄像头采集数据一样,屏幕共享功能相当于对手机进行录制,并把录制的视频流发送出去。为了保证对方观看的流畅性,一般最低一秒发送30帧图像数据。
所述应用主程序,可以指运行在具有远程双录质检功能的客户端中的主程序。
所述共享扩展程序,可以指用于采集屏幕共享视频帧的程序。
所述音视频会议程序,可以指通过接口接收应用主程序发送的屏幕共享视频帧,并将接收的屏幕共享视频帧发送到网络中的程序。例如,音视频会议程序可以为WebRTC(Web Real-Time Communication,网页即时通信),是一个支持网页浏览器进行实时语音对话或视频对话的API。
屏幕共享扩展程序、应用主程序和音视频会议程序均为具有远程双录质检功能的客户端中包含的程序。
所述对所述屏幕共享视频帧进行缓存,包括:
将所述屏幕共享视频帧缓存至固定长度的队列中。
如图2所示,屏幕共享扩展程序以每秒30帧的速度采集屏幕流数据,通过WebSocket将屏幕流数据(即屏幕共享视频帧)发送给应用主程序,应用主程序接收屏幕共享扩展程序采集的屏幕共享视频帧,并将接收的屏幕共享视频帧存入预先设置的固定大小的队列。
作为一种实施方式,本申请第一实施例还可以包括:
判断所述队列是否已满;
如果所述队列不满,执行所述将所述屏幕共享视频帧缓存至固定长度的队列中的步骤;
如果所述队列已满,删除所述队列中的部分视频帧,再执行所述将所述屏幕共享视频帧缓存至固定长度的队列中的步骤。
例如,如果固定大小的队列为200帧的队列,如果队列中的视频帧为200帧,则队列已满,在将接收的屏幕共享视频帧存入队列之前,需要先对队列中的部分屏幕共享视频帧进行删除处理,删除处理后再将接收的屏幕共享视频帧存入队列;如果队列不满,将接收的屏幕共享视频帧直接缓存至队列。
所述删除所述队列中的部分视频帧,包括:
对所述队列中的第一个元素进行删除处理。
由于对队列中的第一个元素进行删除处理,当连续删除较多的队列中的屏幕共享视频帧时,可能导致丢掉一段时间的视频帧,使共享用户获得信息不全,为了保证用户获得信息的完整性,可以间断性丢弃一些队列中的视频帧。
所述删除所述队列中的部分视频帧,包括:
获取一个随机数,并将所述队列中位置为所述随机数的倍数的视频帧进行出队丢弃。
所述获取一个随机数,包括:根据当前时间戳数据确定一个随机数。
所述根据当前时间戳数据确定一个随机数,包括:
对当前时间戳数据针对预设周期值取模,得到一个随机数。
例如,可以设置预设周期为19,当前时间戳数据针对19取模,得到一个随机数,如果得到的随机数为6,则将队列中位置为6的倍数的屏幕共享视频帧进行删除处理,保证了删除数据在时间上的均匀分布,避免了一段时间内的信息的丢失,保证了用户获得信息的完整性。
如图1所示,在步骤S102中,检测当前视频帧的发送耗时,并确定下一视频帧的采样率。
由于当前视频帧的发送耗时可以说明当前的网络状态,如果耗时大,说明网络状态较差,处于弱网(低于3G速率的属于弱网)中,如果耗时小,则说明网络状态较好,因此应用主程序监测当前视频帧的发送耗时后,就可以根据发送耗时来决定下一视频帧的采样率,以适应当前网络状态。
所述确定下一视频帧的采样率,包括:
如果所述发送耗时小于或等于预设的时间段,则所述下一视频帧的采样率为预设的第一采样率;
如果所述发送耗时大于预设的时间段,根据所述发送耗时确定下一帧视频帧的采样率。
所述预设的第一采样率,指采集屏幕共享视频帧的采样率。例如,如果屏幕共享扩展程序以每秒30帧的速度采集屏幕共享视频帧,则预设的第一采样率为30帧/秒。
所述预设的时间段,指采集一帧屏幕共享视频帧所需的时间。例如,如果第一采样率为30帧/秒,则预设的时间段为1000/30ms(毫秒),即33ms。
如果当前视频帧的发送耗时小于或等于预设的时间段,则说明网络状态可以满足按照第一采样率的速度将屏幕共享视频帧发送出去,因此可以根据预设的第一采样率从缓存的屏幕共享视频帧中获得下一帧屏幕共享视频帧。例如,如果第一采样率为30帧/秒,如果当前视频帧的发送耗时为30ms,即小于或等于预设的时间段33ms,则确定下一视频帧的采样率为预设的第一采样率30帧/秒。
如果当前视频帧的发送耗时大于预设的时间段,则说明网络状态不能满足按照第一采样率的速度将屏幕共享视频帧发送出去,因此需要根据当前视频帧的发送耗时,确定下一视频帧的采样率。
所述根据所述发送耗时确定下一帧视频帧的采样率,包括:
根据所述发送耗时计算每秒发送的帧数;
将每秒发送的帧数作为下一帧视频帧的采样率。
例如,当前视频帧的发送耗时为50ms,大于预设的时间段33ms,则根据发送耗时计算每秒发送的帧数1000/50=20帧/秒,将20帧/秒作为下一帧视频帧的采样率。
如图1所示,在步骤S103中,在缓存的屏幕共享视频帧中获得下一视频帧,并根据所述采样率进行发送。
根据当前的采样率,从缓存的屏幕共享视频帧中获得下一视频帧发送到网络中,实现了发送屏幕共享视频帧的速度随着网络的状态而变化,提升了屏幕共享时对网络变化的自适应能力。具体实施时,可以通过音视频会议程序将下一视频帧发送到网络中。
作为一种实施方式,应用主程序可以包括:第一线程和第二线程;
应用主程序的第一线程接收接收屏幕共享视频帧,并对所述屏幕共享视频帧进行缓存;
应用主程序的第二线程检测当前视频帧的发送耗时,并确定下一视频帧的采样率;在缓存的屏幕共享视频帧中获得下一视频帧,并根据所述采样率进行发送。
例如,如图2所示,应用主程序包括:线程1和线程2,线程1接收屏幕共享扩展程序采集的屏幕共享视频帧(图2中的视频帧),并将接收的屏幕共享视频帧存入预先设置的固定大小的队列;线程2监测当前视频帧的发送耗时;根据发送耗时,确定从队列中获得下一视频帧的采样率;根据采样率,从队列中获得下一视频帧并通过音视频会议程序(WebRTC)发送到网络中。
作为一种实施方式,应用主程序还可以包括:第一线程、第二线程和第三线程;
应用主程序的第一线程接收接收屏幕共享视频帧,并对所述屏幕共享视频帧进行缓存;
应用主程序的第二线程检测当前视频帧的发送耗时,应用主程序的第三线程确定下一视频帧的采样率;在缓存的屏幕共享视频帧中获得下一视频帧,并根据所述采样率进行发送。
本申请第一实施例提供的数据处理方法,可以用于保险销售场景中,还可以用于金融行业的理财产品销售、司法审讯、面试等场景中。
例如,当理财产品销售人员在向客户A销售理财产品时,理财产品销售人员和客户A分别安装了具有远程双录质检功能的客户端;当理财产品销售人员向客户销售产品时,理财产品销售人员和客户A使用的客户端设备分别与网络链接,首先,由理财产品销售人员通过客户端设备上的屏幕共享扩展程序采集屏幕共享视频帧,将采集的视频帧通过WebSocket发送到应用主程序;然后,应用主程序接收屏幕共享扩展程序采集的屏幕共享视频帧,并将接收的屏幕共享视频帧缓存;然后,应用主程序监测音视频会议程序中发送当前视频帧的发送耗时;根据发送当前视频帧的发送耗时,确定下一视频帧的采样率;在缓存的屏幕共享视频帧中获得下一视频帧,并根据采样率,将其发送到网络中,客户A通过具有远程双录质检功能的客户端接收理财产品销售人员通过网络发送的屏幕共享视频帧,进而完成销售过程。
再如,当办案人员向案件相关人员获取口供时,办案人员和案件相关人员分别安装了具有远程双录质检功能的客户端;当办案人员向案件相关人员获取口供时,办案人员和案件相关人员使用的客户端设备分别与网络链接,首先,办案人员通过客户端设备上的屏幕共享扩展程序采集屏幕共享视频帧,将采集的视频帧通过WebSocket发送到应用主程序;然后,应用主程序接收屏幕共享扩展程序采集的屏幕共享视频帧,并将接收的屏幕共享视频帧缓存;然后,应用主程序监测音视频会议程序中发送当前视频帧的发送耗时;根据发送当前视频帧的发送耗时,确定下一视频帧的采样率;在缓存的屏幕共享视频帧中获得下一视频帧,并根据采样率,将其发送到网络中,案件相关人员通过具有远程双录质检功能的客户端接收办案人员通过网络发送的屏幕共享视频帧,进而完成口供录制。
再如,本申请第一实施例提供的数据处理方法用于面试场景中,与理财产品销售场景类似,只是将理财产品销售人员和客户改为面试官和面试者即可,此处不再赘述。
与本申请第一实施例提供的数据处理方法相对应的,本申请第二实施例提供一种数据处理装置。
如图3所示,所述数据处理装置,包括:
缓存单元301,用于接收屏幕共享视频帧,并对所述屏幕共享视频帧进行缓存;
采样率确定单元302,用于检测当前视频帧的发送耗时,并确定下一视频帧的采样率;
发送单元303,用于在缓存的屏幕共享视频帧中获得下一视频帧,并根据所述采样率进行发送。
作为一种实施方式,所述缓存单元具体用于:
将所述屏幕共享视频帧缓存至固定长度的队列中。
作为一种实施方式,所述装置还包括:判断单元,
用于判断所述队列是否已满;
如果所述队列不满,执行所述将所述屏幕共享视频帧缓存至所述队列的步骤;
如果所述队列已满,删除所述队列中的部分视频帧,再执行所述将所述屏幕共享视频帧缓存至所述队列的步骤。
作为一种实施方式,所判断单元具体用于:
获取一个随机数,并将所述队列中位置为所述随机数的倍数的视频帧进行出队丢弃。
作为一种实施方式,所判断单元具体用于:
对所述队列中的第一个元素进行删除处理。
作为一种实施方式,所述采样率确定单元具体用于:
如果所述发送耗时小于或等于预设的时间段,则所述下一视频帧的采样率为预设的第一采样率;
如果所述发送耗时大于预设的时间段,根据所述发送耗时确定下一帧视频帧的采样率。
作为一种实施方式,所述采样率确定单元具体用于:
根据所述发送耗时计算每秒发送的帧数;
将每秒发送的帧数作为下一帧视频帧的采样率。
需要说明的是,对于本申请第二实施例提供的装置的详细描述可以参考对本申请第一实施例的相关描述,这里不再赘述。
与本申请第一实施例提供的数据处理方法相对应的,本申请第三实施例提供一种电子设备,包括:
处理器;以及
存储器,用于存储数据处理方法的程序,该设备通电并通过所述处理器运行该数据处理方法的程序后,执行下述步骤:
接收屏幕共享视频帧,并对所述屏幕共享视频帧进行缓存;
检测当前视频帧的发送耗时,并确定下一视频帧的采样率;
在缓存的屏幕共享视频帧中获得下一视频帧,并根据所述采样率进行发送。
作为一种实施方式,所述对所述屏幕共享视频帧进行缓存,包括:
将所述屏幕共享视频帧缓存至固定长度的队列中。
作为一种实施方式,所述电子设备还执行下述步骤:
判断所述队列是否已满;
如果所述队列不满,执行所述将所述屏幕共享视频帧缓存至所述队列的步骤;
如果所述队列已满,删除所述队列中的部分视频帧,再执行所述将所述屏幕共享视频帧缓存至所述队列的步骤。
作为一种实施方式,所述删除所述队列中的部分视频帧,包括:
获取一个随机数,并将所述队列中位置为所述随机数的倍数的视频帧进行出队丢弃。
作为一种实施方式,所述删除所述队列中的部分视频帧,包括:
对所述队列中的第一个元素进行删除处理。
作为一种实施方式,所述确定下一视频帧的采样率,包括:
如果所述发送耗时小于或等于预设的时间段,则所述下一视频帧的采样率为预设的第一采样率;
如果所述发送耗时大于预设的时间段,根据所述发送耗时确定下一帧视频帧的采样率。
作为一种实施方式,所述根据所述发送耗时确定下一帧视频帧的采样率,包括:
根据所述发送耗时计算每秒发送的帧数;
将每秒发送的帧数作为下一帧视频帧的采样率。
需要说明的是,对于本申请第三实施例提供的电子设备的详细描述可以参考对本申请第一实施例的相关描述,这里不再赘述。
与本申请第一实施例提供的数据处理方法相对应的,本申请第四实施例提供一种存储设备,存储有数据处理方法的程序,该程序被处理器运行,执行下述步骤:
接收屏幕共享视频帧,并对所述屏幕共享视频帧进行缓存;
检测当前视频帧的发送耗时,并确定下一视频帧的采样率;
在缓存的屏幕共享视频帧中获得下一视频帧,并根据所述采样率进行发送。
需要说明的是,对于本申请第四实施例提供的存储设备的详细描述可以参考对本申请第一实施例的相关描述,这里不再赘述。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (10)

1.一种数据处理方法,其特征在于,包括:
接收屏幕共享视频帧,并对所述屏幕共享视频帧进行缓存;
检测当前视频帧的发送耗时,并确定下一视频帧的采样率;
在缓存的屏幕共享视频帧中获得下一视频帧,并根据所述采样率进行发送。
2.根据权利要求1所述的方法,其特征在于,所述对所述屏幕共享视频帧进行缓存,包括:
将所述屏幕共享视频帧缓存至固定长度的队列中。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
判断所述队列是否已满;
如果所述队列不满,执行所述将所述屏幕共享视频帧缓存至所述队列的步骤;
如果所述队列已满,删除所述队列中的部分视频帧,再执行所述将所述屏幕共享视频帧缓存至所述队列的步骤。
4.根据权利要求3所述的方法,其特征在于,所述删除所述队列中的部分视频帧,包括:
获取一个随机数,并将所述队列中位置为所述随机数的倍数的视频帧进行出队丢弃。
5.根据权利要求3所述的方法,其特征在于,所述删除所述队列中的部分视频帧,包括:
对所述队列中的第一个元素进行删除处理。
6.根据权利要求1所述的方法,其特征在于,所述确定下一视频帧的采样率,包括:
如果所述发送耗时小于或等于预设的时间段,则所述下一视频帧的采样率为预设的第一采样率;
如果所述发送耗时大于预设的时间段,根据所述发送耗时确定下一帧视频帧的采样率。
7.根据权利要求6所述的方法,其特征在于,所述根据所述发送耗时确定下一帧视频帧的采样率,包括:
根据所述发送耗时计算每秒发送的帧数;
将每秒发送的帧数作为下一帧视频帧的采样率。
8.一种数据处理装置,其特征在于,包括:
缓存单元,用于接收屏幕共享视频帧,并对所述屏幕共享视频帧进行缓存;
采样率确定单元,用于检测当前视频帧的发送耗时,并确定下一视频帧的采样率;
发送单元,用于在缓存的屏幕共享视频帧中获得下一视频帧,并根据所述采样率进行发送。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储数据处理方法的程序,该设备通电并通过所述处理器运行该数据处理方法的程序后,执行下述步骤:
接收屏幕共享视频帧,并对所述屏幕共享视频帧进行缓存;
检测当前视频帧的发送耗时,并确定下一视频帧的采样率;
在缓存的屏幕共享视频帧中获得下一视频帧,并根据所述采样率进行发送。
10.一种存储设备,其特征在于,存储有数据处理方法的程序,该程序被处理器运行,执行下述步骤:
接收屏幕共享视频帧,并对所述屏幕共享视频帧进行缓存;
检测当前视频帧的发送耗时,并确定下一视频帧的采样率;
在缓存的屏幕共享视频帧中获得下一视频帧,并根据所述采样率进行发送。
CN202011602507.6A 2020-12-29 2020-12-29 数据处理方法、装置和设备 Pending CN114760522A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011602507.6A CN114760522A (zh) 2020-12-29 2020-12-29 数据处理方法、装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011602507.6A CN114760522A (zh) 2020-12-29 2020-12-29 数据处理方法、装置和设备

Publications (1)

Publication Number Publication Date
CN114760522A true CN114760522A (zh) 2022-07-15

Family

ID=82324313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011602507.6A Pending CN114760522A (zh) 2020-12-29 2020-12-29 数据处理方法、装置和设备

Country Status (1)

Country Link
CN (1) CN114760522A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080101466A1 (en) * 2006-11-01 2008-05-01 Swenson Erik R Network-Based Dynamic Encoding
US8161392B1 (en) * 2005-04-06 2012-04-17 Teradici Corporation Methods and apparatus for managing a shared GUI
CN102547375A (zh) * 2010-12-23 2012-07-04 上海讯垒网络科技有限公司 一种快速实现预览h.264编码帧的传输方法
CN107172354A (zh) * 2017-06-21 2017-09-15 深圳市万普拉斯科技有限公司 视频处理方法、装置、电子设备及存储介质
CN109327699A (zh) * 2017-07-31 2019-02-12 华为技术有限公司 一种图像的处理方法、终端和服务器
CN111726657A (zh) * 2019-03-18 2020-09-29 北京奇虎科技有限公司 直播视频的播放处理方法、装置及服务器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8161392B1 (en) * 2005-04-06 2012-04-17 Teradici Corporation Methods and apparatus for managing a shared GUI
US20080101466A1 (en) * 2006-11-01 2008-05-01 Swenson Erik R Network-Based Dynamic Encoding
CN102547375A (zh) * 2010-12-23 2012-07-04 上海讯垒网络科技有限公司 一种快速实现预览h.264编码帧的传输方法
CN107172354A (zh) * 2017-06-21 2017-09-15 深圳市万普拉斯科技有限公司 视频处理方法、装置、电子设备及存储介质
CN109327699A (zh) * 2017-07-31 2019-02-12 华为技术有限公司 一种图像的处理方法、终端和服务器
CN111726657A (zh) * 2019-03-18 2020-09-29 北京奇虎科技有限公司 直播视频的播放处理方法、装置及服务器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
南春辉;李博;武颖;: "动态网络环境下的音视频同步技术", 计算机系统应用, no. 11, 15 November 2012 (2012-11-15) *
夏金瑶;肖炳甲;李丹;王开荣;罗文利;: "基于Web的EAST实时视频点播系统", 计算机系统应用, no. 03, 15 March 2017 (2017-03-15) *

Similar Documents

Publication Publication Date Title
WO2017107649A1 (zh) 一种视频传输方法和装置
JP5724038B2 (ja) カメラおよび背景の動きに基づく、参照フレームバッファの適応的設定
CN111436004B (zh) 视频播放方法、装置和设备、计算机可读存储介质
CN107948713B (zh) 一种延时直播方法及系统
US20170201353A1 (en) Backfill of video stream
CN111258736B (zh) 信息处理方法、装置和电子设备
CN110198475B (zh) 视频处理方法、装置、设备、服务器与可读存储介质
JP2008263370A (ja) カメラ装置及び情報配信装置
CN111327956A (zh) 一种视频播放方法、装置及电子设备
WO2019134499A1 (zh) 一种用于对视频帧进行实时标注的方法与设备
US20220239967A1 (en) Management of video data storage across multiple storage locations
US20090204790A1 (en) Buffer management for real-time streaming
CN110582016A (zh) 视频信息展示方法、装置、服务器及存储介质
CN114760522A (zh) 数据处理方法、装置和设备
CN113784073A (zh) 一种录音录像声音和画面同步方法、装置及相关介质
WO2024119812A1 (zh) 图片处理方法、系统、装置、图像压缩装置及存储介质
CN102938829A (zh) 一种实时音视频流的预录实现方法
CN111314350A (zh) 图像存储系统、存储方法、调用系统和调用方法
CN104125497B (zh) 一种网页录像方法及装置
CN115878379A (zh) 一种数据备份方法、主服务器、备份服务器及存储介质
CN113407344A (zh) 一种处理卡顿的方法及装置
CN110113641B (zh) 视频数据的传输方法、装置、边缘服务节点及介质
CN115426317B (zh) 数据传输速率控制方法、装置及电子设备
TWI566604B (zh) 影像擷取裝置、影像擷取系統及儲存媒體
JP7229822B2 (ja) 表示画像データ取得装置、表示画像データ取得方法及び表示画像データ取得プログラム

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