CN110213308A - 一种解码视频数据的方法及装置 - Google Patents

一种解码视频数据的方法及装置 Download PDF

Info

Publication number
CN110213308A
CN110213308A CN201810166306.2A CN201810166306A CN110213308A CN 110213308 A CN110213308 A CN 110213308A CN 201810166306 A CN201810166306 A CN 201810166306A CN 110213308 A CN110213308 A CN 110213308A
Authority
CN
China
Prior art keywords
video data
browser
spatial cache
data
data volume
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
CN201810166306.2A
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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201810166306.2A priority Critical patent/CN110213308A/zh
Publication of CN110213308A publication Critical patent/CN110213308A/zh
Pending legal-status Critical Current

Links

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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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

Landscapes

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

Abstract

本申请是关于一种解码视频数据的方法及装置,属于通信领域。所述方法包括:在浏览器将其接收的发送方发送的视频数据输入缓存空间时,获取所述缓存空间的第一数据量,所述缓存空间位于所述浏览器的代码层;在所述第一数据量超过预设第一阈值时,丢弃所述浏览器在当前时间之后接收的视频数据,和或,通知所述发送方暂停发送视频数据;从所述缓存空间中读取视频数据并解码所述读取的视频数据。所述装置包括:获取模块、丢弃模块和解码模块。本申请能够避免导致浏览器崩溃。

Description

一种解码视频数据的方法及装置
技术领域
本申请涉及显示领域,特别涉及一种解码视频数据的方法及装置。
背景技术
随着社会的不断进步,视频监控***的应用范围越来越广,同时用户可以使用浏览器观看视频监控***拍摄的视频。目前最新的浏览器是超级文本标记语言5(HyperTextMarkup Language5,HTML5)浏览器,HTML5浏览器按如下方式播放视频监控***拍摄的视频。
HTML5浏览器接收视频监控***发送的视频数据,并缓存接收的视频数据,然后从缓存的视频数据中读取一帧视频数据,使用解码器对该一帧视频数据进行解码,最后播放解码出的视频数据。
发明人在实现本申请的过程中,发现上述方式至少存在如下缺陷:
在解码器的性能不足时,解码器解码视频数据的速率小于HTML5浏览器接收视频数据的速率,这样导致HTML5浏览器缓存的视频数据的数据量越来越大,占用大量的内存空间,最终导致浏览器崩溃。
发明内容
为了避免导致浏览器崩溃,本申请实施例提供了一种解码视频数据的方法及装置。所述技术方案如下:
一方面,本申请实施例一种解码视频数据的方法,所述方法包括:
在浏览器将其接收的发送方发送的视频数据输入缓存空间时,获取所述缓存空间的第一数据量,所述缓存空间位于所述浏览器的代码层;
在所述第一数据量超过预设第一阈值时,丢弃所述浏览器在当前时间之后接收的视频数据,和/或,通知所述发送方暂停发送视频数据;
从所述缓存空间中读取视频数据并解码所述读取的视频数据。
可选的,所述获取所述缓存空间中的第一数据量,包括:
在浏览器将其接收的视频数据输入缓存空间时,将已记录的所述缓存空间的数据量增加所述接收的视频数据的数据量,得到第一数据量。
可选的,所述从所述缓存空间中读取一帧视频数据之后,还包括:
将已记录的所述缓存空间的数据量减小所述读取的视频数据的数据量。
可选的,所述丢弃所述浏览器在当前时间之后接收的视频数据,包括:
通知所述浏览器丢弃所述浏览器在当前时间之后接收的视频数据;或者,
在当前时间之后所述浏览器向所述缓存空间中缓存视频数据时,从当前时间之后缓存的视频数据中获取非关键帧视频数据,丢弃所述非关键帧视频数据。
可选的,所述从所述缓存空间中读取视频数据并解码所述读取的视频数据之后,还包括:
获取所述缓存空间的第二数据量,在所述第二数据量低于预设第二阈值且所述浏览器处于丢弃视频数据状态时,停止丢弃所述浏览器在当前时间之后接收的视频数据;和/或,在所述第二数据量低于预设第二阈值且所述发送方处于暂停发送视频数据状态时,所述预设第二阈值小于或等于所述预设第一阈值。
可选的,所述停止丢弃所述浏览器在当前时间之后接收的视频数据,包括:
通知所述浏览器停止丢弃所述浏览器在当前时间之后接收的视频数据。
可选的,所述浏览器的代码层为JavaScript层。
另一方面,本申请实施例提供了一种解码视频数据的装置,所述装置包括:
获取模块,用于在浏览器将其接收的发送方发送的视频数据输入缓存空间时,获取所述缓存空间的第一数据量,所述缓存空间位于所述浏览器的代码层;
丢弃模块,用于在所述第一数据量超过预设第一阈值时,丢弃所述浏览器在当前时间之后接收的视频数据,和/或,通知所述发送方暂停发送视频数据;
解码模块,用于从所述缓存空间中读取视频数据并解码所述读取的视频数据。
可选的,所述获取模块,用于:
在浏览器将其接收的视频数据输入缓存空间时,将已记录的所述缓存空间的数据量增加所述接收的视频数据的数据量,得到第一数据量。
可选的,所述装置还包括:
减小模块,用于将已记录的所述缓存空间的数据量减小所述读取的视频数据的数据量。
可选的,所述丢弃模块包括:
通知单元,用于通知所述浏览器丢弃所述浏览器在当前时间之后接收的视频数据;或者,
丢弃单元,用于在当前时间之后所述浏览器向所述缓存空间中缓存视频数据时,从当前时间之后缓存的视频数据中获取非关键帧视频数据,丢弃所述非关键帧视频数据。
可选的,所述装置还包括:
停止模块,用于获取所述缓存空间的第二数据量,在所述第二数据量低于预设第二阈值且所述浏览器处于丢弃视频数据状态时,停止丢弃所述浏览器在当前时间之后接收的视频数据;和/或,在所述第二数据量低于预设第二阈值且所述发送方处于暂停发送视频数据状态时,所述预设第二阈值小于或等于所述预设第一阈值。
可选的,所述停止模块,用于:
通知所述浏览器停止丢弃所述浏览器在当前时间之后接收的视频数据。
可选的,所述浏览器的代码层为JavaScript层。
另一方面,本申请实施例提供了一种计算机可读存储介质,用于存储计算机程序指令,所述计算机程序指令可以被处理器运行,以执行如下操作:
在浏览器将其接收的发送方发送的视频数据输入缓存空间时,获取所述缓存空间的第一数据量,所述缓存空间位于所述浏览器的代码层;
在所述第一数据量超过预设第一阈值时,丢弃所述浏览器在当前时间之后接收的视频数据,和/或,通知所述发送方暂停发送视频数据;
从所述缓存空间中读取视频数据并解码所述读取的视频数据。
本申请实施例提供的技术方案可以包括以下有益效果:
通过在浏览器的代码层中设置缓存空间,从而可以获取该缓存空间的第一数据量,在第一数据量超过预设第一阈值时,丢弃浏览器在当前时间之后接收的视频数据,并从该缓存空间中读取并解码视频数据,使缓存空间中的数据量不断减小,避免导致浏览器崩溃。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1-1是本申请实施例提供的一种网络架构示意图;
图1-2是本申请实施例提供的另一种网络架构示意图;
图2是本申请实施例提供的一种解码视频数据的方法流程图;
图3是本申请实施例提供的一种解码视频数据的装置结构示意图;
图4是本申请实施例提供的另一种解码视频数据的装置结构示意图;
图5是本申请实施例提供的另一种解码视频数据的装置结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
参见图1-1,本申请实施例提供了一种网络架构,包括:
播放终端1和至少一个拍摄设备2,播放终端1可以与该至少一个拍摄设备2中的部分或全部拍摄设备2建立通信连接。该至少一个拍摄设备2可以组成监控***。
播放终端1中可以安装有浏览器,通过该浏览器可以接收该至少一个拍摄设备2中任一一个或多个拍摄设备2发送的其拍摄的视频数据,以及通过该浏览器播放该视频数据。
可选的,参见图1-2,该监控***还可以包括服务器3,该至少一个拍摄设备2中的每个拍摄设备2可以与该服务器3之间建立有通信连接,每个拍摄设备2可以向服务器3发送拍摄的视频数据。
播放终端1可以与服务器3之间建立有通信连接,可以通过该浏览器接收该服务器3发送的一个或多个拍摄设备2拍摄的视频数据,以及通过该浏览器播放该视频数据。
播放终端1在接收到视频数据后,可以先解码该视频数据,然后再播放解码的视频数据,详细解码过程可以参见如下任一实施例的内容。
可选的,该浏览器可以为HTML5浏览器,播放终端1可以计算机、手机、笔记本电脑或平板电脑等。
参见图2,本申请实施例提供了一种解码视频数据的方法,所述方法包括:
步骤201:在浏览器将其接收的发送方发送的视频数据输入缓存空间时,获取该缓存空间的第一数据量,该缓存空间位于浏览器的代码层。
步骤202:在第一数据量超过预设第一阈值时,丢弃浏览器在当前时间之后接收的视频数据,和/或,通知发送方暂停发送视频数据。
其中,在通知发送方后,可能存在网络延时,导致在通知发送方后的一段时间内浏览器仍能接收到视频数据并向缓存空间中缓存该视频数据。为此在通知发送方暂停发送视频数据时还丢弃浏览器在当前时间之后接收的视频数据,可以有效避免在通知发送方后的一段时间内缓存空间中的数据量继续增加,有效解决因网络延时带来的通知生效延时问题。
步骤203:从该缓存空间中读取视频数据并解码该读取的视频数据。
其中,步骤202和步骤203的执行顺序不分先后,可以同时执行步骤202和步骤203,也可以先执行步骤202再执行步骤203,也可以先执行步骤203再执行步骤202。
在本申请实施例中,由于在浏览器的代码层中设置缓存空间,从而可以获取该缓存空间的第一数据量,在第一数据量超过预设第一阈值时,丢弃浏览器在当前时间之后接收的视频数据,并从该缓存空间中读取并解码视频数据,使缓存空间中的数据量不断减小,避免导致浏览器崩溃。
参见图3,本申请实施例提供了一种解码视频数据的方法,包括:
步骤301:在浏览器将其接收的发送方发送的视频数据输入到缓存空间时,获取该缓存空间的第一数据量,该缓存空间位于浏览器的代码层。
在执行本步骤之前,先在浏览器的代码层中设置一个缓存空间,该代码层可以为JavaScript层。
浏览器可以接收视频监控***发送的视频数据,每接收到视频数据,将该视频数据缓存到该缓存空间中。即发送方可以为监控***,可选的,发送方可以为监控***中的拍摄设备或服务器等。
在本实施例中可以在浏览器中设置一个处理模块,该处理模块可以对该缓存空间进行实时监控,以实时获取该缓存空间的第一数据量。
在浏览器向缓存空间中缓存接收的视频数据时,处理模块可以直接统计该缓存空间的第一数据量;或者,在浏览器将其接收的视频数据缓存在该缓存空间时,将已记录的该缓存空间的数据量增加该接收的视频数据的数据量,得到第一数据量。
处理模块会实时记录缓存空间中的数据量,例如,记录的数据量为N,表示缓存空间当前的数据量为N。
在缓存空间中缓存的视频数据发生变化时,处理模块会更新N的值。例如,在浏览器向该缓存空间缓存其接收的视频数据时,设置N=N+m,m为接收的视频数据的数据量;再如,在从该缓存空间中读取视频数据并送入解码器解码时,设置N=N-M,M为读取的视频数据的数据量。
其中,需要说明的是:如果在浏览器向缓存空间缓存视频数据之前该缓存空间是空的,即记录的N=0,表示在本步骤中浏览器首次向缓存空间缓存的视频数据。假设该视频数据的数量为m,在浏览器向缓存空间缓存该视频数据后,设置N=m,然后从该缓存空间读取该视频数据,并将读取的视频数据送入解码器中,通过解码解码该读取的视频数据,假设该读取的视频数据的数据量为M,当读取视频数据时,同时设置N=N-M=m-M。
如果在浏览器向缓存空间缓存视频数据之前该缓存空间不是空的,即记录的N不等于0,则在浏览器向缓存空间缓存该视频数据后,缓存的该视频数据的数据量为m,设置N=N+m。在解码器输出解码的一帧视频数据后,再从该缓存空间中读取视频数据,并将该读取的视频数据送入解码器解码该读取的视频数据,该读取的视频数据的数据量为M,设置N=N-M。
该解码器也可以位于浏览器中。
在向解码器送入视频数据时,如果浏览器向该缓存空间缓存的视频数据是第一帧视频数据时,即在向该缓存空间缓存视频数据之前该缓存空间是空的,则从该缓存空间中读取一段视频数据,并将该一段视频数据送入解码器中解码。
如果浏览器向该缓存空间缓存的视频数据不是第一帧视频数据时,即在向该缓存空间缓存视频数据之前该缓存空间不是空的,则判断上一次送入解码器的视频数据是否已解出视频帧,如果解出视频帧,从缓存空间中读取一段视频数据送入解码器中解码。如果没有解出视频帧,则等待解码出一帧视频帧。
在等待解码出一帧视频帧时,如果已送入解码器的视频数据不足于解码器解码出一帧视频帧,则需要从该缓存空间中读取一段视频数据送入解码器,以使解码器解码出一帧视频帧。
其中,还需要说明的是:在解码器解码视频数据的速率大于或等于浏览器接收视频数据的速率时,该缓存空间中的数据量不会增加。在解码器解码视频数据的速率小于浏览器接收视频数据的速率时,该缓存空间中的数据量可能会不断地增加。
为了避免该缓存空间中的数据量不断增加,占用大量的内存空间,导致***崩溃,可以采用如下步骤来避免。
步骤302:在第一数据量超过预设第一阈值时,丢弃浏览器在当前时间之后接收的视频数据,和/或,通知发送方暂停发送视频数据。
可以通过如下两种方式来丢弃浏览器在当前时间之后接收的视频数据,分别为:
对于第一种方式可以为:通知浏览器丢弃浏览器在当前时间之后接收的视频数据。
在第一种方式中,可以向浏览器发送第一通知消息,该第一通知消息携带丢弃事件指令。浏览器接收该第一通知消息,根据该第一通知消息携带的丢弃事件指令的指示,在其每当接收到视频数据时丢弃接收的该视频数据;或者,根据该第一通知消息携带的丢弃事件指令的指示,停止接收视频数据。
对于第二种方式可以为:从浏览器在当前时间之后向缓存空间中缓存的视频数据中获取非关键帧视频数据,丢弃该非关键帧视频数据。
在发现第一数据量超过预设第一阈值之后,浏览器还可能继续接收视频数据,并每当接收到视频数据后将接收的该视频数据缓存在该缓存空间中。相应地,判断浏览器缓存的该视频数据,如果该视频数据为非关键帧视频数据,则从该缓存空间中读取该非关键帧视频数据并丢弃该非关键帧视频数据,如果该视频数据为关键帧视频数据,则保留该关键帧视频数据。
可选的,在浏览器向该缓存空间中缓存视频数据时,将记录的N的值增加该缓存的视频数据的数据量;在从该缓存空间中丢弃视频数据时,将记录的N的值减小丢弃的该视频数据的数据量。
其中,视频监控***发送的视频数据包括关键帧视频数据和非关键帧视频数据,每个关键帧视频数据对应至少一个非关键帧视频数据。关键帧视频数据是完整的一帧视频数据,非关键帧视频数据是不完整的一帧视频数据。解码器可以解码一个关键帧视频数据,在解码非关键视频数据时需要使用到该非关键视频数据对应的关键帧视频数据。
在第二种方式中,将数据完整的关键帧视频数据保留在缓存空间中,将数据不完整的非关键帧视频数据丢弃,这样可以最大限度的保留视频内容,同时使该缓存空间中缓存的数据量缓慢的降低。
可选的,在通知发送方暂停发送视频数据时,发送方可以将视频数据暂时缓存在本地,在等待到浏览器发送的用于指示重新发送的视频数据的指令时,再将缓存的视频数据发送给浏览器播放,这样可以避免因丢弃视频数据导致的内容跳跃。
步骤303:从该缓存空间中读取视频数据并使用解码器解码该读取的视频数据。
在第一数据量超过预设第一阈值时或者在第一数据量未超过预设第一阈值时,只要该缓存空间中缓存有视频数据,就会从该缓存空间中读取视频数据并使用解码器解码该视频数据。
可选的,在从该缓存空间中读取视频数据后,还可以将记录的N的值减小读取的该视频数据的数据量。
在解码器解码出一帧视频数据后,浏览器就可以播放该一帧视频数据。
在执行步骤302之后,由于不断地从该缓存空间中读取视频数据并送入解码器解码,所以该缓存空间中缓存的视频数据的数据量在不断的减小。当缓存空间的数据量低于预设第二阈值时,可以执行如下步骤304。
步骤304:获取该缓存空间的第二数据量,在第二数据量低于预设第二阈值时,停止丢弃浏览器在当前时间之后接收的视频数据和/或通知发送方发送视频数据。
可选的,在第二数据量低于预设第二阈值且浏览器处于丢弃视频数据状态时,停止丢弃浏览器在当前时间之后接收的视频数据;和/或,在第二数据量低于预设第二阈值且发送方处于暂停发送视频数据状态时,通知发送方恢复发送视频数据。
第二阈值小于或等于第一阈值。
在本步骤中,可以对该缓存空间中缓存的数据进行统计得到第二数据量;或是,如果记录了该缓存空间的数据量N,则直接读取N的值,将N的值作为第二数据量。
可选的,如果采用上述第一种方式丢弃浏览器在当前时间之后接收的视频数据,则在本步骤中,可以通知浏览器停止丢弃浏览器在当前时间之后接收的视频数据。
在实现时,可以向浏览器发送第二通知消息,该第二通知消息可以携带停止事件指令。浏览器接收该第二通知消息携带的停止事件指令的指示,在其每当接收到一帧视频数据时,将接收的该一帧视频数据缓存到该缓存空间中。
可选的,如果采用上述第二种方式丢弃浏览器在当前时间之后接收的视频数据,则在本步骤中,直接停止丢弃浏览器在当前时间之后接收的非关键帧视频数据。
其中,本实施例的执行主体可以上述实施例提及的播放终端,具体可以是播放终端通过在浏览器中设置的处理模块来执行本实施例的各步骤。该浏览器可以是HTML5浏览器,HTML5浏览器不能监控用于缓存视频数据的缓存空间。为了实时掌握该缓存空间的缓存情况,在浏览器的代码层中设置缓存空间以及在浏览器中设置处理模块,从而通过该处理模块可以监控该缓存空间的缓存情况,根据该缓存情况控制浏览器向该缓存空间缓存视频数据。
可选的,可以向发送方发送用于指示重新发送的视频数据的指令,这样发送方在接收该指令时继续向浏览器发送视频数据。
在本申请实施例中,由于在浏览器的代码层中设置缓存空间,从而可以通过在浏览器中设置的处理模块获取该缓存空间的第一数据量,在第一数据量超过预设第一阈值时,丢弃浏览器在当前时间之后接收的视频数据,并从该缓存空间中读取并解码视频数据,使缓存空间中的数据量不断减小,避免导致浏览器崩溃。再继续获取该缓存空间的第二数据量,在第二数据量低于预设第二阈值时,停止丢弃浏览器接收的视频数据。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
参见图4,本申请实施例提供了一种解码视频数据的装置400,所述装置400包括:
获取模块401,用于在浏览器将其接收的发送方发送的视频数据输入缓存空间时,获取所述缓存空间的第一数据量,所述缓存空间位于所述浏览器的代码层;
丢弃模块402,用于在所述第一数据量超过预设第一阈值时,丢弃所述浏览器在当前时间之后接收的视频数据,和/.或,通知所述发送方暂停发送视频数据;
解码模块403,用于从所述缓存空间中读取视频数据并解码所述读取的视频数据。
可选的,所述获取模块401,用于:
在浏览器将其接收的视频数据输入缓存空间时,将已记录的所述缓存空间的数据量增加所述接收的视频数据的数据量,得到第一数据量。
可选的,所述装置400还包括:
减小模块,用于将已记录的所述缓存空间的数据量减小所述读取的视频数据的数据量。
可选的,所述丢弃模块402包括:
通知单元,用于通知所述浏览器丢弃所述浏览器在当前时间之后接收的视频数据;或者,
丢弃单元,用于在当前时间之后所述浏览器向所述缓存空间中缓存视频数据时,从当前时间之后缓存的视频数据中获取非关键帧视频数据,丢弃所述非关键帧视频数据。
可选的,所述装置400还包括:
停止模块,用于获取所述缓存空间的第二数据量,在所述第二数据量低于预设第二阈值且所述浏览器处于丢弃视频数据状态时,停止丢弃所述浏览器在当前时间之后接收的视频数据;和/或,在所述第二数据量低于预设第二阈值且所述发送方处于暂停发送视频数据状态时,通知所述发送方恢复发送视频数据,所述预设第二阈值小于或等于所述预设第一阈值。
可选的,所述停止模块,用于:
通知所述浏览器停止丢弃所述浏览器在当前时间之后接收的视频数据。
可选的,所述浏览器的代码层为JavaScript层。
在本申请实施例中,由于在浏览器的代码层中设置缓存空间,从而可以获取该缓存空间的第一数据量,在第一数据量超过预设第一阈值时,丢弃浏览器在当前时间之后接收的视频数据,并从该缓存空间中读取并解码视频数据,使缓存空间中的数据量不断减小,避免导致***崩溃。再继续获取该缓存空间的第二数据量,在第二数据量低于预设第二阈值时,停止丢弃浏览器接收的视频数据。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
参见图5,图5示出了本发明一个示例性实施例提供的终端500的结构框图。该终端500可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving PictureExperts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端500还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端500包括有:处理器501和存储器502。
处理器501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器501可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本申请中方法实施例提供的解码视频数据的方法。
在一些实施例中,终端500还可选包括有:***设备接口503和至少一个***设备。处理器501、存储器502和***设备接口503之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口503相连。具体地,***设备包括:射频电路504、触摸显示屏505、摄像头506、音频电路507、定位组件508和电源509中的至少一种。
***设备接口503可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器501和存储器502。在一些实施例中,处理器501、存储器502和***设备接口503被集成在同一芯片或电路板上;在一些其他实施例中,处理器501、存储器502和***设备接口503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路504用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路504包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路504还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏505用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏505是触摸显示屏时,显示屏505还具有采集在显示屏505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器501进行处理。此时,显示屏505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏505可以为一个,设置终端500的前面板;在另一些实施例中,显示屏505可以为至少两个,分别设置在终端500的不同表面或呈折叠设计;在再一些实施例中,显示屏505可以是柔性显示屏,设置在终端500的弯曲表面上或折叠面上。甚至,显示屏505还可以设置成非矩形的不规则图形,也即异形屏。显示屏505可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件506用于采集图像或视频。可选地,摄像头组件506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器501进行处理,或者输入至射频电路504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器501或射频电路504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路507还可以包括耳机插孔。
定位组件508用于定位终端500的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件508可以是基于美国的GPS(GlobalPositioning System,全球定位***)、中国的北斗***或俄罗斯的伽利略***的定位组件。
电源509用于为终端500中的各个组件进行供电。电源509可以是交流电、直流电、一次性电池或可充电电池。当电源509包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端500还包括有一个或多个传感器510。该一个或多个传感器510包括但不限于:加速度传感器511、陀螺仪传感器512、压力传感器513、指纹传感器514、光学传感器515以及接近传感器516。
加速度传感器511可以检测以终端500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器511可以用于检测重力加速度在三个坐标轴上的分量。处理器501可以根据加速度传感器511采集的重力加速度信号,控制触摸显示屏505以横向视图或纵向视图进行用户界面的显示。加速度传感器511还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器512可以检测终端500的机体方向及转动角度,陀螺仪传感器512可以与加速度传感器511协同采集用户对终端500的3D动作。处理器501根据陀螺仪传感器512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器513可以设置在终端500的侧边框和/或触摸显示屏505的下层。当压力传感器513设置在终端500的侧边框时,可以检测用户对终端500的握持信号,由处理器501根据压力传感器513采集的握持信号进行左右手识别或快捷操作。当压力传感器513设置在触摸显示屏505的下层时,由处理器501根据用户对触摸显示屏505的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器514用于采集用户的指纹,由处理器501根据指纹传感器514采集到的指纹识别用户的身份,或者,由指纹传感器514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器514可以被设置终端500的正面、背面或侧面。当终端500上设置有物理按键或厂商Logo时,指纹传感器514可以与物理按键或厂商Logo集成在一起。
光学传感器515用于采集环境光强度。在一个实施例中,处理器501可以根据光学传感器515采集的环境光强度,控制触摸显示屏505的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏505的显示亮度;当环境光强度较低时,调低触摸显示屏505的显示亮度。在另一个实施例中,处理器501还可以根据光学传感器515采集的环境光强度,动态调整摄像头组件506的拍摄参数。
接近传感器516,也称距离传感器,通常设置在终端500的前面板。接近传感器516用于采集用户与终端500的正面之间的距离。在一个实施例中,当接近传感器516检测到用户与终端500的正面之间的距离逐渐变小时,由处理器501控制触摸显示屏505从亮屏状态切换为息屏状态;当接近传感器516检测到用户与终端500的正面之间的距离逐渐变大时,由处理器501控制触摸显示屏505从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图5中示出的结构并不构成对终端500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (15)

1.一种解码视频数据的方法,其特征在于,所述方法包括:
在浏览器将其接收的发送方发送的视频数据输入缓存空间时,获取所述缓存空间的第一数据量,所述缓存空间位于所述浏览器的代码层;
在所述第一数据量超过预设第一阈值时,丢弃所述浏览器在当前时间之后接收的视频数据,和/或,通知所述发送方暂停发送视频数据;
从所述缓存空间中读取视频数据并解码所述读取的视频数据。
2.如权利要求1所述的方法,其特征在于,所述获取所述缓存空间中的第一数据量,包括:
在浏览器将其接收的视频数据输入缓存空间时,将已记录的所述缓存空间的数据量增加所述接收的视频数据的数据量,得到第一数据量。
3.如权利要求2所述的方法,其特征在于,所述从所述缓存空间中读取视频数据之后,还包括:
将已记录的所述缓存空间的数据量减小所述读取的视频数据的数据量。
4.如权利要求1所述的方法,其特征在于,所述丢弃所述浏览器在当前时间之后接收的视频数据,包括:
通知所述浏览器丢弃所述浏览器在当前时间之后接收的视频数据;或者,
在当前时间之后所述浏览器向所述缓存空间中缓存视频数据时,从所述当前时间之后缓存的视频数据中获取非关键帧视频数据,丢弃所述非关键帧视频数据。
5.如权利要求1所述的方法,其特征在于,所述从所述缓存空间中读取视频数据并解码所述读取的视频数据之后,还包括:
获取所述缓存空间的第二数据量,在所述第二数据量低于预设第二阈值且所述浏览器处于丢弃视频数据状态时,停止丢弃所述浏览器在当前时间之后接收的视频数据;和/或,在所述第二数据量低于预设第二阈值且所述发送方处于暂停发送视频数据状态时,通知所述发送方恢复发送视频数据,所述预设第二阈值小于或等于所述预设第一阈值。
6.如权利要求5所述的方法,其特征在于,所述停止丢弃所述浏览器在当前时间之后接收的视频数据,包括:
通知所述浏览器停止丢弃所述浏览器在当前时间之后接收的视频数据。
7.如权利要求1至6任一项所述的方法,其特征在于,所述浏览器的代码层为JavaScript层。
8.一种解码视频数据的装置,其特征在于,所述装置包括:
获取模块,用于在浏览器将其接收的发送方发送的视频数据输入缓存空间时,获取所述缓存空间的第一数据量,所述缓存空间位于所述浏览器的代码层;
丢弃模块,用于在所述第一数据量超过预设第一阈值时,丢弃所述浏览器在当前时间之后接收的视频数据,和/或,通知所述发送方暂停发送视频数据;
解码模块,用于从所述缓存空间中读取视频数据并解码所述读取的视频数据。
9.如权利要求8所述的装置,其特征在于,所述获取模块,用于:
在浏览器将其接收的视频数据输入缓存空间时,将已记录的所述缓存空间的数据量增加所述接收的视频数据的数据量,得到第一数据量。
10.如权利要求9所述的装置,其特征在于,所述装置还包括:
减小模块,用于将已记录的所述缓存空间的数据量减小所述读取的视频数据的数据量。
11.如权利要求8所述的装置,其特征在于,所述丢弃模块包括:
通知单元,用于通知所述浏览器丢弃所述浏览器在当前时间之后接收的视频数据;或者,
丢弃单元,用于在当前时间之后所述浏览器向所述缓存空间中缓存视频数据时,从当前时间之后缓存的视频数据中获取非关键帧视频数据,丢弃所述非关键帧视频数据。
12.如权利要求8所述的装置,其特征在于,所述装置还包括:
停止模块,用于获取所述缓存空间的第二数据量,在所述第二数据量低于预设第二阈值且所述浏览器处于丢弃视频数据状态时,停止丢弃所述浏览器在当前时间之后接收的视频数据;和/或,在所述第二数据量低于预设第二阈值且所述发送方处于暂停发送视频数据状态时,通知所述发送方恢复发送视频数据,所述预设第二阈值小于或等于所述预设第一阈值。
13.如权利要求12所述的装置,其特征在于,所述停止模块,用于:
通知所述浏览器停止丢弃所述浏览器在当前时间之后接收的视频数据。
14.如权利要求8至13任一项所述的装置,其特征在于,所述浏览器的代码层为JavaScript层。
15.一种计算机可读存储介质,其特征在于,用于存储计算机程序指令,所述计算机程序指令被处理器执行,实现如权利要求1至7任一项所述的方法的操作。
CN201810166306.2A 2018-02-28 2018-02-28 一种解码视频数据的方法及装置 Pending CN110213308A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810166306.2A CN110213308A (zh) 2018-02-28 2018-02-28 一种解码视频数据的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810166306.2A CN110213308A (zh) 2018-02-28 2018-02-28 一种解码视频数据的方法及装置

Publications (1)

Publication Number Publication Date
CN110213308A true CN110213308A (zh) 2019-09-06

Family

ID=67778678

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810166306.2A Pending CN110213308A (zh) 2018-02-28 2018-02-28 一种解码视频数据的方法及装置

Country Status (1)

Country Link
CN (1) CN110213308A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110677715A (zh) * 2019-10-11 2020-01-10 北京达佳互联信息技术有限公司 一种解码方法、解码器、电子设备及存储介质
CN110855645A (zh) * 2019-11-01 2020-02-28 腾讯科技(深圳)有限公司 流媒体数据播放方法、装置
CN113395302A (zh) * 2020-03-11 2021-09-14 杭州中天微***有限公司 异步数据分发器、相关装置和方法
CN113672293A (zh) * 2020-04-30 2021-11-19 华为技术有限公司 一种基于云手机的媒体数据处理方法以及终端设备
CN114071224A (zh) * 2020-07-31 2022-02-18 腾讯科技(深圳)有限公司 视频数据处理方法、装置、计算机设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2192740A1 (en) * 2008-11-26 2010-06-02 Thomson Licensing Method and apparatus for receiving content
CN101946518A (zh) * 2007-12-28 2011-01-12 诺基亚公司 用于数字视频的自适应同步解码的方法、设备和计算机程序产品
CN104427400A (zh) * 2013-08-22 2015-03-18 中国电信股份有限公司 流媒体传输方法、***以及流媒体服务器
CN104702968A (zh) * 2015-02-17 2015-06-10 华为技术有限公司 一种视频帧丢帧方法及视频发送装置
CN106331835A (zh) * 2015-06-26 2017-01-11 成都鼎桥通信技术有限公司 一种动态调整数据接收缓存的方法及视频解码设备
CN106488265A (zh) * 2016-10-12 2017-03-08 广州酷狗计算机科技有限公司 一种发送媒体流的方法和装置
CN107147923A (zh) * 2017-05-05 2017-09-08 中广热点云科技有限公司 一种时移点播方法
CN107371061A (zh) * 2017-08-25 2017-11-21 普联技术有限公司 一种视频流播放方法、装置及设备
CN107465679A (zh) * 2017-08-07 2017-12-12 郑州仁峰软件开发有限公司 一种流媒体传输控制方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101946518A (zh) * 2007-12-28 2011-01-12 诺基亚公司 用于数字视频的自适应同步解码的方法、设备和计算机程序产品
EP2192740A1 (en) * 2008-11-26 2010-06-02 Thomson Licensing Method and apparatus for receiving content
CN104427400A (zh) * 2013-08-22 2015-03-18 中国电信股份有限公司 流媒体传输方法、***以及流媒体服务器
CN104702968A (zh) * 2015-02-17 2015-06-10 华为技术有限公司 一种视频帧丢帧方法及视频发送装置
CN106331835A (zh) * 2015-06-26 2017-01-11 成都鼎桥通信技术有限公司 一种动态调整数据接收缓存的方法及视频解码设备
CN106488265A (zh) * 2016-10-12 2017-03-08 广州酷狗计算机科技有限公司 一种发送媒体流的方法和装置
CN107147923A (zh) * 2017-05-05 2017-09-08 中广热点云科技有限公司 一种时移点播方法
CN107465679A (zh) * 2017-08-07 2017-12-12 郑州仁峰软件开发有限公司 一种流媒体传输控制方法
CN107371061A (zh) * 2017-08-25 2017-11-21 普联技术有限公司 一种视频流播放方法、装置及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘后铭,洪福明: "《计算机通信网 修订版》", 31 December 1988 *
李浪,谢新华,刘先锋: "《计算机网络 第2版》", 30 September 2017 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110677715A (zh) * 2019-10-11 2020-01-10 北京达佳互联信息技术有限公司 一种解码方法、解码器、电子设备及存储介质
CN110677715B (zh) * 2019-10-11 2022-04-22 北京达佳互联信息技术有限公司 一种解码方法、解码器、电子设备及存储介质
CN110855645A (zh) * 2019-11-01 2020-02-28 腾讯科技(深圳)有限公司 流媒体数据播放方法、装置
CN110855645B (zh) * 2019-11-01 2021-10-22 腾讯科技(深圳)有限公司 流媒体数据播放方法、装置
CN113395302A (zh) * 2020-03-11 2021-09-14 杭州中天微***有限公司 异步数据分发器、相关装置和方法
CN113672293A (zh) * 2020-04-30 2021-11-19 华为技术有限公司 一种基于云手机的媒体数据处理方法以及终端设备
CN113672293B (zh) * 2020-04-30 2024-04-09 华为云计算技术有限公司 一种基于云手机的媒体数据处理方法以及终端设备
CN114071224A (zh) * 2020-07-31 2022-02-18 腾讯科技(深圳)有限公司 视频数据处理方法、装置、计算机设备及存储介质
CN114071224B (zh) * 2020-07-31 2023-08-25 腾讯科技(深圳)有限公司 视频数据处理方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN110213308A (zh) 一种解码视频数据的方法及装置
CN110022489A (zh) 视频播放方法、装置及存储介质
CN110881136A (zh) 视频帧率控制方法、装置、计算机设备及存储介质
CN108833963A (zh) 显示界面画面的方法、计算机设备、可读存储介质和***
CN109874312A (zh) 播放音频数据的方法和装置
CN107888968A (zh) 直播视频的播放方法、装置及计算机存储介质
CN108401124A (zh) 视频录制的方法和装置
CN108966008A (zh) 直播视频回放方法及装置
CN109788303A (zh) 直播视频流的推送方法、装置、电子设备及存储介质
CN110187889A (zh) 一种应用启动方法、装置以及存储介质
CN112822522B (zh) 视频播放方法、装置、设备及存储介质
CN110278464A (zh) 显示榜单的方法和装置
CN109660855A (zh) 贴纸显示方法、装置、终端及存储介质
CN108848394A (zh) 视频直播方法、装置、终端及存储介质
CN107896337B (zh) 信息推广方法、装置及存储介质
CN109922356A (zh) 视频推荐方法、装置和计算机可读存储介质
CN110121084A (zh) 切换端口的方法、装置和***
CN110248236A (zh) 视频播放方法、装置、终端及存储介质
CN109120933A (zh) 动态调整码率的方法、装置、设备及存储介质
CN109068008A (zh) 铃声设置方法、装置、终端及存储介质
CN110007981A (zh) 启动应用程序的方法、装置、电子设备及介质
CN110288689A (zh) 对电子地图进行渲染的方法和装置
CN108845777A (zh) 播放帧动画的方法和装置
CN108848405A (zh) 图像处理方法和装置
CN107888975B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190906