CN109168013B - 一种抽帧的方法、装置、设备及计算机可读存储介质 - Google Patents

一种抽帧的方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN109168013B
CN109168013B CN201811094881.2A CN201811094881A CN109168013B CN 109168013 B CN109168013 B CN 109168013B CN 201811094881 A CN201811094881 A CN 201811094881A CN 109168013 B CN109168013 B CN 109168013B
Authority
CN
China
Prior art keywords
frame
coding
rate
time
frame extraction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811094881.2A
Other languages
English (en)
Other versions
CN109168013A (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.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Huaduo 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 Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201811094881.2A priority Critical patent/CN109168013B/zh
Publication of CN109168013A publication Critical patent/CN109168013A/zh
Application granted granted Critical
Publication of CN109168013B publication Critical patent/CN109168013B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请实施例公开了一种抽帧的方法、装置、设备及计算机可读存储介质,包括:实时获取视频编码器接收到的适合当前网络环境的编码码率;根据编码码率和编码帧率的预置对应关系计算所述编码码率对应的编码帧率;根据所述编码帧率进行抽帧,以完成编码操作。解决了现有的抽帧方法在网络状况较差时会造成直播视频流畅度低的技术问题。

Description

一种抽帧的方法、装置、设备及计算机可读存储介质
技术领域
本申请涉及通信技术领域,尤其涉及一种抽帧的方法、装置、设备及计算机可读存储介质。
背景技术
随着通信技术的发展,网络直播越来越受欢迎。网络直播是可以同一时间透过网络***在不同的交流平台观看影片,是一种新兴的网络社交方式,网络直播主要分为实时直播游戏、电影、电视剧和才艺展示等。
在网络直播中,直播视频的形成过程大致如下:视频采集设备在主播端不断采集视频帧,然后对采集到的视频帧进行抽帧处理,再通过视频编码器编码形成直播视频,最后将直播视频经服务器发送至各个终端以供观众观看。
现有的抽帧方法是:预先设置固定的编码帧率,然后通过根据固定的编码帧率进行抽帧。
然而,该抽帧方法没有考虑网络波动的情况,当网络状况较差时,会出现直播视频流畅度低的情况。
发明内容
本申请实施例提供了一种抽帧的方法、装置、设备及计算机可读存储介质,使得直播视频在网路状况较差的情况下流畅度也较高。
有鉴于此,本申请第一方面提供了一种抽帧的方法,所述方法包括:
实时获取视频编码器接收到的适合当前网络环境的编码码率;
根据编码码率和编码帧率的预置对应关系计算所述编码码率对应的编码帧率;
根据所述编码帧率进行抽帧,以完成编码操作。
优选地,
在实时获取视频编码器接收到的适合当前网络环境的编码码率之后,在根据编码码率和编码帧率的预置对应关系计算所述编码码率对应的编码帧率之前,还包括:
判断所述编码码率是否超出预设的码率区间;
若所述编码码率大于所述码率区间中的最大值,则将所述最大值赋给编码码率;
若所述编码码率小于所述码率区间中的最小值,则将所述最小值赋给编码码率。
优选地,
根据编码码率和编码帧率的预置对应关系计算所述编码码率对应的编码帧率具体包括:
获取所述编码码率与所述码率区间中的最小值的第一差值;
获取所述第一差值与所述码率区间长度的第一比值;
根据预置公式y=sin(πx/2)计算正弦参数,其中x代表第一比值,y代表正弦参数;
将所述正弦参数乘以所述码率区间的长度,再加上所述码率区间的最小值,得到编码帧率。
优选地,
根据所述编码帧率进行抽帧,以完成编码操作具体包括:
根据所述编码帧率计算相邻两次抽帧的时间间隔;
按所述时间间隔对采集到的帧进行抽帧,以完成编码操作。
优选地,
根据所述编码帧率计算相邻两次抽帧的时间间隔具体包括:
获取1000ms与所述编码帧率的第二比值,并将所述第二比值作为相邻两次抽帧的时间间隔。
优选地,
根据所述编码帧率计算相邻两次抽帧的时间间隔具体包括:
获取图像采集设备的采集帧率与所述编码帧率的第二差值;
获取1000ms与所述第二差值的第三比值,并将所述第三比值作为相邻两次抽帧的时间间隔。
优选地,
在获取图像采集设备的采集帧率与所述编码帧率的第二差值之前,还包括:
实时获取图像采集设备的采集帧率。
优选地,
根据所述时间间隔进行抽帧,以完成编码操作具体包括:
获取采集到当前帧的***时间;
判断是否存在上一次抽帧;
若存在上一次抽帧,则获取所述上一次抽帧的理论***时间,并将所述采集到当前帧的***时间与所述上一次抽帧的理论***时间的差值作为第三差值;
若不存在上一次抽帧,则获取采集到第一帧的***时间,并将所述采集到当前帧的***时间与采集到第一帧的***时间的差值作为第三差值;
将所述第三差值与所述时间间隔比较,并根据比较结果进行抽帧编码或抽帧丢弃,以完成编码操作。
优选地,
若存在上一次抽帧,在获取所述上一次抽帧的理论***时间,并将所述采集到当前帧的***时间与所述上一次抽帧的理论***时间的差值作为第三差值之后,还包括:
获取上一次抽帧的实际***时间,将上一次抽帧的实际***时间与上一次抽帧的理论***时间的差值作为时间残差,判断所述时间残差与采集时间间隔的大小,所述采集时间间隔为1000ms与所述采集帧率的第四比值;
若所述时间残差大于所述采集时间间隔,则将所述第三差值的取值加上所述时间残差;若所述时间残差小于所述采集时间间隔,则不改变所述第三差值的取值。
优选地,
获取上一次抽帧的理论***时间具体包括:
判断所述上一次抽帧前是否存在再一次的抽帧,若存在,则获取所述上一次抽帧的前一次抽帧的理论***时间作为基准时间,若不存在,则获取所述采集到第一帧的***时间作为基准时间;
将所述基准时间和与所述上一次抽帧前计算出的所述时间间隔的和作为上一次抽帧的理论***时间。
本申请第二方面提供了一种抽帧的装置,包括:
编码码率获取单元,用于实时获取视频编码器接收到的适合当前网络环境的编码码率;
编码帧率计算单元,用于根据编码码率和编码帧率的预置对应关系计算所述编码码率对应的编码帧率;
抽帧单元,用于根据所述编码帧率进行抽帧,以完成编码操作。
优选地,
所述的装置还包括:
编码码率控制单元,用于判断所述编码码率是否超出预设的码率区间;
若所述编码码率大于所述码率区间中的最大值,则将所述最大值赋给编码码率;
若所述编码码率小于所述码率区间中的最小值,则将所述最小值赋给编码码率。
优选地,
所述编码帧率计算单元具体用于:
获取所述编码码率与所述码率区间中的最小值的第一差值;
获取所述第一差值与所述码率区间长度的第一比值;
根据预置公式y=sin(πx/2)计算正弦参数,其中x代表第一比值,y代表正弦参数;
将所述正弦参数乘以所述码率区间的长度,再加上所述码率区间的最小值,得到编码帧率。
优选地,
所述抽帧单元具体包括:
时间间隔确定子单元,用于根据所述编码帧率计算相邻两次抽帧的时间间隔;
抽帧执行子单元,用于按所述时间间隔对采集到的帧进行抽帧,以完成编码操作。
优选地,
所述时间间隔确定子单元具体用于:
获取1000ms与所述编码帧率的第二比值,并将所述第二比值作为相邻两次抽帧的时间间隔。
优选地,
所述时间间隔确定子单元具体用于:
获取图像采集设备的采集帧率与所述编码帧率的第二差值;
获取1000ms与所述第二差值的第三比值,并将所述第三比值作为相邻两次抽帧的时间间隔。
优选地,
所述的装置还包括:
采集帧率获取单元,用于实时获取图像采集设备的采集帧率。
优选地,
所述抽帧执行子单元具体用于:
获取采集到当前帧的***时间;
判断是否存在上一次抽帧;
若存在上一次抽帧,则获取所述上一次抽帧的理论***时间,并将所述采集到当前帧的***时间与所述上一次抽帧的理论***时间的差值作为第三差值;
若不存在上一次抽帧,则获取采集到第一帧的***时间,并将所述采集到当前帧的***时间与采集到第一帧的***时间的差值作为第三差值;
将所述第三差值与所述时间间隔比较,并根据比较结果进行抽帧编码或抽帧丢弃,以完成编码操作。
优选地,
若存在上一次抽帧,所述抽帧执行子单元还用于:
获取上一次抽帧的实际***时间,将上一次抽帧的实际***时间与上一次抽帧的理论***时间的差值作为时间残差,判断所述时间残差与采集时间间隔的大小,所述采集时间间隔为1000ms与所述采集帧率的第四比值;
若所述时间残差大于所述采集时间间隔,则将所述第三差值的取值加上所述时间残差;若所述时间残差小于所述采集时间间隔,则不改变所述第三差值的取值。
本申请第三方面提供一种抽帧的设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行上述第一方面所述的抽帧方法。
本申请第四方面提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行上述第一方面所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,提供了一种抽帧的方法,先实时获取视频编码器接收到的适合当前网络环境的编码码率;然后根据编码码率和编码帧率的预置对应关系计算编码码率对应的编码帧率;最后根据编码帧率进行抽帧,以完成编码操作;当网络环境较差时,网络带宽虽然较网络状况正常时低,但本申请实施例中编码帧率会随着网络环境的变差而相应地降低,以使编码形成的直播视频在网络带宽传输的范围内,从而避免网络状况较差造成直播视频流畅度低的技术问题,提升了网络直播的网络适应性。
附图说明
图1为本申请实施例中抽帧***架构图;
图2为本申请第一实施例中抽帧方法的方法流程图;
图3为本申请第二实施例中抽帧方法的方法流程图;
图4为本申请第二实施例中编码帧率计算的方法流程图;
图5为本申请实施例中按时间间隔抽帧的方法流程图;
图6为本申请实施例中抽帧装置的一个结构示意图;
图7为本申请实施例中抽帧设备的一个结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在现有的抽帧方法中,是根据固定的编码帧率进行抽帧编码,这样形成的直播视频的编码码率是固定不变的。这里假设按固定编码帧率编码形成的直播视频的编码码率为1000bkps;当网络环境正常时,假设网络带宽能够传输1200bkps编码码率的直播视频,当网络环境变化时,网络带宽可能只能传输800bkps编码码率的直播视频,那么在传输编码码率为1000bkps的直播视频时会出现卡顿、流畅度低的现象,给用户造成不好的观看体验。
为此,本申请实施例提供了一种抽帧的方法,以使编码形成的直播视频的编码码率能够适应网络环境,使得直播视频的编码码率在网络带宽传输的范围内,避免网络环境波动造成的直播视频不流畅,提高用户的观看体验。
作为一种示例,图1示出了本申请实施例中抽帧***架构图,如图1所示,图1中包括直播终端400和服务器300。其中,该直播终端400可以是具有视频采集功能、通信功能、以及视频编码功能的设备,比如可以为智能手机、平板电脑、笔记本电脑、台式电脑等设备;该直播终端400还可以包括单独的视频采集设备100和具有通信功能的视频编码设备200,在本申请实施例中不对直播终端400进行限定。
可以理解的是,图1所示的抽帧***可以应用于直播场景中,例如,主播通过直播终端400采集原始视频,然后对原始视频进行抽帧编码形成直播视频,通过网络传输至服务器300,使得服务器300将该直播视频传输给各个观看直播的终端。
在该场景中,直播终端400会实时获取适应网络环境的编码码率,然后根据该编码码率计算相应的编码帧率,再根据编码帧率进行抽帧编码形成直播视频,该直播视频的编码码率是根据网络环境变化的,即使网络边境变差,也能够被网络带宽传输,因此不会造成降低直播视频的流畅度。
需要注意的是,上述应用场景仅是为了便于理解本申请而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
下面结合附图,详细说明本申请的各种非限制性实施方式。
请参阅图2,图2为本申请第一实施例中抽帧方法的方法流程图,如图2 所示,具体可以包括:
步骤201,实时获取视频编码器接收到的适合当前网络环境的编码码率。
可以理解的是,视频编码器会接收到适合当前网络环境的编码码率,例如网络环境较好时,视频编码器会接收到适合的编码码率为1200kbps的通知,当网络环境变差时,视频编码器会接收到适合的编码码率变为1000kbps的通知,而本申请实施例是实时获取该同志。
在本申请实施例中,视频编码器可以是集成在直播终端中的一个模块,也可以是单独的一个视频编码设备。
步骤202,根据编码码率和编码帧率的预置对应关系计算编码码率对应的编码帧率。
可以理解的是,可以通过预置对应关系的方式计算适应网络环境的编码帧率,而这种对应关系有多种,本申请实施例对此不做限定。
步骤203,根据编码帧率进行抽帧,以完成编码操作。
可以理解的是,根据编码帧率进行抽帧的方式有种;例如,可以是从原始视频中抽取多帧进行编码,也可以是从原始视频中抽取一帧或多帧丢弃,将剩余的帧进行编码;本申请对抽帧的方式不做具体限定。
本申请实施例根据网络环境的变化实时计算并调整编码帧率,使得编码形成的直播视频的编码码率在网络带宽的传输范围内,从而避免了因网络波动造成的直播视频流畅度低及卡顿的现象,提高了用户的观看体验。
请参阅图3,图3为本申请第二实施例中抽帧方法的方法流程图,如图3 所示,具体可以包括:
步骤301,实时获取视频编码器接收到的适合当前网络环境的编码码率。
步骤302,判断编码码率是否超出预设的码率区间;
若编码码率大于码率区间中的最大值,则将最大值赋给编码码率;
若编码码率小于码率区间中的最小值,则将最小值赋给编码码率。
本申请实施例通过步骤302将编码码率限制在了预设的码率区间内,通过设定不同的码率区间以满足不同的用户需求;例如假设码率区间为 [600kbps,1000kbps],若步骤301获取的三个编码码率为500kbps、800kbps 和1100kbps,那么经过步骤302的处理后将依次变为600kbps、800kbps和 1000kbps。
在本申请实施例中,预设的码率区间与视频编码器的型号有关,例如型号为H264的视频编码器的编码码率一般为1200kbps,所以码率区间的最大值一般设定不超过1200kbps;型号为H265的视频编码器的编码码率一般为 1000kbps,所以码率区间的最大值一般设定不超过1000kbps。
预设的码率区间还可以与业务场景相关,例如在直播过程中,连麦场景对实时性的要求较高,所以需要尽可能地保证不丢包;具体地,假设不连麦时码率区间的最大值设定为1000kbps,网络带宽能够传输的直播视频的最大码率为1100bkps,那么当网络环境变差时,网络带宽会降低,很容易降低到不能够传输编码码率为1000kbps的直播视频,就会产生丢包;所以可以将连麦场景中码率区间的最大值设定的较不连麦时低,比如设定为800bkps,以降低丢包的风险。
预设的码率区间还可以与分辨率相关,例如标清、高清和超清的分辨率对应的码率区间必然不同。
可以理解的是,为了保证直播视频图像的质量,会通过码率区间的最小值限定编码码率。
步骤303,根据编码码率和编码帧率的预置对应关系计算编码码率对应的编码帧率。
因此对应关系可以有多种,所以编码帧率的计算方式也对应包括多种,例如,请参阅图4,本申请第二实施例中编码帧率计算的方法流程图;如图4 所示,根据编码码率和编码帧率的预置对应关系计算编码码率对应的编码帧率具体包括:
步骤41,获取编码码率与码率区间中的最小值的第一差值。
例如,假设码率区间为[600kbps,1000kbps],编码码率为800kbps,那么第一差值则变为200kbps。
步骤42,获取第一差值与码率区间长度的第一比值。
在本申请实施例中,第一比值则为二分之一。
步骤43,根据预置公式y=sin(πx/2)计算正弦参数,其中x代表第一比值, y代表正弦参数。
当第一比值为二分之一时,正弦参数则为二分之根二。
步骤44,将正弦参数乘以码率区间的长度,再加上码率区间的最小值,得到编码帧率。
步骤304,根据编码帧率计算相邻两次抽帧的时间间隔。
步骤305,按时间间隔对采集到的帧进行抽帧,以完成编码操作。
可以理解的是,根据编码帧率进行抽帧编码的方式有多种,例如可以采用随便抽帧的方法,具体地,若编码帧率为50帧/秒,那么则可以在一秒内采集到的原始视频中随机抽取50帧。
而本申请实施例中,步骤304和步骤305是采集每间隔一段时间进行一次抽帧的方法,如前述所说,可以是从原始视频中抽取多帧进行编码,具体地,当编码帧率为50帧/秒时,可以每20ms抽取一帧进行编码;也可以是从原始视频中抽取一帧或多帧丢弃,具体地,假设编码帧率为60帧/秒,采集帧率为100帧/秒,则需要抽帧数为40/秒,即每25ms抽取一帧。
因此,选取的抽帧方式不同,对应的时间间隔的计算方式也不同,例如:
根据编码帧率计算相邻两次抽帧的时间间隔可以具体包括:
获取1000ms与编码帧率的第二比值,并将第二比值作为相邻两次抽帧的时间间隔。
根据编码帧率计算相邻两次抽帧的时间间隔还可以具体包括:
获取图像采集设备的采集帧率与编码帧率的第二差值;
获取1000ms与第二差值的第三比值,并将第三比值作为相邻两次抽帧的时间间隔。
可以理解的是,从原始视频中抽取一帧或多帧丢弃,时间间隔的大小与采集帧率相关。
而在实际应用中,采集帧率也会出现波动;例如直播终端电量过低时,采集帧率可能由原来的100帧/秒降低到了80帧/秒,这里假设编码帧率为50 帧/秒,那么抽帧帧率则为50帧/秒,即每秒需要编码的帧数为50帧;当采集帧率变为80帧/秒时,如果仍采用原来的100帧/秒计算时间间隔,那么通过该时间间隔抽帧帧率仍为50帧/秒,那么每秒实际编码的帧数则降低为30帧,低于预设编码帧数20帧,则为造成直播视频的图像质量明显下降。
因此,在获取图像采集备的采集帧率与编码帧率的第二差值之前,还可以包括:
实时获取图像采集设备的采集帧率。
这样,通过实时获取采集帧率然后实时调整时间间隔,即使当直播终端的采集帧率发生变化时,也可以保证编码帧率不变或变化很小,从而保证了直播视频图像的质量。
进一步地,请参阅5,本申请实施例中按时间间隔抽帧的方法流程图;如图5所示,根据时间间隔进行抽帧,以完成编码操作具体可以包括:
步骤501,获取采集到当前帧的***时间。
步骤502,判断是否存在上一次抽帧。
可能理解是,在采集到当前帧之前,可能存在上一次抽帧,也可能不存在上一次抽帧。
步骤503,若存在上一次抽帧,则获取上一次抽帧的理论***时间,并将采集到当前帧的***时间与上一次抽帧的理论***时间的差值作为第三差值。
可以理解的是,由于采集帧率会出现波动,所以采集到的每帧的时间也可能提前或滞后。
例如,假设采集帧率为100帧/秒,那么采集到帧的***时间理论上为依次为10ms、20ms、30ms、……,编码帧率为50帧/秒,那么每次抽帧的理论***时间则为20ms、40ms、60ms、……
步骤504,若不存在上一次抽帧,则获取采集到第一帧的***时间,并将采集到当前帧的***时间与采集到第一帧的***时间的差值作为第三差值。
可以理解的是,当之前未发生一次抽帧,那么则以采集到第一帧的***时间为基准计算第三差值。
步骤505,将第三差值与时间间隔比较,并根据比较结果进行抽帧编码或抽帧丢弃,以完成编码操作。
需要说明的是,在本申请实施例中,是以上一次抽帧的理论***时间为基础而非上一次抽帧的实际***时间计算第三差值并与时间间隔比较,以进行抽帧编码,不仅可以保证抽帧的准确性,还可以保证抽帧数量的稳定性。
例如,仍假设采集帧率为100帧/秒,那么采集到帧的***时间理论上为依次为10ms、20ms、30ms、……、1000ms,假设抽帧的方式是从原始视频中抽取多帧丢弃,且编码帧率为50帧/秒,那么抽帧的时间间隔则变为20ms,每次抽帧的理论***时间则为20ms、40ms、60ms、……、1000ms,当采集帧率发生波动导致第二帧的采集***时间发生变化时,即采集到帧的依次变为10ms、25ms、30ms、……、1000ms。
如果以上一次抽帧的实际***时间作为基准计算第三差值,因采集到了帧才能进行抽帧操作,所以抽帧的实际***时间将为25ms、50ms、70ms…… 990ms,每次抽帧的实际***时间与理论***时间相比均有偏差,实际每秒抽帧的数量则变成了49帧,那么实际每秒编码的数量则变成了51帧。
如果以上一次抽帧的理论***时间作为基准计算第三差值,那么抽帧的实际***时间则为25ms、40ms、60ms、……、1000ms,只有第一次抽帧的实际***时间较理论***时间发生了偏差,而抽帧数量仍保证了50帧,那么每秒编码的数量也维持50帧不变。
因此,通过上述比对可以看出,本申请实施例以上一次抽帧的实际***时间作为基准计算第三差值,不仅可以保证抽帧时间的准确性,还可以保证抽帧数量的稳定性,既防止编码数量增加导致编码码率增加进而导致丢包的情况,又防止了编码数量减少导致直播视频图像质量下降的情况。
进一步地,若存在上一次抽帧,在获取上一次抽帧的理论***时间,并将采集到当前帧的***时间与上一次抽帧的理论***时间的差值作为第三差值之后,还可以包括:
步骤506,获取上一次抽帧的实际***时间,将上一次抽帧的实际***时间与上一次抽帧的理论***时间的差值作为时间残差,判断时间残差与采集时间间隔的大小,采集时间间隔为1000ms与采集帧率的第四比值。
步骤507,若时间残差大于采集时间间隔,则将第三差值的取值加上时间残差;若时间残差小于采集时间间隔,则不改变第三差值的取值。
可以理解的是,第三差值原来代表上一次抽帧的理论***时间,加上时间残差以后,则变成了上一次抽帧的实际***时间。
需要说明的是,在实际直播过程中,采集时间间隔可能存在小的波动,也可能存在大的波动,而时间残差主要是因为采集时间间隔波动引起的;而在本申请实施例中,当时间残差大于采集的理论时间间隔,则认为不是正常的采集时间间隔波动,并将其看成是其他业务逻辑因素造成的,例如当主播开启美颜、瘦脸等功能时,可能造成时间残差大于采集的理论时间间隔;除此之外,时间残差多大的原因也可能是直播终端电量过低、直播终端因工作时间太久而发热。
具体地,假设采集帧频为100/秒,抽帧的方式是从原始视频中抽取多帧丢弃,且编码帧率为50帧/秒,那么理论上抽帧帧率也为50帧,即一秒钟抽取50帧丢弃;当时间残差过大时,可能最终每秒的采集帧数变成了90帧,如果仍按上一次抽帧的理论***时间计算第三差值,则可能仍然准确地抽取了50帧数,那么实际剩余的编码帧数为40帧,小于预设的50帧,从而造成直播视频的图像质量变低。
进一步地,理论***时间的获取也有多种方式,例如获取上一次抽帧的理论***时间可以具体包括:
判断上一次抽帧前是否存在再一次的抽帧,若存在,则获取上一次抽帧的前一次抽帧的理论***时间作为基准时间,若不存在,则获取采集到第一帧的***时间作为基准时间;
将基准时间和与上一次抽帧前计算出的时间间隔的和作为上一次抽帧的理论***时间。
可以理解的是,在本申请实施例中,上一次抽帧的理论***时间是根据再前一次抽帧的理论***时间和时间间隔计算出的。
请参阅图6,本申请实施例中抽帧装置的一个结构示意图;如图6所示,本申请实施例提供了一种抽帧的装置,包括:
编码码率获取单元601,用于实时获取视频编码器接收到的适合当前网络环境的编码码率;
编码帧率计算单元602,用于根据编码码率和编码帧率的预置对应关系计算编码码率对应的编码帧率;
抽帧单元603,用于根据编码帧率进行抽帧,以完成编码操作。
进一步地,抽帧的装置还可以包括:
编码码率控制单元,用于判断编码码率是否超出预设的码率区间;
若编码码率大于码率区间中的最大值,则将最大值赋给编码码率;
若编码码率小于码率区间中的最小值,则将最小值赋给编码码率。
进一步地,编码帧率计算单元602可以具体用于:
获取编码码率与码率区间中的最小值的第一差值;
获取第一差值与码率区间长度的第一比值;
根据预置公式y=sin(πx/2)计算正弦参数,其中x代表第一比值,y代表正弦参数。
将正弦参数乘以码率区间的长度,再加上码率区间的最小值,得到编码帧率。
进一步地,抽帧单元603可以具体包括:
时间间隔确定子单元,用于根据编码帧率计算相邻两次抽帧的时间间隔;
抽帧执行子单元,用于按时间间隔对采集到的帧进行抽帧,以完成编码操作。
进一步地,时间间隔确定子单元可以具体用于:
获取1000ms与编码帧率的第二比值,并将第二比值作为相邻两次抽帧的时间间隔。
进一步地,时间间隔确定子单元可以具体用于:
获取图像采集设备的采集帧率与编码帧率的第二差值;
获取1000ms与第二差值的第三比值,并将第三比值作为相邻两次抽帧的时间间隔。
进一步地,抽帧的装置还包括:
采集帧率获取单元,用于实时获取图像采集设备的采集帧率。
进一步地,抽帧执行子单元可以具体用于:
获取采集到当前帧的***时间;
判断是否存在上一次抽帧;
若存在上一次抽帧,则获取上一次抽帧的理论***时间,并将采集到当前帧的***时间与上一次抽帧的理论***时间的差值作为第三差值;
若不存在上一次抽帧,则获取采集到第一帧的***时间,并将采集到当前帧的***时间与采集到第一帧的***时间的差值作为第三差值;
将第三差值与时间间隔比较,并根据比较结果进行抽帧编码或抽帧丢弃,以完成编码操作。
进一步地,若存在上一次抽帧,抽帧执行子单元还用于:
获取上一次抽帧的实际***时间,将上一次抽帧的实际***时间与上一次抽帧的理论***时间的差值作为时间残差,判断时间残差与采集时间间隔的大小,采集时间间隔为1000ms与采集帧率的第四比值;
若时间残差大于采集时间间隔,则将第三差值的取值加上时间残差;若时间残差小于采集时间间隔,则不改变第三差值的取值。
本申请实施例还提供了另一种抽帧设备,如图7所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该抽帧设备可以为终端,该终端可以为包括手机、平板电脑、个人数字助理(英文全称:PersonalDigital Assistant,英文缩写:PDA)、销售终端(英文全称:Point of Sales,英文缩写:POS)、车载电脑等任意终端设备,以终端为手机为例:
图7示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图7,手机包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(英文全称:wirelessfidelity,英文缩写:WiFi)模块 1070、处理器1080、以及电源1090等部件。本领域技术人员可以理解,图7中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图7对手机的各个构成部件进行具体的介绍:
RF电路1010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1080处理;另外,将设计上行的数据发送给基站。通常,RF电路1010包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(英文全称:LowNoise Amplifier,英文缩写:LNA)、双工器等。此外,RF电路1010还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(英文全称:Global System of Mobile communication,英文缩写:GSM)、通用分组无线服务(英文全称:General Packet Radio Service, GPRS)、码分多址(英文全称:Code Division Multiple Access,英文缩写: CDMA)、宽带码分多址(英文全称:WidebandCode Division Multiple Access, 英文缩写:WCDMA)、长期演进(英文全称:Long TermEvolution,英文缩写:LTE)、电子邮件、短消息服务(英文全称:Short Messaging Service,SMS) 等。
存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1030可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括触控面板1031以及其他输入设备1032。触控面板1031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1031上或在触控面板1031附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1031。除了触控面板1031,输入单元 1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1040可包括显示面板1041,可选的,可以采用液晶显示器(英文全称:Liquid Crystal Display,英文缩写:LCD)、有机发光二极管(英文全称:Organic Light-Emitting Diode,英文缩写:OLED)等形式来配置显示面板1041。进一步的,触控面板1031可覆盖显示面板1041,当触控面板1031检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图7中,触控面板1031与显示面板1041是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1031与显示面板1041集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1041和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1060、扬声器1061,传声器1062可提供用户与手机之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经RF电路1010以发送给比如另一手机,或者将音频数据输出至存储器1020以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了WiFi模块1070,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1080是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1080可包括一个或多个处理单元;优选的,处理器1080可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1080中。
手机还包括给各个部件供电的电源1090(比如电池),优选的,电源可以通过电源管理***与处理器1080逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该终端所包括的处理器1080还具有以下功能:
实时获取视频编码器接收到的适合当前网络环境的编码码率;
根据编码码率和编码帧率的预置对应关系计算编码码率对应的编码帧率;
根据编码帧率进行抽帧,以完成编码操作。
进一步地,在实时获取视频编码器接收到的适合当前网络环境的编码码率之后,在根据编码码率和编码帧率的预置对应关系计算编码码率对应的编码帧率之前,还可以包括:
判断编码码率是否超出预设的码率区间;
若编码码率大于码率区间中的最大值,则将最大值赋给编码码率;
若编码码率小于码率区间中的最小值,则将最小值赋给编码码率。
进一步地,根据编码码率和编码帧率的预置对应关系计算编码码率对应的编码帧率具体可以包括:
获取编码码率与码率区间中的最小值的第一差值;
获取第一差值与码率区间长度的第一比值;
根据预置公式y=sin(πx/2)计算正弦参数,其中x代表第一比值,y代表正弦参数。
将正弦参数乘以码率区间的长度,再加上码率区间的最小值,得到编码帧率。
进一步地,根据编码帧率进行抽帧,以完成编码操作具体可以包括:
根据编码帧率计算相邻两次抽帧的时间间隔;
按时间间隔对采集到的帧进行抽帧,以完成编码操作。
进一步地,根据编码帧率计算相邻两次抽帧的时间间隔具体可以包括:
获取1000ms与编码帧率的第二比值,并将第二比值作为相邻两次抽帧的时间间隔。
进一步地,根据编码帧率计算相邻两次抽帧的时间间隔具体可以包括:
获取图像采集设备的采集帧率与编码帧率的第二差值;
获取1000ms与第二差值的第三比值,并将第三比值作为相邻两次抽帧的时间间隔。
进一步地,在获取图像采集设备的采集帧率与编码帧率的第二差值之前,还可以包括:
实时获取图像采集设备的采集帧率。
进一步地,根据时间间隔进行抽帧,以完成编码操作具体可疑包括:
获取采集到当前帧的***时间;
判断是否存在上一次抽帧;
若存在上一次抽帧,则获取上一次抽帧的理论***时间,并将采集到当前帧的***时间与上一次抽帧的理论***时间的差值作为第三差值;
若不存在上一次抽帧,则获取采集到第一帧的***时间,并将采集到当前帧的***时间与采集到第一帧的***时间的差值作为第三差值;
将第三差值与时间间隔比较,并根据比较结果进行抽帧编码或抽帧丢弃,以完成编码操作。
进一步地,若存在上一次抽帧,在获取上一次抽帧的理论***时间,并将采集到当前帧的***时间与上一次抽帧的理论***时间的差值作为第三差值之后,还可以包括:
获取上一次抽帧的实际***时间,将上一次抽帧的实际***时间与上一次抽帧的理论***时间的差值作为时间残差,判断时间残差与采集时间间隔的大小,采集时间间隔为1000ms与采集帧率的第四比值;
若时间残差大于采集时间间隔,则将第三差值的取值加上时间残差;若时间残差小于采集时间间隔,则不改变第三差值的取值。
进一步地,获取上一次抽帧的理论***时间可以具体包括:
判断上一次抽帧前是否存在再一次的抽帧,若存在,则获取上一次抽帧的前一次抽帧的理论***时间作为基准时间,若不存在,则获取采集到第一帧的***时间作为基准时间;
将基准时间和与上一次抽帧前计算出的时间间隔的和作为上一次抽帧的理论***时间。
本申请实施例还提供一种计算机可读存储介质,用于存储程序代码,该程序代码用于执行前述各个实施例所述的一种抽帧方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等 (如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或 c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (11)

1.一种抽帧的方法,其特征在于,包括:
实时获取视频编码器接收到的适合当前网络环境的编码码率;
根据编码码率和编码帧率的预置对应关系计算所述编码码率对应的编码帧率;
根据所述编码帧率计算相邻两次抽帧的时间间隔;
获取采集到当前帧的***时间;
判断是否存在上一次抽帧;
若存在上一次抽帧,则获取所述上一次抽帧的理论***时间,并将所述采集到当前帧的***时间与所述上一次抽帧的理论***时间的差值作为第三差值;
若不存在上一次抽帧,则获取采集到第一帧的***时间,并将所述采集到当前帧的***时间与采集到第一帧的***时间的差值作为第三差值;
将所述第三差值与所述时间间隔比较,并根据比较结果进行抽帧编码或抽帧丢弃,以完成编码操作。
2.根据权利要求1所述的方法,其特征在于,在实时获取视频编码器接收到的适合当前网络环境的编码码率之后,在根据编码码率和编码帧率的预置对应关系计算所述编码码率对应的编码帧率之前,还包括:
判断所述编码码率是否超出预设的码率区间;
若所述编码码率大于所述码率区间中的最大值,则将所述最大值赋给编码码率;
若所述编码码率小于所述码率区间中的最小值,则将所述最小值赋给编码码率。
3.根据权利要求2所述的方法,其特征在于,根据编码码率和编码帧率的预置对应关系计算所述编码码率对应的编码帧率具体包括:
获取所述编码码率与所述码率区间中的最小值的第一差值;
获取所述第一差值与所述码率区间长度的第一比值;
根据预置公式y=sin(πx/2)计算正弦参数,其中x代表第一比值,y代表正弦参数;
将所述正弦参数乘以所述码率区间的长度,再加上所述码率区间的最小值,得到编码帧率。
4.根据权利要求1所述的方法,其特征在于,根据所述编码帧率计算相邻两次抽帧的时间间隔具体包括:
获取1000ms与所述编码帧率的第二比值,并将所述第二比值作为相邻两次抽帧的时间间隔。
5.根据权利要求1所述的方法,其特征在于,根据所述编码帧率计算相邻两次抽帧的时间间隔具体包括:
获取图像采集设备的采集帧率与所述编码帧率的第二差值;
获取1000ms与所述第二差值的第三比值,并将所述第三比值作为相邻两次抽帧的时间间隔。
6.根据权利要求5所述的方法,其特征在于,在获取图像采集设备的采集帧率与所述编码帧率的第二差值之前,还包括:
实时获取图像采集设备的采集帧率。
7.根据权利要求1所述的方法,其特征在于,若存在上一次抽帧,在获取所述上一次抽帧的理论***时间,并将所述采集到当前帧的***时间与所述上一次抽帧的理论***时间的差值作为第三差值之后,还包括:
获取上一次抽帧的实际***时间,将上一次抽帧的实际***时间与上一次抽帧的理论***时间的差值作为时间残差,判断所述时间残差与采集时间间隔的大小,所述采集时间间隔为1000ms与所述采集帧率的第四比值;
若所述时间残差大于所述采集时间间隔,则将所述第三差值的取值加上所述时间残差;若所述时间残差小于所述采集时间间隔,则不改变所述第三差值的取值。
8.根据权利要求1所述的方法,其特征在于,获取上一次抽帧的理论***时间具体包括:
判断所述上一次抽帧前是否存在再一次的抽帧,若存在,则获取所述上一次抽帧的前一次抽帧的理论***时间作为基准时间,若不存在,则获取所述采集到第一帧的***时间作为基准时间;
将所述基准时间和与所述上一次抽帧前计算出的所述时间间隔的和作为上一次抽帧的理论***时间。
9.一种抽帧的装置,其特征在于,包括:
编码码率获取单元,用于实时获取视频编码器接收到的适合当前网络环境的编码码率;
编码帧率计算单元,用于根据编码码率和编码帧率的预置对应关系计算所述编码码率对应的编码帧率;
抽帧单元,用于根据所述编码帧率进行抽帧,以完成编码操作;
所述抽帧单元包括:
时间间隔确定子单元,用于根据编码帧率计算相邻两次抽帧的时间间隔;
抽帧执行子单元,用于获取采集到当前帧的***时间;判断是否存在上一次抽帧;若存在上一次抽帧,则获取上一次抽帧的理论***时间,并将采集到当前帧的***时间与上一次抽帧的理论***时间的差值作为第三差值;若不存在上一次抽帧,则获取采集到第一帧的***时间,并将采集到当前帧的***时间与采集到第一帧的***时间的差值作为第三差值;将第三差值与时间间隔比较,并根据比较结果进行抽帧编码或抽帧丢弃,以完成编码操作。
10.一种抽帧的设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-8任一项所述的抽帧方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-8任一项所述的抽帧方法。
CN201811094881.2A 2018-09-19 2018-09-19 一种抽帧的方法、装置、设备及计算机可读存储介质 Active CN109168013B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811094881.2A CN109168013B (zh) 2018-09-19 2018-09-19 一种抽帧的方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811094881.2A CN109168013B (zh) 2018-09-19 2018-09-19 一种抽帧的方法、装置、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN109168013A CN109168013A (zh) 2019-01-08
CN109168013B true CN109168013B (zh) 2020-09-25

Family

ID=64879616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811094881.2A Active CN109168013B (zh) 2018-09-19 2018-09-19 一种抽帧的方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN109168013B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111954031B (zh) * 2019-05-14 2024-04-30 西安光启智能技术有限公司 一种动态调整视频流抽帧速率的方法及***
CN110324654A (zh) * 2019-08-02 2019-10-11 广州虎牙科技有限公司 主播端直播视频帧处理方法、装置、设备、***及介质
CN111682980A (zh) * 2020-05-28 2020-09-18 西安万像电子科技有限公司 一种图像编码方法及装置
CN113170054A (zh) * 2020-07-28 2021-07-23 深圳市大疆创新科技有限公司 视频传输方法、可移动平台及计算机可读存储介质
CN112911306B (zh) * 2021-01-15 2023-04-07 北京奇艺世纪科技有限公司 一种视频处理方法、装置、电子设备及存储介质
CN113207016B (zh) * 2021-03-29 2022-05-27 新华三大数据技术有限公司 一种虚拟机图像帧率控制方法及网络设备、存储介质
CN113905200B (zh) * 2021-10-08 2023-07-11 山东亚华电子股份有限公司 一种基于统计的视频处理方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104469367A (zh) * 2014-12-16 2015-03-25 南京仟壹视讯信息技术有限公司 基于丢帧和量化参数调整的视频码率控制方法
CN107026856A (zh) * 2017-03-30 2017-08-08 上海七牛信息技术有限公司 一种网络推流质量的优化方法及优化***
CN107079135A (zh) * 2016-01-29 2017-08-18 深圳市大疆创新科技有限公司 视频数据传输方法、***、设备和拍摄装置
CN107623851A (zh) * 2017-09-01 2018-01-23 苏州科达科技股份有限公司 视频码流传输控制装置及控制方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8285218B2 (en) * 2009-08-31 2012-10-09 The Nielsen Company (Us), Llc Methods and apparatus to identify wireless carrier performance effects
WO2016118058A1 (en) * 2015-01-23 2016-07-28 Telefonaktiebolaget Lm Ericsson (Publ) Vlc-based video frame synchronization
US11089373B2 (en) * 2016-12-29 2021-08-10 Sling Media Pvt Ltd Seek with thumbnail generation and display during placeshifting session

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104469367A (zh) * 2014-12-16 2015-03-25 南京仟壹视讯信息技术有限公司 基于丢帧和量化参数调整的视频码率控制方法
CN107079135A (zh) * 2016-01-29 2017-08-18 深圳市大疆创新科技有限公司 视频数据传输方法、***、设备和拍摄装置
CN107026856A (zh) * 2017-03-30 2017-08-08 上海七牛信息技术有限公司 一种网络推流质量的优化方法及优化***
CN107623851A (zh) * 2017-09-01 2018-01-23 苏州科达科技股份有限公司 视频码流传输控制装置及控制方法

Also Published As

Publication number Publication date
CN109168013A (zh) 2019-01-08

Similar Documents

Publication Publication Date Title
CN109168013B (zh) 一种抽帧的方法、装置、设备及计算机可读存储介质
CN111544886B (zh) 一种画面显示的方法以及相关装置
CN110324622B (zh) 一种视频编码码率控制方法、装置、设备及存储介质
CN108737908B (zh) 一种媒体播放方法、装置及存储介质
CN112203100B (zh) 降低上下行带宽需求的传输方法及***
CN111010576B (zh) 一种数据处理方法及相关设备
US11930232B2 (en) Video playing control method, terminal device, server, and storage medium
WO2014086218A1 (zh) 界面调整方法、装置及终端
CN109729384B (zh) 视频转码的选择方法和装置
CN111328119B (zh) 一种语音业务处理方法及电子设备
CN106406530B (zh) 一种屏幕显示方法及其移动终端
CN112423076B (zh) 一种音频投屏同步控制方法、设备及计算机可读存储介质
CN108337533B (zh) 视频压缩方法和装置
US11297328B2 (en) Video coding method, device, device and storage medium
CN108933964B (zh) 一种弹幕显示方法、播放设备及控制终端
CN112019929A (zh) 一种音量调节方法和装置
CN108492837B (zh) 音频突发白噪声的检测方法、装置及存储介质
CN108270853B (zh) 一种消息处理方法及移动终端
CN109474833B (zh) 一种网络直播的方法、相关装置和***
CN112492340B (zh) 直播音频采集方法、移动终端及计算机可读存储介质
CN107622234B (zh) 一种显示萌脸礼物的方法和装置
CN111615198A (zh) 资源确定方法、资源指示方法、终端及网络侧设备
CN113596904B (zh) 非周期定位报告的传输方法及设备
CN112888024B (zh) 数据处理方法、装置、存储介质及电子设备
CN108234745B (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
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210113

Address after: 510000 3108, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee after: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 28th floor, block B1, Wanda Plaza, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190108

Assignee: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Contract record no.: X2021440000053

Denomination of invention: The invention relates to a frame extracting method, a device, a device and a computer readable storage medium

Granted publication date: 20200925

License type: Common License

Record date: 20210208

EE01 Entry into force of recordation of patent licensing contract