CN107360457A - 多媒体数据处理方法及相关设备 - Google Patents

多媒体数据处理方法及相关设备 Download PDF

Info

Publication number
CN107360457A
CN107360457A CN201710455085.6A CN201710455085A CN107360457A CN 107360457 A CN107360457 A CN 107360457A CN 201710455085 A CN201710455085 A CN 201710455085A CN 107360457 A CN107360457 A CN 107360457A
Authority
CN
China
Prior art keywords
video frame
frame
video
key
timestamp
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
CN201710455085.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.)
Leshi Zhixin Electronic Technology Tianjin Co Ltd
LeTV Holding Beijing Co Ltd
Original Assignee
Leshi Zhixin Electronic Technology Tianjin Co Ltd
LeTV Holding Beijing 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 Leshi Zhixin Electronic Technology Tianjin Co Ltd, LeTV Holding Beijing Co Ltd filed Critical Leshi Zhixin Electronic Technology Tianjin Co Ltd
Priority to CN201710455085.6A priority Critical patent/CN107360457A/zh
Publication of CN107360457A publication Critical patent/CN107360457A/zh
Pending legal-status Critical Current

Links

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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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/439Processing of audio elementary streams
    • H04N21/4394Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
    • 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/44008Processing 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 operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • 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)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本发明的实施方式涉及一种多媒体数据处理方法,该方法包括:获取第一视频帧;检测所述第一视频帧的类型;如果所述第一视频帧为关键视频帧,保留所述第一视频帧以及所述第一视频帧之后的视频帧;如果所述第一视频帧为非关键视频帧,丢掉所述第一视频帧。根据本发明的实施方式,解决现有技术中当多媒体播放器按时间戳查找最接近目标位置的视频帧,并以该视频帧为起始帧开始播放多媒体内容时出现画面卡顿或花屏的问题,并且也进一步解决了音频和视频有可能不同步的问题。本发明的实施方式还涉及一种多媒体数据处理装置、电子设备及计算机可读存储介质。

Description

多媒体数据处理方法及相关设备
技术领域
本发明的实施方式涉及计算机应用领域,更具体地,本发明的实施方式涉及多媒体数据处理方法及相关设备。
背景技术
多媒体播放器为用户提供了播放多媒体内容的功能,用户不仅可以从多媒体内容的起始位置开始观看该多媒体内容,还可以根据自己的需要将播放位置快进或者快退到该多媒体内容的任意位置,多媒体播放器就会从目标位置开始继续播放该多媒体内容。
在相关的现有技术中,一旦快进或快退到某一目标位置之后,多媒体播放器就会利用查找功能(seek功能)查找该目标位置。例如,基于FFMpeg开发的FFPlayer播放器是现有开源方案中最为成熟的播放器,不仅支持流媒体格式、容器格式、音视频格式,并且也是音视频后处理技术最全的播放器,而查找功能是播放器最重要最常用的功能之一。目前支持3种查找的方式:1)按时间戳进行查找,2)按字节进行查找,3)按帧进行查找,因为后两种方式存在较多的限制,因此通常按时间戳进行查找,即,按时间戳查找最接近目标位置的视频帧,并以该视频帧为起始帧开始播放多媒体内容。
但是,本发明的发明人在研究中发现,当多媒体播放器按时间戳查找最接近目标位置的视频帧,并以该视频帧为起始帧开始播放多媒体内容时,往往会出现视频画面卡顿或花屏(即视频画面局部出现马赛克)的问题,并且伴随着卡顿,常常还会产生音频和视频不同步的问题,严重影响了用户的观影体验。
发明内容
为此,本发明的实施方式提供了一种多媒体数据处理方法及相关设备,以解决现有技术中当多媒体播放器按时间戳查找最接近目标位置的视频帧,并以该视频帧为起始帧开始播放多媒体内容时出现画面卡顿或花屏的问题,并且也进一步解决了音频和视频有可能不同步的问题。
为了实现上述目的,本发明的实施方式提供如下技术方案:
在本发明的实施方式的第一方面中,提供了一种多媒体数据处理方法,应用于数据解码之前,包括:
获取第一视频帧;
检测所述第一视频帧的类型;
如果所述第一视频帧为关键视频帧,保留所述第一视频帧以及所述第一视频帧之后的视频帧;
如果所述第一视频帧为非关键视频帧,丢掉所述第一视频帧。
在本发明的一个实施例中,还包括:
在丢掉所述第一视频帧之后,获取第二视频帧,所述第二视频帧为所述第一视频帧的下一个视频帧;
检测所述第二视频帧的类型;
如果所述第二视频帧为关键视频帧,保留所述第二视频帧以及所述第二视频帧之后的视频帧;
如果所述第二视频帧为非关键视频帧,丢掉所述第二视频帧。
在本发明的另一实施例中,还包括:
获取第一非视频帧,所述非视频帧包括音频帧和字幕帧中的至少一个;
比较所述第一非视频帧的时间戳与所述关键视频帧的时间戳;
如果所述第一非视频帧的时间戳早于所述关键视频帧的时间戳,丢掉所述第一非视频帧;
如果所述第一非视频帧的时间戳晚于或等于所述关键视频帧的时间戳,保留所述第一非视频帧。
在本发明的又一个实施例中,还包括:
在丢掉所述第一非视频帧之后,获取第二非视频帧,所述第二非视频帧为所述第一非视频帧的下一个非视频帧;
比较所述第二非视频帧的时间戳与所述关键视频帧的时间戳;
如果所述第二非视频帧的时间戳早于所述关键视频帧的时间戳,丢掉所述第二非视频帧;
如果所述第二非视频帧的时间戳晚于或等于所述关键视频帧的时间戳,保留所述第二非视频帧。
在本发明的实施方式的第二方面中,提供了一种多媒体数据处理装置,应用于数据解码之前,包括:
第一获取单元,用于获取第一视频帧;
第一检测单元,用于检测所述第一视频帧的类型;
第一保留处理单元,用于如果所述第一视频帧为关键视频帧,保留所述第一视频帧以及所述第一视频帧之后的视频帧;
第一丢掉处理单元,用于如果所述第一视频帧为非关键视频帧,丢掉所述第一视频帧。
在本发明的一个实施例中,还包括:
第二获取单元,用于在第一丢掉处理单元丢掉所述第一视频帧之后,获取第二视频帧,所述第二视频帧为所述第一视频帧的下一个视频帧;
第二检测单元,用于检测所述第二视频帧的类型;
第二保留处理单元,用于如果所述第二视频帧为关键视频帧,保留所述第二视频帧以及所述第二视频帧之后的视频帧;
第二丢掉处理单元,用于如果所述第二视频帧为非关键视频帧,丢掉所述第二视频帧。
在本发明的另一实施例中,还包括:
第三获取单元,用于获取第一非视频帧,所述非视频帧包括音频帧和字幕帧中的至少一个;
第一比较单元,用于比较所述第一非视频帧的时间戳与所述关键视频帧的时间戳;
第三丢掉处理单元,用于如果所述第一非视频帧的时间戳早于所述关键视频帧的时间戳,丢掉所述第一非视频帧;
第三保留处理单元,用于如果所述第一非视频帧的时间戳晚于或等于所述关键视频帧的时间戳,保留所述第一非视频帧。
在本发明的又一个实施例中,还包括:
第四获取单元,用于在第三丢掉处理单元丢掉所述第一非视频帧之后,获取第二非视频帧,所述第二非视频帧为所述第一非视频帧的下一个非视频帧;
第二比较单元,用于比较所述第二非视频帧的时间戳与所述关键视频帧的时间戳;
第四丢掉处理单元,用于如果所述第二非视频帧的时间戳早于所述关键视频帧的时间戳,丢掉所述第二非视频帧;
第四保留处理单元,用于如果所述第二非视频帧的时间戳晚于或等于所述关键视频帧的时间戳,保留所述第二非视频帧。
在本发明的实施方式的第三方面中,提供了一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一种方法。
在本发明的实施方式的第四方面中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述任一种方法。
根据本发明的实施方式,当查找到距离目标位置最近的视频帧时,在以该视频帧为起始帧进行解码之前,先基于帧类型检测丢掉待解码视频帧中很可能解码失败的视频帧,而保留待解码视频帧中很可能解码成功的视频帧。其中,在待解码视频帧中,位于第一个关键视频帧之前的非关键视频帧因缺少位于其前面的关键视频帧而很可能解码失败,因此需要丢掉,而位于第一个关键视频帧之后的视频帧因不缺少位于其前面的关键视频帧而很可能解码成功,因此需要保留。通过这样的方式处理后所保留的视频帧再进行解码时,就可以保证每个视频帧都可以解码成功,避免了视频画面的卡顿或花屏。
另外,当查找到距离目标位置最近的音频帧时,在以该音频帧为起始帧进行解码之前,针对任一音频帧,比较该音频帧的时间戳与检测出的关键视频帧的时间戳,如果该音频帧的时间戳早于该关键视频帧的时间戳,说明音频帧在播出时视频帧还没有到达显示时间,因此音频和视频两者不能同步,丢掉该音频帧,如果该音频帧的时间戳晚于或者等于该关键视频帧的时间戳,说明音频和视频能够同步播出,保留该音频帧。通过这样的方式处理后所保留的音频帧在播放时即可保证音频与视频的同步。同样的方式应用在字幕帧上,就可以保证字幕与视频的同步。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
图1为本发明的一实施例提供的一种应用场景的架构图;
图2为本发明的另一实施例提供的一种客户端30对多媒体数据20进行处理的处理框架图;
图3为本发明的另一实施例提供的一种GOP的帧结构图;
图4为本发明的另一实施例提供的另一种GOP的帧结构图;
图5为本发明的另一实施例提供的一种视频帧处理方法的流程图;
图6为本发明的另一实施例提供的一种音频帧处理方法的流程图;
图7为本发明的另一实施例提供的一种多媒体数据处理方法的流程图;
图8为本发明的另一实施例提供的一种多媒体数据处理装置的结构示意图;
图9为本发明的另一实施例提供的执行多媒体数据处理方法的电子设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应用场景总览
首先请参考图1所示,服务器10将编码后的多媒体数据20发送给客户端30,客户端30接收到多媒体数据20之后,对多媒体数据20进行分流、解码、同步等处理后进行输出。其中,客户端30可以应用在电子设备中,该电子设备可以是手机、也可以是其它的移动终端,如,平板电脑、智能电视、车载设备等;服务器10可以是Web服务器,也可以是其它的服务器。当然,本领域技术人员可以理解,图1所示的示意图仅是本发明的实施方式可以在其中得以实现的一个示例。本发明实施方式的应用范围不受到该框架任何方面的限制。
请参阅图2所示,其为本发明的另一实施例提供的一种客户端30对多媒体数据20进行处理的处理框架图,图2仅示意出了主要的几个处理环节,处理环节包括但不限于:分流、解码、同步以及播放。其中,多媒体数据20先经过解复用器301的分流,分别得到视频数据21a、音频数据22a和字幕数据23a,视频数据21a、音频数据22a和字幕数据23a经过各自的解码器(视频解码器302a、音频解码器302b和字幕解码器302c)进行解码,分别得到解码后的视频数据21b、解码后的音频数据22b和字幕数据23b,再经过同步装置303的同步处理后,最后经由各自的播放部件(视频显示部件304a、音频播放部件304b和字幕显示部件304c)进行播放。
上述的视频数据21a封装在多个画面组GOP(Group of Pictures)中,对于每个GOP来说,该GOP都包含一个关键视频帧和若干个非关键视频帧,以MEPG编码格式为例,参见图3所示的GOP结构,该GOP包含一个关键视频帧I帧以及若干个非关键视频帧P帧和B帧,关键视频帧为该GOP的起始帧,非关键视频帧的解码需要依据位于其前面的关键视频帧的解码结果,也就是说,如果关键视频帧未进行解码或解码失败,其它非关键视频帧也很可能解码失败。
一旦用户将播放位置快进或快退到某一个目标位置之后,客户端30就根据时间戳查找距离该目标位置最近的数据帧(视频帧、音频帧和字幕帧),然后以该数据帧为起始帧进行解码、同步、播放处理。但是,如果查找到的距离该目标位置最近的视频帧为图3所示的GOP中的一个非视频关键帧,例如图3所示的P帧,由于未对该GOP中的关键视频帧I帧进行解码,该GOP中从该P帧开始的后续视频帧都将解码失败,进而导致视频画面出现卡顿或者花屏(即视频画面局部出现马赛克)的问题,直到能够正确解码下一个GOP的关键视频帧为止,如图4所示。并且,当视频画面卡顿时,音频数据和字幕数据还在正常解码以及播放,这样就会进一步产生视频与音频以及字幕不同步的问题,即,视频画面卡顿在某一帧处,而音频和字幕还在正常地、持续地播放。并且,如图4所示,GOP越大,卡顿或花屏的时间越长,相应的,不同步的时间也越长,用户的观影体验越差。
因此,本发明的发明人在研究中发现,为了避免视频画面卡顿或花屏,在以查找到的视频帧(距离目标位置最近)为起始帧进行解码处理之前,先基于帧类型检测丢掉其中很可能解码失败的视频帧,而保留很可能解码成功的视频帧,然后再对保留的视频帧进行解码。即,从距离目标位置最近的视频帧开始,检测该视频帧是否为关键视频帧,如果该视频帧是关键视频帧则保留,并且由于该关键视频帧的存在,位于该关键视频帧之后的其它视频帧也可能解码成功,因此,直接将该关键视频帧之后的所有视频帧也都保留;如果该视频帧是非关键视频帧,由于该非关键视频帧因缺少关键视频帧而很可能解码失败,因此将该非关键视频帧丢掉,然后再继续检测下一个视频帧是否是关键视频帧,并按照上述方式处理,直到检测出关键视频帧,并保留该关键视频帧之后的所有视频帧为止。也就是说,在检测出第一个关键视频帧之前的所有视频帧都丢掉,而保留第一个关键视频帧以及在该第一个关键视频帧之后的所有视频帧。例如,如图4所示,如果距离目标位置最近的视频帧为第一个GOP中的第一个P帧,则丢掉该P帧,并且从该P帧开始一直到第一个GOP的最后一个视频帧都丢掉,保留第二个GOP的I帧以及该I帧之后的所有视频帧。
下面结合附图和实例对本发明作进一步说明:
方法实施例
如果用户在观看视频内容的过程中将播放位置快进或快退到某一个目标位置,播放器就按照时间戳从视频数据中查找到距离该目标位置最近的视频帧之后,在以该视频帧为起始数据帧进行解码之前,执行本发明实施例中的方法,以解决视频画面卡顿或花屏的问题。
请参阅图5,为本发明的一个实施例提供的一种视频帧处理方法的流程图,该方法可以运用于播放器的客户端,如,图1所示的客户端30。该方法可以包括:
步骤501:获取第N个视频帧;
步骤502:检测第N个视频帧是否为关键视频帧,如果否,进入步骤503,如果是,进入步骤504;
步骤503:将N的值加1,返回步骤501;
步骤504:保留从第N个视频帧开始的所有视频帧。
其中,N为非零正整数,N的初始值为1,距离目标位置最近的视频帧即为上述方法中的第一个视频帧。
可以理解的,仅通过上述处理后,可以确保在被保留下来的所有视频帧中,关键视频帧为起始帧。并且,被保留下来的所有视频帧接下来将进行图4中所示的解码、同步和播放处理。
根据本发明实施例,当查找到距离目标位置最近的视频帧时,在以该视频帧为起始帧进行解码之前,先基于帧类型检测丢掉待解码视频帧中很可能解码失败的视频帧,而保留待解码视频帧中很可能解码成功的视频帧。其中,在待解码视频帧中,位于第一个关键视频帧之前的非关键视频帧因缺少位于其前面的关键视频帧而很可能解码失败,因此需要丢掉,而位于第一个关键视频帧之后的视频帧因不缺少位于其前面的关键视频帧而很可能解码成功,因此需要保留。通过这样的方式处理后所保留的视频帧再进行解码时,就可以保证每个视频帧都可以解码成功,避免了视频画面的卡顿或花屏。
考虑如果通过查找功能查找到的距离目标位置最近的视频帧不是关键视频帧,就会丢掉一部分视频帧,实际播放的起始帧就不是最初查找到距离目标位置最近的视频帧,而是检测出的关键视频帧,因此,如果音频帧的起始帧仍然是最初查找到的距离目标位置最近的音频帧的话,从该音频帧开始播放就会产生音频和视频不同步的问题。
为了进一步解决上述不同步的问题,本发明的发明人在研究中发现,在以距离目标位置最近的音频帧为起始帧进行解码处理之前,基于时间戳检测丢掉其中很可能与视频不同步的音频帧,而保留很可能与视频同步的音频帧。即,在以距离目标位置最近的音频帧为起始帧的这些音频帧中,针对任一音频帧,比较该音频帧的时间戳与检测出的关键视频帧的时间戳,如果该音频帧的时间戳早于该关键视频帧的时间戳,说明音频帧在播出时视频帧还没有到达显示时间,因此音频和视频两者不能同步,丢掉该音频帧,如果该音频帧的时间戳晚于或者等于该关键视频帧的时间戳,说明音频和视频能够同步播出,保留该音频帧。
基于此,如果用户在观看视频内容的过程中将播放位置快进或快退到某一个目标位置,播放器就按照时间戳从音频数据中查找到距离该目标位置最近的音频帧之后,在以该音频帧为起始数据帧进行解码之前,执行本发明实施例中的方法,以解决音频和视频不同步的问题。
请参阅图6,为本发明的另一个实施例提供的一种音频帧处理方法的流程图,该方法可以运用于播放器的客户端,如,图1所示的客户端30。该方法可以包括:
步骤601:获取第N个音频帧;
步骤602:检测第N个音频帧的时间戳是否晚于或等于关键视频帧的时间戳,如果是,进入步骤603,如果否,进入步骤604;
步骤603:保留第N个音频帧,转入步骤605;
步骤604:丢掉第N个音频帧;
步骤605:将N的值加1,返回步骤601。
其中,N为非零正整数,N的初始值为1,距离目标位置最近的音频帧即为上述方法中的第一个音频帧。
上述步骤602中的关键视频帧即为通过上述图5的方法检测出的关键视频帧。
同样,如果字幕帧的起始帧仍然是最初查找到的距离目标位置最近的字幕帧的话,从该字幕帧开始播放就会产生字幕和视频不同步的问题。图6所示的方法也同样适用于字幕帧,具体的处理方法可以参见图6,在此不再赘述。
根据本发明实施例,当查找到距离目标位置最近的音频帧时,在以该音频帧为起始帧进行解码之前,针对任一音频帧,比较该音频帧的时间戳与检测出的关键视频帧的时间戳,如果该音频帧的时间戳早于该关键视频帧的时间戳,说明音频帧在播出时视频帧还没有到达显示时间,因此音频和视频两者不能同步,丢掉该音频帧,如果该音频帧的时间戳晚于或者等于该关键视频帧的时间戳,说明音频和视频能够同步播出,保留该音频帧。通过这样的方式处理后所保留的音频帧在播放时即可保证音频与视频的同步。同样的方式应用在字幕帧上,就可以保证字幕与视频的同步。
在实际应用中,如图2所示,在通过分流获得音频帧、视频帧和字幕帧后,且在对音频帧、视频帧和字幕帧进行解码之前,客户端可以先按照图5所示的处理方法对视频帧进行处理,然后再按照图6所示的处理方法对音频帧以及字幕帧进行处理。当然,为了提高处理速度,客户端也可以分别按照图5和图6的处理方法并行地对视频帧、音频帧和字幕帧进行处理。当采用并行的方式处理时,请参阅图7,为本发明的另一个实施例提供的一种多媒体数据处理方法的流程图,该方法可以运用于播放器的客户端,如,图1所示的客户端30。该方法可以包括:
步骤701:从解码复用器获得一个数据帧;
步骤702:判断是否已检测出一个关键视频帧,如果否,进入步骤703,如果是,进入步骤712;
步骤703:检测该数据帧的类型,如果是非视频帧,进入步骤704,如果是非关键视频帧,进入步骤705,如果是关键视频帧,进入步骤706;
步骤704:将非视频帧保存在临时队列中,返回步骤701;
其中,非视频帧可以为音频帧和字幕帧中的至少有一个,将音频帧保存在音频队列中,将字幕帧保存在字幕序列中。
步骤705:丢掉该非关键视频帧,返回步骤701;
步骤706:保留该关键视频帧;
步骤707:判断临时队列是否为空,如果临时队列不为空,进入步骤708,如果临时队列为空,返回步骤701;
其中,如果音频队列和字幕队列都为空,表明临时队列为空,如果音频队列和字幕队列中至少一个队列不为空,表明临时队列不为空。
步骤708:从临时队列中获得一个非视频帧;
步骤709:判断该非视频帧的时间戳是否晚于或等于该关键视频帧的时间戳,如果是,进入步骤710,否则,进入步骤711;
步骤710:保留该非视频帧,返回步骤708;
步骤711:丢掉该非视频帧,返回步骤708;
步骤712:检测该数据帧的类型,如果是非视频帧,进入步骤713,如果是视频帧,进入步骤716;
步骤713:判断该非视频帧的时间戳是否晚于或等于该关键视频帧的时间戳,如果是,进入步骤714,否则,进入步骤715;
步骤714:保留该非视频帧,返回步骤701;
步骤715:丢掉该非视频帧,返回步骤701;
步骤716:保留该视频帧,返回步骤701。
根据本发明实施例,当查找到距离目标位置最近的视频帧时,在以该视频帧为起始帧进行解码之前,先基于帧类型检测丢掉待解码视频帧中很可能解码失败的视频帧,而保留待解码视频帧中很可能解码成功的视频帧。其中,在待解码视频帧中,位于第一个关键视频帧之前的非关键视频帧因缺少位于其前面的关键视频帧而很可能解码失败,因此需要丢掉,而位于第一个关键视频帧之后的视频帧因不缺少位于其前面的关键视频帧而很可能解码成功,因此需要保留。通过这样的方式处理后所保留的视频帧再进行解码时,就可以保证每个视频帧都可以解码成功,避免了视频画面的卡顿或花屏。
并且,当查找到距离目标位置最近的音频帧时,在以该音频帧为起始帧进行解码之前,针对任一音频帧,比较该音频帧的时间戳与检测出的关键视频帧的时间戳,如果该音频帧的时间戳早于该关键视频帧的时间戳,说明音频帧在播出时视频帧还没有到达显示时间,因此音频和视频两者不能同步,丢掉该音频帧,如果该音频帧的时间戳晚于或者等于该关键视频帧的时间戳,说明音频和视频能够同步播出,保留该音频帧。通过这样的方式处理后所保留的音频帧在播放时即可保证音频与视频的同步。同样的方式应用在字幕帧上,就可以保证字幕与视频的同步。
虚拟装置实施例
请参阅图8,为本发明的另一个实施例提供的一种多媒体数据处理装置的结构示意图,该装置可以运用于客户端中,并且应用于数据解码之前。该装置可以包括:
第一获取单元801,用于获取第一视频帧;
第一检测单元802,用于检测所述第一视频帧的类型;
第一保留处理单元803,用于如果所述第一视频帧为关键视频帧,保留所述第一视频帧以及所述第一视频帧之后的视频帧;
第一丢掉处理单元804,用于如果所述第一视频帧为非关键视频帧,丢掉所述第一视频帧。
在本发明的一个可选实施方式中,该装置还包括:
第二获取单元,用于在第一丢掉处理单元丢掉所述第一视频帧之后,获取第二视频帧,所述第二视频帧为所述第一视频帧的下一个视频帧;
第二检测单元,用于检测所述第二视频帧的类型;
第二保留处理单元,用于如果所述第二视频帧为关键视频帧,保留所述第二视频帧以及所述第二视频帧之后的视频帧;
第二丢掉处理单元,用于如果所述第二视频帧为非关键视频帧,丢掉所述第二视频帧。
在本发明的另一个可选实施方式中,该装置还包括:
第三获取单元,用于获取第一非视频帧,所述非视频帧包括音频帧和字幕帧中的至少一个;
第一比较单元,用于比较所述第一非视频帧的时间戳与所述关键视频帧的时间戳;
第三丢掉处理单元,用于如果所述第一非视频帧的时间戳早于所述关键视频帧的时间戳,丢掉所述第一非视频帧;
第三保留处理单元,用于如果所述第一非视频帧的时间戳晚于或等于所述关键视频帧的时间戳,保留所述第一非视频帧。
在本发明的另一个可选实施方式中,该装置还包括:
第四获取单元,用于在第三丢掉处理单元丢掉所述第一非视频帧之后,获取第二非视频帧,所述第二非视频帧为所述第一非视频帧的下一个非视频帧;
第二比较单元,用于比较所述第二非视频帧的时间戳与所述关键视频帧的时间戳;
第四丢掉处理单元,用于如果所述第二非视频帧的时间戳早于所述关键视频帧的时间戳,丢掉所述第二非视频帧;
第四保留处理单元,用于如果所述第二非视频帧的时间戳晚于或等于所述关键视频帧的时间戳,保留所述第二非视频帧。
根据本发明实施例,
当查找到距离目标位置最近的视频帧时,在以该视频帧为起始帧进行解码之前,先基于帧类型检测丢掉待解码视频帧中很可能解码失败的视频帧,而保留待解码视频帧中很可能解码成功的视频帧。其中,在待解码视频帧中,位于第一个关键视频帧之前的非关键视频帧因缺少位于其前面的关键视频帧而很可能解码失败,因此需要丢掉,而位于第一个关键视频帧之后的视频帧因不缺少位于其前面的关键视频帧而很可能解码成功,因此需要保留。通过这样的方式处理后所保留的视频帧再进行解码时,就可以保证每个视频帧都可以解码成功,避免了视频画面的卡顿或花屏。
并且,当查找到距离目标位置最近的音频帧时,在以该音频帧为起始帧进行解码之前,针对任一音频帧,比较该音频帧的时间戳与检测出的关键视频帧的时间戳,如果该音频帧的时间戳早于该关键视频帧的时间戳,说明音频帧在播出时视频帧还没有到达显示时间,因此音频和视频两者不能同步,丢掉该音频帧,如果该音频帧的时间戳晚于或者等于该关键视频帧的时间戳,说明音频和视频能够同步播出,保留该音频帧。通过这样的方式处理后所保留的音频帧在播放时即可保证音频与视频的同步。同样的方式应用在字幕帧上,就可以保证字幕与视频的同步。
电子设备及计算机可读存储介质实施例
如图9是本发明另一实施例提供的执行多媒体数据处理方法的电子设备的硬件结构示意图,如图9所示,该电子设备包括:
一个或多个处理器910以及存储器920,图9中以一个处理器910为例。
处理器910和存储器920可以通过总线或者其他方式连接,图9中以通过总线连接为例。
存储器920作为一种非易失性的计算机可读存储介质,可用于存储易失性软件程序、易失性计算机可执行程序以及模块,如本发明的方法实施例中的软件发布方法对应的程序指令/模块(单元)(例如,附图8所示的第一获取单元801、第一检测单元802、第一保留处理单元803和第一丢掉处理单元804)。处理器910通过运行存储在存储器920中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例图标显示方法。
存储器920可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储获取的应用程序的提醒事项的数量信息等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器920可选包括相对于处理器910远程设置的存储器,这些远程存储器可以通过网络连接至列表项操作的处理装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器920中,当被所述一个或者多个处理器910执行时,执行上述任意方法实施例中的多媒体数据处理方法。
上述产品可执行本发明的实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明的实施例所提供的方法。
本发明的实施例的电子设备可以以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有提醒事项记录功能的电子装置。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元(模块)可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
根据本发明实施例,当查找到距离目标位置最近的视频帧时,在以该视频帧为起始帧进行解码之前,先基于帧类型检测丢掉待解码视频帧中很可能解码失败的视频帧,而保留待解码视频帧中很可能解码成功的视频帧。其中,在待解码视频帧中,位于第一个关键视频帧之前的非关键视频帧因缺少位于其前面的关键视频帧而很可能解码失败,因此需要丢掉,而位于第一个关键视频帧之后的视频帧因不缺少位于其前面的关键视频帧而很可能解码成功,因此需要保留。通过这样的方式处理后所保留的视频帧再进行解码时,就可以保证每个视频帧都可以解码成功,避免了视频画面的卡顿或花屏。
并且,当查找到距离目标位置最近的音频帧时,在以该音频帧为起始帧进行解码之前,针对任一音频帧,比较该音频帧的时间戳与检测出的关键视频帧的时间戳,如果该音频帧的时间戳早于该关键视频帧的时间戳,说明音频帧在播出时视频帧还没有到达显示时间,因此音频和视频两者不能同步,丢掉该音频帧,如果该音频帧的时间戳晚于或者等于该关键视频帧的时间戳,说明音频和视频能够同步播出,保留该音频帧。通过这样的方式处理后所保留的音频帧在播放时即可保证音频与视频的同步。同样的方式应用在字幕帧上,就可以保证字幕与视频的同步。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施例可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的原理或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种多媒体数据处理方法,其特征在于,应用于数据解码之前,包括:
获取第一视频帧;
检测所述第一视频帧的类型;
如果所述第一视频帧为关键视频帧,保留所述第一视频帧以及所述第一视频帧之后的视频帧;
如果所述第一视频帧为非关键视频帧,丢掉所述第一视频帧。
2.根据权利要求1所述的方法,其特征在于,还包括:
在丢掉所述第一视频帧之后,获取第二视频帧,所述第二视频帧为所述第一视频帧的下一个视频帧;
检测所述第二视频帧的类型;
如果所述第二视频帧为关键视频帧,保留所述第二视频帧以及所述第二视频帧之后的视频帧;
如果所述第二视频帧为非关键视频帧,丢掉所述第二视频帧。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
获取第一非视频帧,所述非视频帧包括音频帧和字幕帧中的至少一个;
比较所述第一非视频帧的时间戳与所述关键视频帧的时间戳;
如果所述第一非视频帧的时间戳早于所述关键视频帧的时间戳,丢掉所述第一非视频帧;
如果所述第一非视频帧的时间戳晚于或等于所述关键视频帧的时间戳,保留所述第一非视频帧。
4.根据权利要求3所述的方法,其特征在于,还包括:
在丢掉所述第一非视频帧之后,获取第二非视频帧,所述第二非视频帧为所述第一非视频帧的下一个非视频帧;
比较所述第二非视频帧的时间戳与所述关键视频帧的时间戳;
如果所述第二非视频帧的时间戳早于所述关键视频帧的时间戳,丢掉所述第二非视频帧;
如果所述第二非视频帧的时间戳晚于或等于所述关键视频帧的时间戳,保留所述第二非视频帧。
5.一种多媒体数据处理装置,其特征在于,应用于数据解码之前,包括:
第一获取单元,用于获取第一视频帧;
第一检测单元,用于检测所述第一视频帧的类型;
第一保留处理单元,用于如果所述第一视频帧为关键视频帧,保留所述第一视频帧以及所述第一视频帧之后的视频帧;
第一丢掉处理单元,用于如果所述第一视频帧为非关键视频帧,丢掉所述第一视频帧。
6.根据权利要求5所述的装置,其特征在于,还包括:
第二获取单元,用于在第一丢掉处理单元丢掉所述第一视频帧之后,获取第二视频帧,所述第二视频帧为所述第一视频帧的下一个视频帧;
第二检测单元,用于检测所述第二视频帧的类型;
第二保留处理单元,用于如果所述第二视频帧为关键视频帧,保留所述第二视频帧以及所述第二视频帧之后的视频帧;
第二丢掉处理单元,用于如果所述第二视频帧为非关键视频帧,丢掉所述第二视频帧。
7.根据权利要求5或6所述的装置,其特征在于,还包括:
第三获取单元,用于获取第一非视频帧,所述非视频帧包括音频帧和字幕帧中的至少一个;
第一比较单元,用于比较所述第一非视频帧的时间戳与所述关键视频帧的时间戳;
第三丢掉处理单元,用于如果所述第一非视频帧的时间戳早于所述关键视频帧的时间戳,丢掉所述第一非视频帧;
第三保留处理单元,用于如果所述第一非视频帧的时间戳晚于或等于所述关键视频帧的时间戳,保留所述第一非视频帧。
8.根据权利要求7所述的装置,其特征在于,还包括:
第四获取单元,用于在第三丢掉处理单元丢掉所述第一非视频帧之后,获取第二非视频帧,所述第二非视频帧为所述第一非视频帧的下一个非视频帧;
第二比较单元,用于比较所述第二非视频帧的时间戳与所述关键视频帧的时间戳;
第四丢掉处理单元,用于如果所述第二非视频帧的时间戳早于所述关键视频帧的时间戳,丢掉所述第二非视频帧;
第四保留处理单元,用于如果所述第二非视频帧的时间戳晚于或等于所述关键视频帧的时间戳,保留所述第二非视频帧。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-4中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1-4中任一项所述的方法。
CN201710455085.6A 2017-06-16 2017-06-16 多媒体数据处理方法及相关设备 Pending CN107360457A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710455085.6A CN107360457A (zh) 2017-06-16 2017-06-16 多媒体数据处理方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710455085.6A CN107360457A (zh) 2017-06-16 2017-06-16 多媒体数据处理方法及相关设备

Publications (1)

Publication Number Publication Date
CN107360457A true CN107360457A (zh) 2017-11-17

Family

ID=60273939

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710455085.6A Pending CN107360457A (zh) 2017-06-16 2017-06-16 多媒体数据处理方法及相关设备

Country Status (1)

Country Link
CN (1) CN107360457A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108401188A (zh) * 2018-03-05 2018-08-14 青岛海信传媒网络技术有限公司 一种媒体播放的方法及装置
CN109862384A (zh) * 2019-03-13 2019-06-07 北京河马能量体育科技有限公司 一种音视频自动同步方法及同步系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108401188A (zh) * 2018-03-05 2018-08-14 青岛海信传媒网络技术有限公司 一种媒体播放的方法及装置
CN109862384A (zh) * 2019-03-13 2019-06-07 北京河马能量体育科技有限公司 一种音视频自动同步方法及同步系统

Similar Documents

Publication Publication Date Title
CN106658133B (zh) 一种音视频同步播放的方法及终端
US9253533B1 (en) Scene identification
CN107018443B (zh) 视频录制方法、装置和电子设备
RU2620716C2 (ru) Синхронизация воспроизведения мультимедийного контента при групповом просмотре
CN107277558B (zh) 一种实现直播视频同步的播放器客户端、系统及方法
CN108989883B (zh) 一种直播广告方法、装置、设备及介质
CN106792152B (zh) 一种视频合成方法及终端
CN108495152B (zh) 一种视频直播方法、装置、电子设备及介质
CN105187895B (zh) 针对移动平台硬件加速播放视频的数据缓存方法及系统
EP3737101B1 (en) A method and a system for performing scrubbing in a video stream
US20100242066A1 (en) Method of Performing Random Seek Preview for Streaming Video
CN109089154A (zh) 一种视频提取方法、装置、设备及介质
CN105187866A (zh) 广告投放方法和装置
WO2011109439A2 (en) Social media playback
CN109089127A (zh) 一种视频拼接方法、装置、设备及介质
KR101883018B1 (ko) 3d 통신 시스템에서 보조 콘텐츠를 제공하기 위한 방법 및 장치
US20130138673A1 (en) Information processing device, information processing method, and program
CN108737874A (zh) 一种视频播放方法及电子设备
CN103747366B (zh) 一种hls媒体文件播放进度的显示方法和播放器
CN107071550B (zh) 一种视频数据共享方法和装置
CN111131874B (zh) 一种解决h.265码流随机接入点播放卡顿的方法、设备及计算机存储介质
CN112104909A (zh) 互动视频播放方法、装置、计算机设备及可读存储介质
CN106470291A (zh) 从音频/视频解码器中的时间同步中的中断中恢复
CN112911343A (zh) 一种多路视频的播放方法、装置、电子设备及存储介质
CN108616769B (zh) 一种视频点播的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20171117

WD01 Invention patent application deemed withdrawn after publication