CN113542888B - 视频的处理方法、装置、电子设备及存储介质 - Google Patents

视频的处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113542888B
CN113542888B CN202110777156.0A CN202110777156A CN113542888B CN 113542888 B CN113542888 B CN 113542888B CN 202110777156 A CN202110777156 A CN 202110777156A CN 113542888 B CN113542888 B CN 113542888B
Authority
CN
China
Prior art keywords
video
pts
frame
target
key frame
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
CN202110777156.0A
Other languages
English (en)
Other versions
CN113542888A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110777156.0A priority Critical patent/CN113542888B/zh
Publication of CN113542888A publication Critical patent/CN113542888A/zh
Application granted granted Critical
Publication of CN113542888B publication Critical patent/CN113542888B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • 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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of 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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本公开提供了视频的处理方法和装置,涉及人工智能技术领域,进一步涉及云计算中的媒体云技术领域。具体实施方式包括:建立对视频中关键帧的时间的索引;响应于接收到拖动播放进度seek请求,确定所述seek请求指示的拖动目标时间;在所述索引的非后于所述拖动目标时间的方向上,查找与所述拖动目标时间最近的、关键帧的时间,并将该时间作为目标关键帧时间;从所述目标关键帧时间指示的视频帧的待解码数据开始,向所述视频的在后方向进行视频帧的待解码数据的解码;响应于解码出所述拖动目标时间指示的视频帧,播放该视频帧的解码结果。本公开通过关键帧PTS索引,可以快速定位到与seek请求指示的视频帧最近的关键帧,从而提高了执行seek步骤的效率。

Description

视频的处理方法、装置、电子设备及存储介质
技术领域
本公开涉及人工智能技术领域,进一步涉及云计算中的媒体云技术领域,尤其涉及视频的处理方法和装置。
背景技术
视频技术最早是为了电视系统而发展,但现在已经发展为各种不同的格式以利消费者将视频记录下来。随着互联网技术的发展,各种互联网平台逐渐兴起,比如视频网站。
用户在观看视频时,很可能会出现拖动进度条的情况,进而产生seek请求,这里的seek请求,指拖动播放进度请求。
发明内容
提供了一种视频的处理方法、装置、电子设备以及存储介质。
根据第一方面,提供了一种视频的处理方法,包括:响应于接收到第一视频的播放进度seek请求,确定seek请求指示的第一显示时间戳PTS;在关键帧PTS索引中,获取第二PTS,其中,第二PTS是早于或等于第一PTS的关键帧PTS中,与第一PTS最近的关键帧PTS;根据第二PTS和第一视频的视频数据队列索引确定目标关键帧;从目标关键帧开始,按照播放时间顺序对第一视频进行解码;响应于解码出第一PTS对应的视频帧,播放第一视频中的第二视频,其中,第二视频的首帧为视频帧。
根据第二方面,提供了一种视频的处理装置,包括:时间确定单元,被配置成响应于接收到第一视频的播放进度seek请求,确定seek请求指示的第一显示时间戳PTS;获取单元,被配置成在关键帧PTS索引中,获取第二PTS,其中,第二PTS是早于或等于第一PTS的关键帧PTS中,与第一PTS最近的关键帧PTS;帧确定单元,被配置成根据第二PTS和第一视频的视频数据队列索引确定目标关键帧;解码单元,被配置成从目标关键帧开始,按照播放时间顺序对第一视频进行解码;播放单元,被配置成响应于解码出第一PTS对应的视频帧,播放第一视频中的第二视频,其中,第二视频的首帧为视频帧。
根据第三方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行视频的处理方法中任一实施例的方法。
根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行根据视频的处理方法中任一实施例的方法。
根据第五方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现根据视频的处理方法中任一实施例的方法。
根据本公开的方案,通过关键帧PTS索引,可以快速定位到与seek请求指示的视频帧最近的关键帧,从而提高了执行seek步骤的效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
图1是本公开一些实施例可以应用于其中的示例性系统架构图;
图2是根据本公开的视频的处理方法的一个实施例的流程图;
图3是根据本公开的视频的处理方法的一个应用场景的示意图;
图4A是根据本公开的视频的处理方法的又一个实施例的流程图;
图4B是根据本公开的视频的处理方法中数据集合的示意图;
图5是根据本公开的视频的处理装置的一个实施例的结构示意图;
图6是用来实现本公开实施例的视频的处理方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
图1示出了可以应用本公开的视频的处理方法或视频的处理装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如视频类应用、直播应用、即时通信工具、邮箱客户端、社交平台软件等。
这里的终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103提供支持的后台服务器。后台服务器可以对接收到的视频请求等数据进行分析等处理,并将处理结果(例如第一视频)反馈给终端设备。
需要说明的是,本公开实施例所提供的视频的处理方法可以由服务器105或者终端设备101、102、103执行,相应地,视频的处理装置可以设置于服务器105或者终端设备101、102、103中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本公开的视频的处理方法的一个实施例的流程200。该视频的处理方法,包括以下步骤:
步骤201,响应于接收到第一视频的播放进度seek请求,确定seek请求指示的第一显示时间戳PTS。
在本实施例中,视频的处理方法运行于其上的执行主体(例如图1所示的终端设备)可以在接收到seek请求的情况下,确定该seek请求指示的第一显示时间戳(presentation time stamp,PTS),也即第一PTS。具体地,seek请求用于请求对第一视频的seek操作。seek指播放进度也即拖动播放进度。
在实践中,这里的接收到可以指检测到或者从其它设备接收到。
在接收到seek请求之前,上述执行主体可以获取关键帧PTS索引。具体地,上述执行主体可以在本设备针对第一视频建立关键帧PTS索引,也可以从其它电子设备获取关键帧PTS索引。
步骤202,在关键帧PTS索引中,获取第二PTS,其中,第二PTS是早于或等于第一PTS的关键帧PTS中,与第一PTS最近的关键帧PTS。
在本实施例中,上述执行主体可以在关键帧PTS索引中,获取早于或等于第一PTS的关键帧PTS,并将该关键帧PTS作为第二PTS。第二PTS是早于或等于第一PTS的关键帧PTS中,距离第一PTS最近的关键帧PTS。关键帧PTS索引包括第一视频的关键帧的标识与PTS之间的对应关系。
视频中的视频帧可以分为I帧类型、P帧类型和B帧类型。其中,I帧类型的视频帧为关键帧。关键帧的待解码数据可以不依赖其它帧的数据、独立地被解码出一帧完整的可显示图像。而其它类型的帧数据,往往需要依赖其它帧的数据才能实现解码出可显示图像。
步骤203,根据第二PTS和第一视频的视频数据队列索引,确定目标关键帧。
在本实施例中,上述执行主体可以根据第二PTS和第一视频的视频数据队列索引,确定目标关键帧。视频数据队列索引指可以用于查找视频数据的索引。视频数据指用于解码出视频内容的待解码数据,比如视频数据可以包括有待于解码的帧数据。
在实践中,上述执行主体可以采用各种方式根据第二PTS和第一视频的视频数据队列索引确定目标关键帧。举例来说,上述执行主体可以获取预设模型,并将第二PTS和视频数据队列索引输入该预设模型,得到从该预设模型输出的目标关键帧。该预设模型可以通过第二PTS和视频数据队列索引,预测目标关键帧。
步骤204,从目标关键帧开始,按照播放时刻顺序对第一视频进行解码。
在本实施例中,上述执行主体可以开始对视频帧的待解码数据(也即压缩数据)进行解码。具体地,解码的起始位置可以是上述目标关键帧。在对视频帧的待解码数据进行解码后,可以得到用于显示的视频帧。
步骤205,响应于解码出第一PTS对应的视频帧,播放第一视频中的第二视频,其中,第二视频的首帧为视频帧。
在本实施例中,上述执行主体可以一直进行解码,直到解码出第一PTS对应的视频帧,也即得到该视频帧的待解码数据的解码结果,则开始显示该视频帧的解码结果。
本公开的上述实施例提供的方法通过关键帧PTS索引,可以快速定位到与seek请求指示的视频帧最近的关键帧,从而提高了执行seek步骤的效率。
继续参见图3,图3是根据本实施例的视频的处理方法的应用场景的一个示意图。在图3的应用场景中,执行主体301响应于接收到第一视频的播放进度seek请求,确定seek请求指示的第一显示时间戳PTS 302:3分4秒5。执行主体301在关键帧PTS索引中,获取第二PTS 303:3分4秒1,其中,第二PTS是早于或等于第一PTS的关键帧PTS中,与第一PTS最近的关键帧PTS。执行主体301根据第二PTS 303和第一视频的视频数据队列索引304确定目标关键帧305。执行主体301从目标关键帧305开始,按照播放时间顺序对第一视频进行解码。执行主体301响应于解码出第一PTS对应的视频帧,播放第一视频中的第二视频306,其中,第二视频的首帧为视频帧。
进一步参考图4A,其示出了视频的处理方法的又一个实施例的流程400。该流程400,包括以下步骤:
步骤401,响应于接收到第一视频的播放进度seek请求,确定seek请求指示的第一显示时间戳PTS。
在本实施例中,视频数据队列索引包括:至少一个第一数据集合、和与第一数据集合一一对应的视频时间索引,第一数据集合一一对应于至少一个第三视频,第一视频由多个等时长的第三视频组成。
第三视频的时长可以是预先设置的时长,比如单位时长,例如1秒、1分钟、0.5秒等等。
每个第一数据集合都存在相对应的索引值,也即视频时间索引中的时间索引值,不同的第一数据集合的视频时间索引值不同。该视频时间索引指示与相对应的第三视频的目标时间值。这里的目标时间值可以是第三视频的时间范围值,或者时间中点值等等。这里的时间范围值可以是第三视频的首帧的时间和/或尾帧的时间。
在实践中,目标时间值可以是整数时间值,比如在第三视频的时长为1秒的情况下,目标时间值为整秒时间值,而在第三视频的时长为1分钟的情况下,目标时间值为整分钟时间值。
举例来说,如果第二PTS是9.02秒,视频时间索引是整秒时间值,则视频时间索引是9秒。
一个第一数据集合与一个第三视频相对应,在第一数据集合中,存在第三视频中各个视频帧的数据。
步骤402,在关键帧PTS索引中,获取第二PTS,其中,第二PTS是早于或等于第一PTS的关键帧PTS中,与第一PTS最近的关键帧PTS。
步骤403,在至少一个第一数据集合所对应的视频时间索引值中,确定第二PTS对应的目标时间索引值。
在本实施例中,视频时间索引由多个视频时间索引值组成。每个视频时间索引值对应一个第一数据集合。上述执行主体可以在各个视频时间索引值中确定第二PTS对应的视频时间索引值,作为目标时间索引值。
步骤404,在视频数据队列索引中,确定目标时间索引值对应的第二数据集合,第一数据集合包括第二数据集合。
在本实施例中,第二数据集合可以是至少一个视频帧的数据集合,也可以是第三视频中视频段的数据集合。
在实践中,一个第二数据集合可以是一个第一数据集合(目标第一数据集合)。上述执行主体可以将目标时间索引值对应的第一数据集合,作为第二数据集合。
步骤405,根据第二数据集合确定目标关键帧。
在本实施例中,上述执行主体可以根据第二数据集合,确定目标关键帧。上述执行主体可以采用各种方式根据第二数据集合,确定目标关键帧。举例来说,上述执行主体可以直接将第二数据集合所对应的关键帧(比如所对应的任意关键帧),作为目标关键帧。或者,上述执行主体可以在第二数据集合为至少一个视频帧的数据集合的情况下,将该数据集合中任意关键帧的数据对应的关键帧,确定为目标关键帧。
步骤406,从目标关键帧开始,按照播放时间顺序对第一视频进行解码。
步骤407,响应于解码出第一PTS对应的视频帧,播放第一视频中的第二视频,其中,第二视频的首帧为视频帧。
本实施例可以缩小查找范围,首先找到第二PTS对应的数据集合,之后通过数据集合进行精准查找,从而可以避免遍历视频帧查找,提高了查找效率。
在本实施例的一些可选的实现方式中,第二数据集合包括对应的第三视频的视频帧信息,视频帧信息包括:PTS、关键帧标识、帧数据;根据第二数据集合确定目标关键帧,包括:遍历视频帧信息;获取PTS与第二PTS相同的目标视频帧信息;将目标视频帧信息确定为目标关键帧的信息。
在这些可选的实现方式中,上述执行主体可以遍历第二数据集合所对应的第三视频的各个视频帧信息,从而获取到PTS与第二PTS相同的目标视频帧信息。之后,上述执行主体可以将目标视频帧信息确定为上述目标关键帧的信息。关键帧标识指示该视频帧信息对应的视频帧是否为关键帧。
这些实现方式可以在数据集合的少量数据中准确地找到目标关键帧的待解码数据,以便于解码出可显示的目标关键帧。
具体地,上述将目标视频帧信息确定为目标关键帧的信息,可以包括:响应于确定目标视频帧信息中的关键帧标识指示视频帧为关键帧,将目标视频帧信息确定为目标关键帧的信息。
上述执行主体可以利用关键帧标识进行校验,具体地,在关键帧标识指示视频帧为关键帧的情况下,校验结果为通过校验,从而可以确定目标关键帧的信息。该视频帧指上述目标视频帧信息对应的视频帧。
这些实现方式可以通过关键帧标识进行校验,从而避免所确定的目标关键帧不是关键帧的情况发生。
可选地,上述406可以包括:根据视频数据队列索引,从目标关键帧开始,按照播放时间顺序对第一视频进行解码;以及上述方法还可以包括:根据视频数据队列索引获取当前解码的视频帧的第三PTS;响应于确定出第三PTS与第一PTS相同,确定已解码出第一PTS对应的视频帧。
在这些可选的实现方式中,上述执行主体为了能够从第一PTS开始播放,可以在对视频数据队列索引中的帧数据不断解码的同时,也查找PTS与上述第一PTS相同的视频帧。如果查找到了,则上述执行主体可以确定已解码出了第一PTS对应的视频帧。
这些可选的实现方式可以通过视频数据队列索引,准确地解码出第一PTS对应的视频帧。
可选地,第三视频的时长可以为1秒。
相应地,时间索引值可以是1秒、2秒、3秒等等的整数秒值。
这些可选的实现方式可以采用标准的1秒作为数据集合对应的时长,从而可以减小确定视频时间索引值的计算时间,也可以快速确定出第二PTS对应的目标时间索引值。
可选地,视频帧数据还包括视频帧的时间和指示视频帧是否为关键帧的指示信息;步骤406可以包括:在该索引值指示的视频段中,确定视频帧数据中的时间与目标关键时间相同的视频帧;响应于确定该视频帧的指示信息指示该视频帧为关键帧,确定该视频帧为目标关键帧时间指示的视频帧。
在实践中,上述执行主体可以在该索引值指示的视频段中,找到目标关键时间指示的视频帧。该视频帧的视频帧数据中的、视频帧的时间与上述目标关键时间相同。
之后,上述执行主体可以通过视频帧数据中的指示信息对找到的该视频帧进行校验,具体地,上述执行主体可以确定在确定该视频帧的指示信息是否指示该视频帧为关键帧,并在确定指示的情况下,将该视频帧作为目标关键帧时间指示的视频帧。
这些实现方式可以通过视频帧数据中的时间,准确地找到目标关键帧时间指示的视频帧,并通过指示信息对找到的视频帧进行校验,以确保找到的视频帧为关键帧。
如图4B所示,图中示出了多个数据集合。其中,第三视频(比如第1秒)中的每个视频帧(比如第1帧)的视频帧数据包括PTS、是否是I帧(关键帧标识)、帧数据。每个第三视频(也即每一秒)都有相对应的数据集合。
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种视频的处理装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,除下面所记载的特征外,该装置实施例还可以包括与图2所示的方法实施例相同或相应的特征或效果。该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的视频的处理装置500包括:时间确定单元501、获取单元502、帧确定单元503、解码单元504和播放单元505。其中,时间确定单元501,被配置成响应于接收到第一视频的播放进度seek请求,确定seek请求指示的第一显示时间戳PTS;获取单元502,被配置成在关键帧PTS索引中,获取第二PTS,其中,第二PTS是早于或等于第一PTS的关键帧PTS中,与第一PTS最近的关键帧PTS;帧确定单元503,被配置成根据第二PTS和第一视频的视频数据队列索引确定目标关键帧;解码单元504,被配置成从目标关键帧开始,按照播放时间顺序对第一视频进行解码;播放单元505,被配置成响应于解码出第一PTS对应的视频帧,播放第一视频中的第二视频,其中,第二视频的首帧为视频帧。
在本实施例中,视频的处理装置500的时间确定单元501、获取单元502、帧确定单元503、解码单元504和播放单元505的具体处理及其所带来的技术效果可分别参考图2对应实施例中步骤201、步骤202、步骤203、步骤204和步骤205的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,视频数据队列索引包括:至少一个第一数据集合、和与第一数据集合一一对应的视频时间索引值,第一数据集合一一对应于至少一个第三视频,第一视频由多个等时长的第三视频组成;帧确定单元,进一步被配置成按照如下方式执行根据第二PTS和第一视频的视频数据队列索引确定目标关键帧:在至少一个第一数据集合所对应的视频时间索引值中,确定第二PTS对应的目标时间索引值;在视频数据队列索引中,确定目标时间索引值对应的第二数据集合,第一数据集合包括第二数据集合;根据第二数据集合确定目标关键帧。
在本实施例的一些可选的实现方式中,第二数据集合包括对应的第三视频的视频帧信息,视频帧信息包括:PTS、关键帧标识、帧数据;帧确定单元,进一步被配置成按照如下方式执行根据第二数据集合确定目标关键帧:遍历视频帧信息;获取PTS与第二PTS相同的目标视频帧信息;将目标视频帧信息确定为目标关键帧的信息。
在本实施例的一些可选的实现方式中,解码单元,进一步被配置成按照如下方式执行从目标关键帧开始,按照播放时间顺序对第一视频进行解码:根据视频数据队列索引,从目标关键帧开始,按照播放时间顺序对第一视频进行解码;以及装置还包括:时间获取单元,被配置成根据视频数据队列索引获取当前解码的视频帧的第三PTS;执行单元,被配置成响应于确定出第三PTS与第一PTS相同,确定已解码出第一PTS对应的视频帧。
在本实施例的一些可选的实现方式中,第三视频的时长为1秒。
在本实施例的一些可选的实现方式中,帧确定单元,进一步被配置成按照如下方式执行将目标视频帧信息确定为目标关键帧的信息:响应于确定目标视频帧信息中的关键帧标识指示视频帧为关键帧,将目标视频帧信息确定为目标关键帧的信息。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
如图6所示,是根据本公开实施例的视频的处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器601为例。
存储器602即为本公开所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本公开所提供的视频的处理方法。本公开的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本公开所提供的视频的处理方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本公开实施例中的视频的处理方法对应的程序指令/模块(例如,附图5所示的时间确定单元501、获取单元502、帧确定单元503、解码单元504和播放单元505)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的视频的处理方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据视频的处理电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至视频的处理电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
视频的处理方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,以及产生与视频的处理电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括时间确定单元、获取单元、帧确定单元、解码单元和播放单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“在关键帧PTS索引中,获取第二PTS的单元”。
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:响应于接收到第一视频的播放进度seek请求,确定seek请求指示的第一显示时间戳PTS;在关键帧PTS索引中,获取第二PTS,其中,第二PTS是早于或等于第一PTS的关键帧PTS中,与第一PTS最近的关键帧PTS;根据第二PTS和第一视频的视频数据队列索引确定目标关键帧;从目标关键帧开始,按照播放时间顺序对第一视频进行解码;响应于解码出第一PTS对应的视频帧,播放第一视频中的第二视频,其中,第二视频的首帧为视频帧。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (12)

1.一种视频的处理方法,所述方法包括:
响应于接收到第一视频的播放进度seek请求,确定所述seek请求指示的第一显示时间戳PTS;
在关键帧PTS索引中,获取第二PTS,其中,所述第二PTS是早于或等于所述第一显示时间戳PTS的关键帧PTS中,与所述第一显示时间戳PTS最近的关键帧PTS;
根据所述第二PTS和所述第一视频的视频数据队列索引确定目标关键帧;
从所述目标关键帧开始,按照播放时间顺序对所述第一视频进行解码;
响应于解码出所述第一显示时间戳PTS对应的视频帧,播放所述第一视频中的第二视频,其中,所述第二视频的首帧为所述视频帧;
所述视频数据队列索引包括:至少一个第一数据集合、和与所述第一数据集合一一对应的视频时间索引值,所述第一数据集合一一对应于至少一个第三视频,所述第一视频由多个等时长的第三视频组成,所述视频时间索引值指示所述第三视频的目标时间值,所述目标时间值包括第三视频的时间范围值或时间中点值;
所述根据所述第二PTS和所述第一视频的视频数据队列索引确定目标关键帧,包括:
在所述至少一个第一数据集合所对应的视频时间索引值中,确定所述第二PTS对应的目标时间索引值;
在所述视频数据队列索引中,确定所述目标时间索引值对应的第二数据集合,所述第一数据集合包括所述第二数据集合;
根据所述第二数据集合确定所述目标关键帧。
2.根据权利要求1所述的方法,其中,所述第二数据集合包括对应的所述第三视频的视频帧信息,所述视频帧信息包括:PTS、关键帧标识、帧数据;
所述根据所述第二数据集合确定所述目标关键帧,包括:
遍历所述视频帧信息;
获取PTS与所述第二PTS相同的目标视频帧信息;
将所述目标视频帧信息确定为所述目标关键帧的信息。
3.根据权利要求1所述的方法,其中,所述从所述目标关键帧开始,按照播放时间顺序对所述第一视频进行解码,包括:
根据所述视频数据队列索引,从所述目标关键帧开始,按照播放时间顺序对所述第一视频进行解码;以及
所述方法还包括:
根据所述视频数据队列索引获取当前解码的视频帧的第三PTS;
响应于确定出所述第三PTS与所述第一显示时间戳PTS相同,确定已解码出所述第一显示时间戳PTS对应的视频帧。
4.根据权利要求1所述的方法,其中,所述第三视频的时长为1秒。
5.根据权利要求2所述的方法,其中,所述将所述目标视频帧信息确定为所述目标关键帧的信息,包括:
响应于确定所述目标视频帧信息中的关键帧标识指示视频帧为关键帧,将所述目标视频帧信息确定为所述目标关键帧的信息。
6.一种视频的处理装置,所述装置包括:
时间确定单元,被配置成响应于接收到第一视频的播放进度seek请求,确定所述seek请求指示的第一显示时间戳PTS;
获取单元,被配置成在关键帧PTS索引中,获取第二PTS,其中,所述第二PTS是早于或等于所述第一显示时间戳PTS的关键帧PTS中,与所述第一显示时间戳PTS最近的关键帧PTS;
帧确定单元,被配置成根据所述第二PTS和所述第一视频的视频数据队列索引确定目标关键帧;
解码单元,被配置成从所述目标关键帧开始,按照播放时间顺序对所述第一视频进行解码;
播放单元,被配置成响应于解码出所述第一显示时间戳PTS对应的视频帧,播放所述第一视频中的第二视频,其中,所述第二视频的首帧为所述视频帧;
所述视频数据队列索引包括:至少一个第一数据集合、和与所述第一数据集合一一对应的视频时间索引值,所述第一数据集合一一对应于至少一个第三视频,所述第一视频由多个等时长的第三视频组成,所述视频时间索引值指示所述第三视频的目标时间值,所述目标时间值包括第三视频的时间范围值或时间中点值;
所述帧确定单元,进一步被配置成按照如下方式执行所述根据所述第二PTS和所述第一视频的视频数据队列索引确定目标关键帧:
在所述至少一个第一数据集合所对应的视频时间索引值中,确定所述第二PTS对应的目标时间索引值;
在所述视频数据队列索引中,确定所述目标时间索引值对应的第二数据集合,所述第一数据集合包括所述第二数据集合;
根据所述第二数据集合确定所述目标关键帧。
7.根据权利要求6所述的装置,其中,所述第二数据集合包括对应的所述第三视频的视频帧信息,所述视频帧信息包括:PTS、关键帧标识、帧数据;
所述帧确定单元,进一步被配置成按照如下方式执行所述根据所述第二数据集合确定所述目标关键帧:
遍历所述视频帧信息;
获取PTS与所述第二PTS相同的目标视频帧信息;
将所述目标视频帧信息确定为所述目标关键帧的信息。
8.根据权利要求6所述的装置,其中,所述解码单元,进一步被配置成按照如下方式执行所述从所述目标关键帧开始,按照播放时间顺序对所述第一视频进行解码:
根据所述视频数据队列索引,从所述目标关键帧开始,按照播放时间顺序对所述第一视频进行解码;以及
所述装置还包括:
时间获取单元,被配置成根据所述视频数据队列索引获取当前解码的视频帧的第三PTS;
执行单元,被配置成响应于确定出所述第三PTS与所述第一显示时间戳PTS相同,确定已解码出所述第一显示时间戳PTS对应的视频帧。
9.根据权利要求6所述的装置,其中,所述第三视频的时长为1秒。
10.根据权利要求7所述的装置,其中,所述帧确定单元,进一步被配置成按照如下方式执行所述将所述目标视频帧信息确定为所述目标关键帧的信息:
响应于确定所述目标视频帧信息中的关键帧标识指示视频帧为关键帧,将所述目标视频帧信息确定为所述目标关键帧的信息。
11.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-5中任一项所述的方法。
CN202110777156.0A 2021-07-09 2021-07-09 视频的处理方法、装置、电子设备及存储介质 Active CN113542888B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110777156.0A CN113542888B (zh) 2021-07-09 2021-07-09 视频的处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110777156.0A CN113542888B (zh) 2021-07-09 2021-07-09 视频的处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113542888A CN113542888A (zh) 2021-10-22
CN113542888B true CN113542888B (zh) 2024-04-09

Family

ID=78127221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110777156.0A Active CN113542888B (zh) 2021-07-09 2021-07-09 视频的处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113542888B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115396729B (zh) * 2022-08-26 2023-12-08 百果园技术(新加坡)有限公司 视频目标帧确定方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102487458A (zh) * 2010-12-02 2012-06-06 中兴通讯股份有限公司 Ts文件的播放处理方法及装置
CN103491387A (zh) * 2012-06-14 2014-01-01 深圳市快播科技有限公司 一种视频定位的系统、点播终端和方法
CN105898588A (zh) * 2015-12-07 2016-08-24 乐视云计算有限公司 视频定位方法和装置
CN109348251A (zh) * 2018-10-08 2019-02-15 腾讯科技(深圳)有限公司 用于视频播放的方法、装置、计算机可读介质及电子设备
CN111436004A (zh) * 2019-01-11 2020-07-21 腾讯科技(深圳)有限公司 视频播放方法、装置和设备、计算机可读存储介质
CN112822522A (zh) * 2020-12-31 2021-05-18 北京梧桐车联科技有限责任公司 视频播放方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11089373B2 (en) * 2016-12-29 2021-08-10 Sling Media Pvt Ltd Seek with thumbnail generation and display during placeshifting session

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102487458A (zh) * 2010-12-02 2012-06-06 中兴通讯股份有限公司 Ts文件的播放处理方法及装置
CN103491387A (zh) * 2012-06-14 2014-01-01 深圳市快播科技有限公司 一种视频定位的系统、点播终端和方法
CN105898588A (zh) * 2015-12-07 2016-08-24 乐视云计算有限公司 视频定位方法和装置
CN109348251A (zh) * 2018-10-08 2019-02-15 腾讯科技(深圳)有限公司 用于视频播放的方法、装置、计算机可读介质及电子设备
CN111436004A (zh) * 2019-01-11 2020-07-21 腾讯科技(深圳)有限公司 视频播放方法、装置和设备、计算机可读存储介质
CN112822522A (zh) * 2020-12-31 2021-05-18 北京梧桐车联科技有限责任公司 视频播放方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN113542888A (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
CN105787077B (zh) 数据同步方法和装置
US10025695B2 (en) Enhancing GUI automation testing using video
US11188560B2 (en) Synchronizing object in local object storage node
CN111858318B (zh) 一种响应时间的测试方法、装置、设备和计算机存储介质
WO2021164369A1 (zh) 提取视频中热点片段的方法以及装置
CN111460285A (zh) 信息处理方法、装置、电子设备和存储介质
CN111726608A (zh) 一种视频的卡顿测试方法、装置、电子设备及存储介质
CN111935506B (zh) 用于确定重复视频帧的方法和装置
CN111654736B (zh) 音视频同步误差的确定方法、装置、电子设备和存储介质
CN113542888B (zh) 视频的处理方法、装置、电子设备及存储介质
CN114071190B (zh) 云应用视频流处理方法、相关装置及计算机程序产品
US10133408B2 (en) Method, system and computer program product
CN112929728A (zh) 一种视频渲染方法、装置、系统、电子设备及存储介质
CN110798736B (zh) 视频播放方法、装置、设备和介质
CN111970560A (zh) 视频获取方法、装置、电子设备及存储介质
US20170126768A1 (en) Techniques for modifying a rules engine in a highly-scaled computing environment
CN113542802B (zh) 视频的转场方法和装置
CN114125498A (zh) 视频数据处理方法、装置、设备以及存储介质
CN113419915A (zh) 云终端桌面静止确定方法和装置
CN112752323A (zh) 热点接入状态的改变方法和装置
CN112770415A (zh) 关于无线热点的信息处理方法和装置
CN111970559A (zh) 视频获取方法、装置、电子设备及存储介质
CN111726687B (zh) 用于生成显示数据的方法和装置
CN112988099A (zh) 视频的显示方法和装置
CN112214643A (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