[go: up one dir, main page]

CN112437345B - 视频倍速播放方法、装置、电子设备及存储介质 - Google Patents

视频倍速播放方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112437345B
CN112437345B CN202011310156.1A CN202011310156A CN112437345B CN 112437345 B CN112437345 B CN 112437345B CN 202011310156 A CN202011310156 A CN 202011310156A CN 112437345 B CN112437345 B CN 112437345B
Authority
CN
China
Prior art keywords
video data
playing
speed
video
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
CN202011310156.1A
Other languages
English (en)
Other versions
CN112437345A (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 Zitiao Network Technology Co Ltd
Original Assignee
Beijing Zitiao 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 Beijing Zitiao Network Technology Co Ltd filed Critical Beijing Zitiao Network Technology Co Ltd
Priority to CN202011310156.1A priority Critical patent/CN112437345B/zh
Publication of CN112437345A publication Critical patent/CN112437345A/zh
Priority to PCT/CN2021/128265 priority patent/WO2022105597A1/zh
Priority to US18/253,764 priority patent/US20240305860A1/en
Application granted granted Critical
Publication of CN112437345B publication Critical patent/CN112437345B/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/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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/440218Processing 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 transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开实施例提供一种视频倍速播放方法、装置、电子设备及存储介质,该方法包括:获取第一视频数据,其中第一视频数据中包括关键帧和非关键帧;对第一视频数据中的非关键帧进行压缩处理,生成第二视频数据;对第二视频数据进行解码,得到解码视频数据,并根据预设的播放倍速值,倍速播放解码视频数据,由于在第一视频数据进行解码播放前,先对该第一视频数据中的非关键帧进行了压缩,生成了帧率更低的第二视频数据,对压缩后第二视频数据进行倍速播放,可以降低设备的解码压力,避免倍速播放视频时出现卡顿问题,提高视频倍速播放的流畅度。

Description

视频倍速播放方法、装置、电子设备及存储介质
技术领域
本公开实施例涉及视频图像处理技术领域,尤其涉及一种视频倍速播放方法、装置、电子设备及存储介质。
背景技术
随着移动互联网的发展,在终端设备进行视频播放的用户需求越来越旺盛,也越来越多样化。视频的倍速播放,成为了目前视频播放软件、视频播放设备中的热门需求。
目前,终端设备进行视频倍速播放的过程,是首先对视频逐帧解码,然后根据倍速的设置,修改视频帧的显示时间戳(Presentation Time Stamp,PTS),然后再根据播放帧率丢掉不需要播放的帧,达到倍速的效果,这种方法需要对全部视频帧进行解码。
然而,在播放如4K视频等高质量视频时,由于解码耗时长,导致了视频倍速播放时出现播放卡顿的问题。
发明内容
本公开实施例提供一种视频倍速播放方法、装置、电子设备及存储介质,以克服视频倍速播放时出现播放卡顿的问题。
第一方面,本公开实施例提供一种视频倍速播放方法,包括:
获取第一视频数据,其中所述第一视频数据中包括关键帧和非关键帧;
对所述第一视频数据中的非关键帧进行压缩处理,生成第二视频数据;
对所述第二视频数据进行解码,得到解码视频数据,并根据预设的播放倍速值,倍速播放所述解码视频数据。
第二方面,本公开实施例提供一种视频倍速播放装置,包括:
获取单元,用于获取第一视频数据,其中所述第一视频数据中包括关键帧和非关键帧;
压缩单元,用于对所述第一视频数据中的非关键帧进行压缩处理,生成第二视频数据;
播放单元,用于对所述第二视频数据进行解码,得到解码视频数据,并根据预设的播放倍速值,倍速播放所述解码视频数据。
第三方面,本公开实施例提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的视频倍速播放方法。
第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的视频倍速播放方法。
本实施例提供的视频倍速播放方法、装置、电子设备及存储介质,通过获取第一视频数据,其中所述第一视频数据中包括关键帧和非关键帧;对所述第一视频数据中的非关键帧进行压缩处理,生成第二视频数据;对所述第二视频数据进行解码,得到解码视频数据,并根据预设的播放倍速值,倍速播放所述解码视频数据,由于在第一视频数据进行解码播放前,先对该第一视频数据中的非关键帧进行压缩,生成了帧率更低的第二视频数据,对压缩后第二视频数据进行解码和倍速播放,可以降低设备的解码压力,避免倍速播放视频时出现卡顿问题,提高视频倍速播放的流畅度。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中一种视频倍速播放过程的示例图;
图2为本公开实施例提供的视频倍速播放方法流程示意图一;
图3为本公开实施例提供的视频倍速播放过程的示例图;
图4为本公开实施例提供的视频倍速播放方法流程示意图二;
图5为图4所示实施例中步骤S203的流程示意图;
图6为本公开实施例提供的视频倍速播放方法流程示意图三;
图7为本公开实施例提供的一种用户通过终端设备的交互界面输入播放倍速值的示意图;
图8为图6所示实施例中步骤S303的流程示意图;
图9为图6所示实施例中步骤S308的流程示意图;
图10为本公开实施例提供的一种根据跳转播放节点进行跳转播放的过程示意图;
图11为本公开实施例提供的一种视频倍速播放装置的结构框图;
图12为本公开实施例提供的另一种视频倍速播放装置的结构框图;
图13为本公开实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
图1为现有技术中一种视频倍速播放过程的示例图。现有技术中,参考图1,终端设备在进行视频倍速播放的过程中,首先对待播放视频逐帧解码,生成包括多个解码视频帧的视频解码数据,然后根据倍速的设置,修改解码视频帧的显示时间戳,并根据修改后的显示时间戳进行播放。由于根据修改后的显示时间戳进行播放时,需要根据播放帧率丢掉不需要播放的视频帧,从而达到倍速播放的效果,然而由于丢弃掉的视频帧是经过解码的视频帧,因此,浪费了之前对这些被丢弃的视频帧的解码过程。同时,由于这种方法需要对全部视频帧进行解码。当播放如4K视频等高质量视频时,解码时间过长,无法实现高倍速视频播放时的实时解码,进而造成视频倍速播放的卡顿和不流畅问题。
本公开实施例提供一种视频倍速播放方法以解决上述问题。
参考图2,图2为本公开实施例提供的视频倍速播放方法流程示意图一。本实施例的方法可以应用在如智能手机、平板电脑等终端设备中,该视频倍速播放方法包括:
S101:获取第一视频数据,其中第一视频数据中包括关键帧和非关键帧。
在本公开的一个实施例中,第一视频数据为待播放的视频数据。在一种可能的实现方式中,第一视频数据可以为经过编码后的视频文件,该视频文件可以存储在执行本公开实施例提供的视频倍速播放方法的终端设备内,也可以存储在能够与该终端设备进行数据交换的设备,例如,云端服务器或其他终端设备。终端设备可以通过有线或无线的方式,访问云端服务器或其他终端设备,以获得该第一视频数据,此处,不对获取第一视频数据的方式做具体限定,可以根据需要进行设置。
进一步的,在对第一视频数据进行读取、解封装等操作后,可以获得其中的多个视频帧。第一视频数据中的多个视频帧中,包括关键帧和非关键帧,其中,关键帧也可称为参考帧,是指在播放视频数据时所需的必要视频帧,视频中的其他视频帧,需要参考该关键帧进行定位,才能实现视频的正常播放。
S102:对第一视频数据中的非关键帧进行压缩处理,生成第二视频数据。
现有技术中,在对视频数据进行播放前,是对全部视频数据进行解压缩,也即,相当于对第一视频数据中的关键帧和非关键帧进行解码,并进行后续的倍速播放。然而,视频在倍速播放过程中,只对全部解码后的解码视频帧中的一部分,进行了视频播放,并且,随着视频播放倍速的提高,使用的解码视频帧也越少,因此,造成了很大的计算资源浪费,使终端设备的计算能力无法满足高品质视频在高倍速播放是的流畅播放要求。
在本公开的一个实施例中,对第一视频数据中的非关键帧进行压缩处理,例如为:降低第一视频数据中非关键帧的精度、删除部分或全部非关键帧,以达到压缩非关键帧的数量的目的。进而,生成数据含量更低的第二视频数据,由于非关键帧的数量降低,并不会影响视频的正常播放,仅会造成第二视频数据的帧率的下降,然而,由于本实施例步骤,是运用在视频倍速播放的场景下,根据人眼视觉原理,随着视频播放倍速的升高,即使存在帧率下降的情况,也不会对用户形成视频观看障碍。因此,第二视频数据在倍速播放的情况下,可以达到第一视频数据直接解码播放相近的视觉表现,然而由于第二视频数据的数据量更小,因此,视频倍速播放更加流畅,能有效避免卡顿。
S103:对第二视频数据进行解码,得到解码视频数据,并根据预设的播放倍速值,倍速播放解码视频数据。
示例性地,在得到数据量更小的第二视频数据后,对第二视频数据进行解码,可以得到对第二视频数据对应的解码视频数据,由于第二视频数据的数据量相对第一视频数据更小,因此,对第二视频数据进行解码,得到解码视频数据的速度更快,对设备的解码负载也更小。
在本公开的一个实施例中,播放倍速值为视频播放速度的调整系数。例如,播放倍速值为1,则以原始视频速度播放第二视频数据;若播放倍速值为2,则以原始视频速度的2倍播放第二视频数据。
在本公开的一个实施例中,播放倍速值与第二视频数据的数据大小具有映射关系,更加具体地,当播放倍速值较大时,则对应的第二视频数据的数据较小,也即,对第二视频数据中的非关键帧进行了较多的删除;当播放倍速值较小时,则对应的第二视频数据的数据较大,也即,对第二视频数据中的非关键帧进行了较少的删除。通过设置与播放倍速值相匹配的第二视频数据,并对第二视频数据进行解码和倍速播放,可以更好的提高视频播放效果,兼顾视频流畅度和精细度,避免出现卡顿,提高视频流畅度。
图3为本公开实施例提供的视频倍速播放过程的示例图,参考图3,本实施例提供的视频倍速播放方法,对第一视频数据中的非关键帧进行了删除,生成了体积更小的第二视频数据,对该第二视频数据解码,生成包括多个解码视频帧的解码视频数据,然后根据倍速的设置,对解码视频数据进行倍速播放,能够有效提高视频播放的流畅度。
在本公开的一个实施例中,通过获取第一视频数据,其中第一视频数据中包括关键帧和非关键帧;对第一视频数据中的非关键帧进行压缩处理,生成第二视频数据;对第二视频数据进行解码,得到解码视频数据,并根据预设的播放倍速值,倍速播放解码视频数据,由于在第一视频数据进行解码播放前,先对该第一视频数据中的非关键帧进行压缩,生成了帧率更低的第二视频数据,对压缩后第二视频数据进行解码和倍速播放,可以降低设备的解码压力,避免倍速播放视频时出现卡顿问题,提高视频倍速播放的流畅度。
图4为本公开实施例提供的视频倍速播放方法流程示意图二,参考图4,本实施例中在获取第一视频数据后,增加了确定关键帧和非关键帧的过程,该视频倍速播放方法包括:
S201:获取第一视频数据。
S202:确定第一视频数据的编码类型。
在本公开的一个实施例中,第一视频数据的编码类型包括多种,例如H.261、H.264、H.265等。不同的编码类型,具有各自的编码特点。第一视频数据在经过读取、解封装等过程后,可以获取其编码格式,例如,本公开实施例提供的视频倍速播放方法的执行主体为智能手机,第一视频数据为存储在智能手机内的一个编码后的视频文件。智能手机读取该视频文件后,可以获得该视频文件的编码类型,即第一视频数据的编码类型,其中,具体的读取视频文件内部编码类型信息的方法为本领域现有技术,此处不在赘述。
S203:根据第一视频数据的编码类型,确定第一视频数据中的关键帧。
在本公开的一个实施例中,第一视频数据的编码类型包括H.264或H.265。第一视频数据中包括多个视频帧,每一视频帧中,包括一个或多个网络抽象层(NetworkAbstraction Laye,NAL)单元,NAL的具体内部结构和实现方式,可以参照H.264/H.265等视频编码协议确定。
参考图5,在本实施例中,步骤S203包括S2031、S2032两个具体的步骤。
S2031:针对第一视频数据中的视频帧,获取视频帧中的网络抽象层单元。
在本公开的一个实施例中,本实施例中的视频帧可为包含视频帧数据的AVPacket,每一AVPacket中,包括多个NAL单元。AVPacket是一种数据结构,更具体地,是Ffmpeg(Fast Forward Moving Picture Experts Group,快速向前动态图像专家组)中的一种结构体,它保存了解复用(demuxer)之后,解码(decode)之前的数据,该数据仍然是压缩后的数据。同时,AVPacket中还包括关于这些数据的一些附加的信息,如显示时间戳,解码时间戳,数据时长,所在流媒体的索引等。根据AVPacket获取其中的NAL的方法,为本领域现有技术,此处不再赘述。
S2032:根据网络抽象层的类型,和/或,网络抽象层的类型优先级,确定视频帧是否为关键帧。
在本公开的一个实施例中,当第一视频数据的编码类型为H.264时,若网络抽象层的类型不为补充增强信息(NAL_SEI),且网络抽象层的优先级不为0,则视频帧为关键帧;否则,视频帧为非关键帧。
具体地,该过程包括:遍历AVPacket里面的所有NAL单元,依次或同时从NAL单元里面解析出NAL的类型(type)和NAL的优先级,若某一NAL的类型不是NAL_SEI,并且该NAL的优先级不等于0,表明该AVPacket不是非参考帧,即该AVPacket为关键帧,不能丢掉,否则就可以丢掉。其中,具体地代码实现方式有多种,可以根据所具体使用的开发语言、操作系统及具体需求进行实现,此处不进行更具体的限定和举例。
在本公开的一个实施例中,当第一视频数据的编码类型为H.265时,若网络抽象层的类型不为NAL_SEI和预设的时域分层编码帧(Temporal Sub-layer Access,TSA),则视频帧为关键帧;否则,视频帧为非关键帧。其中,预设的时域分层编码帧为关键时域分层编码帧(NAL_UNIT_TYPE_TSA_R)。
更加具体地,NAL_UNIT_TYPE_TSA_R是一种NAL的类型,同时,NAL中还包括NAL_UNIT_TYPE_TSA_N类型,其中,字符TSA_R意为TSA类型的参考(reference)帧,也即关键帧;字符TSA_N意为TSA类型的非参考(non-reference)帧,也即非关键帧。
此处需要重点说明的是,相关技术中,NAL_UNIT_TYPE_TSA_R类型的NAL,通常是作为参考帧,即关键帧处理的,也就是包含该NAL_UNIT_TYPE_TSA_R类型NAL的AVPacket,作为视频数据中的关键帧,然而,在视频进行倍速播放的场景下,将包含该NAL_UNIT_TYPE_TSA_R类型NAL的AVPacket作为非关键帧进行删除,不会影响其他数据帧的解码,也不会影响视频的倍速播放,同时,由于包含NAL_UNIT_TYPE_TSA_R类型NAL的AVPacket在一些视频中的占比非常高,在将该AVPacket删除后,能够释放大量的空间,进一步压缩视频数据大小,使生成的第二视频数据的体积更小。
其中,第一视频数据的编码类型为H.265时确定关键帧的过程,与第一视频数据的编码类型为H.264时类似,此处不再进行赘述。
在本公开的一个实施例中,通过对编码类型为H.264和H.265的第一视频数据进行解析,从而确定第一视频数据中的视频帧是否为关键帧,由于根据H.264和H.265编码类型的编码特指,进行了针对性的解析,因此可以更好的确定H.264和H.265编码类型的第一视频数据中的关键帧,进而实现对第一视频数据中非关键帧的压缩,提高生成的第二视频数据的压缩质量,降低第二视频数据的体积,同时保证了第二视频数据的播放流畅度。
S204:将第一视频数据中的非关键帧全部或部分删除,生成第二视频数据。
在本公开的一个实施例中,示例性地,在确定了第一视频数据中的关键帧后,其他视频帧即为非关键帧。在一种可能的实现方式中,可以将其中的非关键帧全部或部分删除,从而生成体积更小的第二视频数据。其中,示例性地,非关键帧的删除数量,可以根据预设的播放倍速值、终端设备的负载、终端设备的配置信息、终端设备的运算能力等参数确定,以使第二视频数据的体积,与播放倍速值及终端设备的情况相匹配,实现更好的视频精细度和视频流畅性的均衡。
其中,需要说明的是,本公开实施例中的步骤S203和S204,是依次执行确定关键帧、根据关键帧确定非关键帧、删除非关键帧的步骤。同时,在另一种可能的实现方式中,也可以通过类似的方式,在步骤S203和步骤S204中,直接确定其中的非关键帧、删除非关键帧。因为第一视频数据中的视频帧,只包括关键帧和非关键帧两种类型,因此确定关键帧和非关键帧是同时发生的。也因此,上述的另一种可能的实现方式中直接确定其中的非关键帧、删除非关键帧的方案,与本公开实施例中步骤S203和S204的实现方式实质相同,此处,不对该实施例再进行赘述。
S205:对第二视频数据进行解码,得到解码视频数据,并根据预设的播放倍速值,倍速播放解码视频数据。
在本公开实施例中,步骤S201、S205与上述实施例中步骤S101、S103的一致,详细论述请参考步骤S101、S103的论述,这里不再赘述。
图6为本公开实施例提供的视频倍速播放方法流程示意图三,参考图6,本实施例中在图4所示的视频倍速播放方法的基础上,增加了根据预设的播放倍速值判断第一视频数据的倍速播放策略,以及在更高倍速播放场景下的视频倍速播放的步骤,该视频倍速播放方法包括:
S301:获取第一视频数据。
S302:获取预设的播放倍速值。
本公开实施例中,播放倍速值为视频播放速度的调整系数,播放倍速值可以由用户预先设置,或者通过终端设备的交互界面接收用户指令而获得。图7为本公开实施例提供的一种用户通过终端设备的交互界面输入播放倍速值的示意图,参考图7,终端设备为智能手机,智能手机上设置有触摸屏,触摸屏上显示有交互界面。用户通过智能手机上的触摸屏,经交互界面点击、触摸、滑动或字符输入该播放倍速值,终端设备同时通过该交互界面,得到该播放倍速值。
S303:根据播放倍速值,确定第一视频数据的倍速播放策略。
参考图8,在本实施例中,步骤S303包括S3031、S3032、S3033和S3034四个具体的步骤。
S3031:获取第一视频数据的编码类型。
S3032:根据第一视频数据的编码类型,确定第一视频数据中的关键帧。
S3033:根据第一视频数据中的关键帧,确定倍速阈值。
在本公开的一个实施例中,根据第一视频数据中的关键帧,确定倍速阈值,具体包括:
首先,确定第一视频数据中的全部关键帧的数量,并根据全部关键帧的数量,确定最小视频数据。其中,最小视频数据为仅由关键帧形成的能够使第一视频数据正常播放的视频帧的集合。
其次,获取预设的设备信息,其中,设备信息用于表征播放视频的终端设备的视频处理能力。例如,包括设备的型号、CPU型号、内存信息等终端设备的硬件信息,再例如,包括设备的当前CPU使用率、剩余内存、当前温度、当前网络信号强度等终端设备的运行信息。此处,设备信息可以包括以上举例中的一种或多种,此处不进行具体限定。
再次,根据设备信息,计算终端设备能够流程播放上述最小视频数据的最大倍速系数,即倍速阈值。具体地,不同的设备信息对应的终端设备,能够流畅播放的该最小视频数据的最大倍速系数不同,例如,A型号手机,运算能力强,能在10倍速情况下,流畅播放第一视频数据对应的最小视频数据;B型号手机,运算能力弱,能在3倍速情况下,流畅播放第一视频数据对应的最小视频数据。更加具体地,在确定最小视频数据的前提下,不同设备信息与能够流畅播放的最大倍速系数,具有具体的映射关系,因此可以根据该映射关系确定设备信息对应的最大倍速系数,即倍速阈值。
当然,可以理解的是,在另一种可能的实现方式中,倍速阈值也可以是预设好的,例如在终端设备第一次读取第一视频数据的时候,按照上述步骤确定倍速阈值,并将该倍速阈值预设在终端设备内。在终端设备第二次读取该第一视频数据时,则无需再次确定倍速阈值,而是使用之前预设在终端设备内的倍数阈值。可以根据具体需要进行设置,此处不进行具体限定。
S3034:根据播放倍速值与倍速阈值的关系,确定第一视频数据的倍速播放策略。
具体地,倍速阈值代表终端设备使用压缩第一视频数据中的非关键帧的方法,进行流程倍速播放时所能达到的最大值,使用超过该倍速阈值的倍速播放值进行播放,即使对第一视频数据中的所有非关键帧进行了删除,由于设备性能的限制,仍然会出现卡顿。此处,需要采用其他倍速播放策略进行处理。例如,对第一视频数据进行跳转(seek)播放,其中,对第一视频数据进行跳转播放,以实现以超过倍数阈值的倍速播放值进行播放的实体实现方式,将在后面进行详细介绍。
在本公开实施例中,步骤S3031、S3032与上述实施例中步骤S202、S203的一致,详细论述请参考步骤S202、S203的论述,这里不再赘述。
S304:根据倍速播放策略,若播放倍速值小于预设的倍速阈值,则获取第一视频数据的编码类型;
S305:根据第一视频数据的编码类型,确定第一视频数据中的关键帧。
S306:将第一视频数据中的非关键帧全部或部分删除,生成第二视频数据。
S307:根据倍速播放策略,若播放倍速值大于或等于预设的倍速阈值,则根据播放倍速值,获取第一视频数据中的跳转帧,并将跳转帧作为第二视频数据。
参考图9,在本实施例中,步骤S307包括S3071、S3072两个具体的步骤。
S3071:根据播放倍速值,确定跳转播放节点。
S3072:将第一视频数据中与跳转播放节点对应的关键帧,确定为跳转帧,并将跳转帧作为第二视频数据。
其中,跳转播放节点用于表征第一视频数据在根据播放倍速值进行播放时,用于播放的视频帧所对应的显示时间戳。
为了更好的介绍跳转播放的过程,下面以一个更具体的实施例进行说明。
图10为本公开实施例提供的一种根据跳转播放节点进行跳转播放的过程示意图,参考图10,例如预设的播放倍速值为50,即50倍速播放,当前播放帧的时间是0ms,对应视频帧就是0ms,正常播放下的播放速度为30帧/秒。那么下一帧播放需要的时间应该是33ms,根据50倍速率计算,那么下一帧播放的跳转播放节点就是33ms*50=1650ms。这时要靠逐帧解码到这个时间,肯定会很慢,所以可以直接在播放0ms时,就计算出下一个视频帧播放的跳转播放节点,将时间点直接seek到1650ms的跳转播放节点上,获取在该位置处的关键帧,或者距离该位置处最近的关键帧确定为跳跃帧,并将该跳跃帧作为第二视频数据进行解压和播放,同时,由于0ms至1650ms之间的视频帧无需进行解码,因此可以忽视0ms至1650ms之间的所有的关键帧与非关键帧,从而可以进一步的降低由跳跃帧构成的第二视频数据的数据量。由于第一视频数据中的关键帧数量是确定的,删除关键帧会导致视频无法正常播放,因此,对于第一视频数据进行非关键帧的压缩,是存在压缩上限的,即将非关键帧全部删除,而仅保留最基本的关键帧进行后续的解压、播放。然而,在高倍速播放的场景下,播放视频的终端设备的运算能力是存在极限的,在超过一定倍速后,即使第一视频数据中仅包含关键帧的,终端设备必然出现无法实时解码的问题,从而导致高倍速的播放场景下出现视频播放卡顿的问题。本公开实施例中,通过获取预设的设备信息,根据设备信息确定终端设备对第一视频数据进行最大程度压缩后能够流畅播放的倍速上限,即倍速阈值,在不超过该阈值时,使用对第一视频数据中的非关键帧进行压缩后播放的视频播放策略,保证视频能够在准确倍数播放;在超过该阈值后,使用跳转播放策略,保证视频能够流程播放。从而实现无论视频在何种倍速下,均能够实现流程播放,不出现卡顿的情况。
同时,相对于普通的视频播放策略和如本公开中图4所示的实施例提供的倍速播放策略,由于关键帧之间的间隔不均匀,因此跳转播放时,会出现播放时间点不准确的问题,影响视频播放的流畅性。但是在高倍速播放的场景下,该问题被视频的高速播放所掩盖,并且,播放倍速值越高,该问题越不明显。因此,通过上述步骤中根据第一视频数据中的关键帧确定的倍速阈值,以此为边界确定不同的倍速播放策略,可以最大程度的降低高倍速场景下使用跳转播放带来的播放时间点不准确的问题,影响视频播放的流畅性的问题,同时在低倍速场景下,通过压缩第一视频数据中的非关键帧,避免视频播放时间节点的不准确,同时提高视频播放流程度,避免卡顿。
S308:对第二视频数据进行解码,得到解码视频数据,并倍速播放解码视频数据。
在本公开实施例中,步骤S304-S306、S308与上述实施例中步骤S202-S205的一致,详细论述请参考步骤S202-S205的论述,这里不再赘述。
对应于上文实施例的视频倍速播放方法,图11为本公开实施例提供的一种视频倍速播放装置的结构框图。为了便于说明,仅示出了与本公开实施例相关的部分。参照图11,视频倍速播放装置400包括:获取单元401,压缩单元402,播放单元403,其中:
获取单元401,用于获取第一视频数据,其中第一视频数据中包括关键帧和非关键帧;
压缩单元402,用于对第一视频数据中的非关键帧进行压缩处理,生成第二视频数据;
播放单元403,用于对第二视频数据进行解码,得到解码视频数据,并根据预设的播放倍速值,倍速播放解码视频数据。
在本公开的一个实施例中,关键帧用于表征播放视频数据时所需的必要视频帧,获取单元401,还用于:
获取第一视频数据的编码类型;根据第一视频数据的编码类型,确定第一视频数据中的关键帧。
在本公开的一个实施例中,第一视频数据的编码类型包括H.264或H.265,第一视频数据中包括多个待处理视频帧,每一待处理视频帧中,包括一个或多个网络抽象层单元;获取单元401在确定第一视频数据中的关键帧时,具体用于:
针对第一视频数据中的视频帧,获取视频帧中的网络抽象层单元;根据网络抽象层的类型,和/或,网络抽象层的类型优先级,确定视频帧是否为关键帧。
在本公开的一个实施例中,当第一视频数据的编码类型为H.264时,若网络抽象层的类型不为补充增强信息,且网络抽象层的优先级不为0,则视频帧为关键帧;否则,视频帧为非关键帧。
在本公开的一个实施例中,当第一视频数据的编码类型为H.265时,若网络抽象层的类型不为补充增强信息和预设的时域分层编码帧,则视频帧为关键帧;否则,视频帧为非关键帧。
在本公开的一个实施例中,预设的时域分层编码帧为关键时域分层编码帧。
在本公开的一个实施例中,压缩单元402具体用于:
将第一视频数据中的非关键帧全部或部分删除,生成第二视频数据。
其中,获取单元401、压缩单元402、播放单元403依次连接。本实施例提供的视频倍速播放装置400可以执行如图2-图5所对应的方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图12为本公开实施例提供的另一种视频倍速播放装置的结构框图,图12所示的视频倍速播放装置500在图11所示的视频倍速播放装置400的基础上,增加了倍速单元501。
在本公开的一个实施例中,倍速单元501,用于:获取播放倍速值。
压缩单元402,具体用于:若播放倍速值小于预设的倍速阈值,则对第一视频数据中的非关键帧进行压缩处理,生成第二视频数据;若播放倍速值大于或等于倍速阈值,则根据播放倍速值,获取第一视频数据中的跳转帧,并将跳转帧作为第二视频数据。
在本公开的一个实施例中,压缩单元402在根据播放倍速值,获取第一视频数据中的跳转帧时,具体用于:根据播放倍速值,确定跳转播放节点,跳转播放节点用于表征第一视频数据在根据播放倍速值进行跳转播放时,用于播放的视频帧所对应的显示时间戳;将第一视频数据中与跳转播放节点对应的关键帧,确定为跳转帧。
在本公开的一个实施例中,获取单元401还用于:
获取预设的设备信息,其中,设备信息用于表征播放第二视频数据的终端设备的视频处理能力;根据设备信息,确定倍速阈值。
其中,倍速单元501分别与获取单元401和压缩单元402连接,播放单元403与压缩单元402连接。本实施例提供的视频倍速播放装置500可以执行如图6-图9所对应的方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
参考图13,其示出了适于用来实现本公开实施例的电子设备600的结构示意图,该电子设备600可以为终端设备或服务器。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(Personal Digital Assistant,简称PDA)、平板电脑(Portable Android Device,简称PAD)、便携式多媒体播放器(Portable MediaPlayer,简称PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图13示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图13所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(Read Only Memory,简称ROM)602中的程序或者从存储装置608加载到随机访问存储器(Random Access Memory,简称RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(Liquid CrystalDisplay,简称LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置606。通信装置606可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图13示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置606从网络上被下载和安装,或者从存储装置608被安装,或者从ROM602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network,简称LAN)或广域网(Wide Area Network,简称WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
第一方面,根据本公开的一个或多个实施例,提供了一种视频倍速播放方法,包括:
获取第一视频数据,其中第一视频数据中包括关键帧和非关键帧;对第一视频数据中的非关键帧进行压缩处理,生成第二视频数据;对第二视频数据进行解码,得到解码视频数据,并根据预设的播放倍速值,倍速播放解码视频数据。
根据本公开的一个或多个实施例,方法还包括:获取第一视频数据的编码类型;根据第一视频数据的编码类型,确定第一视频数据中的关键帧。
根据本公开的一个或多个实施例,第一视频数据的编码类型包括H.264或H.265;确定第一视频数据中的关键帧,包括:针对第一视频数据中的视频帧,获取视频帧中的网络抽象层单元;根据网络抽象层的类型,和/或,网络抽象层的类型优先级,确定视频帧是否为关键帧。
根据本公开的一个或多个实施例,当第一视频数据的编码类型为H.264时,若网络抽象层的类型不为补充增强信息,且网络抽象层的优先级不为0,则视频帧为关键帧;否则,视频帧为非关键帧。
根据本公开的一个或多个实施例,当第一视频数据的编码类型为H.265时,若网络抽象层的类型不为补充增强信息和预设的时域分层编码帧,则视频帧为关键帧;否则,视频帧为非关键帧。
根据本公开的一个或多个实施例,预设的时域分层编码帧为关键时域分层编码帧。
根据本公开的一个或多个实施例,对第一视频数据中的非关键帧进行压缩处理,生成第二视频数据,包括:将第一视频数据中的非关键帧全部或部分删除,生成第二视频数据。
根据本公开的一个或多个实施例,方法还包括:获取播放倍速值;对第一视频数据中的非关键帧进行压缩处理,生成第二视频数据,包括:若播放倍速值小于预设的倍速阈值,则对第一视频数据中的非关键帧进行压缩处理,生成第二视频数据。
根据本公开的一个或多个实施例,方法还包括:若播放倍速值大于或等于倍速阈值,则根据播放倍速值,获取第一视频数据中的跳转帧,并将跳转帧作为第二视频数据。
根据本公开的一个或多个实施例,根据播放倍速值,获取第一视频数据中的跳转帧,包括:根据播放倍速值,确定跳转播放节点,跳转播放节点用于表征第一视频数据在根据播放倍速值进行跳转播放时,用于播放的视频帧所对应的显示时间戳;将第一视频数据中与跳转播放节点对应的关键帧,确定为跳转帧。
根据本公开的一个或多个实施例,还包括:获取预设的设备信息,其中,设备信息用于表征播放第二视频数据的终端设备的视频处理能力;根据设备信息,确定倍速阈值。
第二方面,根据本公开的一个或多个实施例,提供了一种视频倍速播放装置,包括:
获取单元,用于获取第一视频数据,其中第一视频数据中包括关键帧和非关键帧;
压缩单元,用于对第一视频数据中的非关键帧进行压缩处理,生成第二视频数据;
播放单元,用于对第二视频数据进行解码,得到解码视频数据,并根据预设的播放倍速值,倍速播放解码视频数据。
根据本公开的一个或多个实施例,关键帧用于表征播放视频数据时所需的必要视频帧,获取单元,还用于:获取第一视频数据的编码类型;根据第一视频数据的编码类型,确定第一视频数据中的关键帧。
在本公开的一个实施例中,第一视频数据的编码类型包括H.264或H.265,第一视频数据中包括多个待处理视频帧,每一待处理视频帧中,包括一个或多个网络抽象层单元;获取单元在确定第一视频数据中的关键帧时,具体用于:针对第一视频数据中的视频帧,获取视频帧中的网络抽象层单元;根据网络抽象层的类型,和/或,网络抽象层的类型优先级,确定视频帧是否为关键帧。
在本公开的一个实施例中,当第一视频数据的编码类型为H.264时,若网络抽象层的类型不为补充增强信息,且网络抽象层的优先级不为0,则视频帧为关键帧;否则,视频帧为非关键帧。
在本公开的一个实施例中,当第一视频数据的编码类型为H.265时,若网络抽象层的类型不为补充增强信息和预设的时域分层编码帧,则视频帧为关键帧;否则,视频帧为非关键帧。
在本公开的一个实施例中,预设的时域分层编码帧为关键时域分层编码帧。
在本公开的一个实施例中,压缩单元具体用于:将第一视频数据中的非关键帧全部或部分删除,生成第二视频数据。
在本公开的一个实施例中,倍速单元,用于:获取播放倍速值。
压缩单元,具体用于:若播放倍速值小于预设的倍速阈值,则对第一视频数据中的非关键帧进行压缩处理,生成第二视频数据。
在本公开的一个实施例中,压缩单元,还用于:若播放倍速值大于或等于倍速阈值,则根据播放倍速值,获取第一视频数据中的跳转帧,并将跳转帧作为第二视频数据。
在本公开的一个实施例中,压缩单元在根据播放倍速值,获取第一视频数据中的跳转帧时,具体用于:根据播放倍速值,确定跳转播放节点,跳转播放节点用于表征第一视频数据在根据播放倍速值进行跳转播放时,用于播放的视频帧所对应的显示时间戳;将第一视频数据中与跳转播放节点对应的关键帧,确定为跳转帧。
在本公开的一个实施例中,获取单元还用于:获取预设的设备信息,其中,设备信息用于表征播放第二视频数据的终端设备的视频处理能力;根据设备信息,确定倍速阈值。
第三方面,根据本公开的一个或多个实施例,提供了一种电子设备,包括:至少一个处理器和存储器;
存储器存储计算机执行指令;
至少一个处理器执行存储器存储的计算机执行指令,使得至少一个处理器执行如上第一方面以及第一方面各种可能的设计的视频倍速播放方法。
第四方面,根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计的视频倍速播放方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (11)

1.一种视频倍速播放方法,其特征在于,包括:
获取第一视频数据,其中所述第一视频数据中包括关键帧和非关键帧;
对所述第一视频数据中的非关键帧进行压缩处理,生成第二视频数据;其中,所述第二视频数据的体积与播放倍速值具有映射关系;
对所述第二视频数据进行解码,得到解码视频数据,并根据预设的播放倍速值,倍速播放所述解码视频数据;
所述方法还包括:
获取所述播放倍速值以及预设的设备信息,其中,所述设备信息用于表征播放所述第二视频数据的终端设备的视频处理能力;
根据所述设备信息,确定播放最小视频数据的倍速阈值,所述倍速阈值表征播放所述最小视频数据的最大倍速系数,所述最小视频数据仅由所述关键帧形成;
对所述第一视频数据中的非关键帧进行压缩处理,生成第二视频数据,包括:
若所述播放倍速值大于或等于所述倍速阈值,则根据所述播放倍速值,确定跳转播放节点,所述跳转播放节点用于表征所述第一视频数据在根据所述播放倍速值进行跳转播放时,用于播放的视频帧所对应的显示时间戳;
将所述第一视频数据中与所述跳转播放节点对应的关键帧,确定为所述跳转帧,并将所述跳转帧作为所述第二视频数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述第一视频数据的编码类型;
根据所述第一视频数据的编码类型,确定所述第一视频数据中的关键帧。
3.根据权利要求2所述的方法,其特征在于,所述第一视频数据的编码类型包括H.264或H.265;确定所述第一视频数据中的关键帧,包括:
针对所述第一视频数据中的视频帧,获取所述视频帧中的网络抽象层单元;
根据所述网络抽象层的类型,和/或,所述网络抽象层的类型优先级,确定所述视频帧是否为关键帧。
4.根据权利要求3所述的方法,其特征在于,当所述第一视频数据的编码类型为H.264时,若所述网络抽象层的类型不为补充增强信息,且所述网络抽象层的优先级不为0,则所述视频帧为关键帧;否则,所述视频帧为非关键帧。
5.根据权利要求3所述的方法,其特征在于,当所述第一视频数据的编码类型为H.265时,若所述网络抽象层的类型不为补充增强信息和预设的时域分层编码帧,则所述视频帧为关键帧;否则,所述视频帧为非关键帧。
6.根据权利要求3所述的方法,其特征在于,所述预设的时域分层编码帧为关键时域分层编码帧。
7.根据权利要求1-6任一项所述的方法,其特征在于,对所述第一视频数据中的非关键帧进行压缩处理,生成第二视频数据,包括:
将所述第一视频数据中的非关键帧全部或部分删除,生成所述第二视频数据。
8.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
若所述播放倍速值小于预设的倍速阈值,则对所述第一视频数据中的非关键帧进行压缩处理,生成第二视频数据。
9.一种视频倍速播放装置,其特征在于,包括:
获取单元,用于获取第一视频数据,其中所述第一视频数据中包括关键帧和非关键帧;
压缩单元,用于对所述第一视频数据中的非关键帧进行压缩处理,生成第二视频数据;其中,所述第二视频数据的体积与播放倍速值具有映射关系;
播放单元,用于对所述第二视频数据进行解码,得到解码视频数据,并根据预设的播放倍速值,倍速播放所述解码视频数据;
倍速单元,用于获取所述播放倍速值;
所述获取单元,还用于获取预设的设备信息,其中,所述设备信息用于表征播放所述第二视频数据的终端设备的视频处理能力;
根据所述设备信息,确定播放最小视频数据的倍速阈值,所述倍速阈值表征播放所述最小视频数据的最大倍速系数,所述最小视频数据仅由所述关键帧形成;
所述压缩单元,具体用于若所述播放倍速值大于或等于所述倍速阈值,则根据所述播放倍速值,确定跳转播放节点,所述跳转播放节点用于表征所述第一视频数据在根据所述播放倍速值进行跳转播放时,用于播放的视频帧所对应的显示时间戳;
将所述第一视频数据中与所述跳转播放节点对应的关键帧,确定为所述跳转帧,并将所述跳转帧作为所述第二视频数据。
10.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至8任一项所述的视频倍速播放方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至8任一项所述的视频倍速播放方法。
CN202011310156.1A 2020-11-20 2020-11-20 视频倍速播放方法、装置、电子设备及存储介质 Active CN112437345B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202011310156.1A CN112437345B (zh) 2020-11-20 2020-11-20 视频倍速播放方法、装置、电子设备及存储介质
PCT/CN2021/128265 WO2022105597A1 (zh) 2020-11-20 2021-11-02 视频倍速播放方法、装置、电子设备及存储介质
US18/253,764 US20240305860A1 (en) 2020-11-20 2021-11-02 Method and apparatus for playing back video at multiple-speed, electronic device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011310156.1A CN112437345B (zh) 2020-11-20 2020-11-20 视频倍速播放方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112437345A CN112437345A (zh) 2021-03-02
CN112437345B true CN112437345B (zh) 2023-03-14

Family

ID=74693126

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011310156.1A Active CN112437345B (zh) 2020-11-20 2020-11-20 视频倍速播放方法、装置、电子设备及存储介质

Country Status (3)

Country Link
US (1) US20240305860A1 (zh)
CN (1) CN112437345B (zh)
WO (1) WO2022105597A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112437345B (zh) * 2020-11-20 2023-03-14 北京字跳网络技术有限公司 视频倍速播放方法、装置、电子设备及存储介质
CN112929706A (zh) * 2021-03-05 2021-06-08 浙江大华技术股份有限公司 视频数据的回放方法、装置、存储介质以及电子装置
CN113709538B (zh) * 2021-07-09 2023-03-21 北京达佳互联信息技术有限公司 一种多媒体数据播放方法、装置、电子设备及存储介质
CN114257846A (zh) * 2021-12-23 2022-03-29 杭州登虹科技有限公司 基于内容感知的移动端自适应视频倍速播放方法
CN114257857B (zh) * 2022-01-04 2024-05-24 海信视像科技股份有限公司 显示设备及视频倍速播放方法
CN114598912B (zh) * 2022-02-10 2024-05-10 互影科技(北京)有限公司 一种多媒体文件显示方法、装置、存储介质及电子设备
CN114666603B (zh) * 2022-05-06 2024-05-03 厦门美图之家科技有限公司 一种视频解码方法、装置、电子设备及存储介质
CN115314731B (zh) * 2022-06-23 2024-06-25 浙江大华技术股份有限公司 视频处理系统、方法、计算机设备和存储介质
CN118536895A (zh) * 2023-07-12 2024-08-23 哈尔滨商业大学 一种含有视频采集终端的物流信息跟踪方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1941913A (zh) * 2005-08-04 2007-04-04 三星电子株式会社 用于跳跃图像的方法和设备
CN101075949A (zh) * 2006-05-15 2007-11-21 中兴通讯股份有限公司 一种改变流媒体文件播放速度的方法
CN101841692A (zh) * 2010-04-23 2010-09-22 深圳市茁壮网络股份有限公司 视频流快进快退的方法
CN102771134A (zh) * 2010-01-18 2012-11-07 瑞典爱立信有限公司 用于支持播放内容的方法及装置
CN103124380A (zh) * 2012-11-16 2013-05-29 佳都新太科技股份有限公司 一种基于h264的实时流媒体丢包处理方案
US9066131B1 (en) * 2003-04-30 2015-06-23 The Directv Group, Inc. Advertising spots for fast-forward play
CN109963176A (zh) * 2017-12-26 2019-07-02 中兴通讯股份有限公司 视频码流处理方法、装置、网络设备和可读存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070058926A1 (en) * 2005-09-09 2007-03-15 Microsoft Corporation Optimizing trick modes for streaming media content
JP5248802B2 (ja) * 2006-06-16 2013-07-31 カシオ計算機株式会社 動画符号化装置および動画符号化方法と、動画復号化装置および動画復号化方法と、動画記録装置
AU2006230691B2 (en) * 2006-10-19 2010-11-25 Canon Kabushiki Kaisha Video Source Coding with Decoder Side Information
US20090241163A1 (en) * 2008-03-21 2009-09-24 Samsung Electronics Co. Ltd. Broadcast picture display method and a digital broadcast receiver using the same
US9935993B2 (en) * 2015-03-31 2018-04-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Streaming video over a hybrid network
CN104869430B (zh) * 2015-05-18 2017-12-05 北京中熙正保远程教育技术有限公司 一种视频倍速播放方法及装置
KR101687115B1 (ko) * 2015-09-09 2016-12-15 한국과학기술원 통신 시스템의 암호화 패킷 전송 방법
CN107493482B (zh) * 2016-06-12 2020-02-04 杭州海康威视数字技术股份有限公司 一种视频回放方法及装置
US10182248B2 (en) * 2016-11-21 2019-01-15 Cisco Technology, Inc. Keyframe mitigation for video streams with multiple receivers
CN107801092A (zh) * 2017-09-15 2018-03-13 青岛海信移动通信技术股份有限公司 一种视频倍速播放方法和装置
CN110266706A (zh) * 2019-06-26 2019-09-20 三星电子(中国)研发中心 一种多媒体流数据的播放方法和装置
CN112437345B (zh) * 2020-11-20 2023-03-14 北京字跳网络技术有限公司 视频倍速播放方法、装置、电子设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9066131B1 (en) * 2003-04-30 2015-06-23 The Directv Group, Inc. Advertising spots for fast-forward play
CN1941913A (zh) * 2005-08-04 2007-04-04 三星电子株式会社 用于跳跃图像的方法和设备
CN101075949A (zh) * 2006-05-15 2007-11-21 中兴通讯股份有限公司 一种改变流媒体文件播放速度的方法
CN102771134A (zh) * 2010-01-18 2012-11-07 瑞典爱立信有限公司 用于支持播放内容的方法及装置
CN101841692A (zh) * 2010-04-23 2010-09-22 深圳市茁壮网络股份有限公司 视频流快进快退的方法
CN103124380A (zh) * 2012-11-16 2013-05-29 佳都新太科技股份有限公司 一种基于h264的实时流媒体丢包处理方案
CN109963176A (zh) * 2017-12-26 2019-07-02 中兴通讯股份有限公司 视频码流处理方法、装置、网络设备和可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于TS流文件的倍速文件的生成方法;程维佳;《网络新媒体技术》;20160115;第5卷(第1期);全文 *

Also Published As

Publication number Publication date
CN112437345A (zh) 2021-03-02
WO2022105597A1 (zh) 2022-05-27
US20240305860A1 (en) 2024-09-12

Similar Documents

Publication Publication Date Title
CN112437345B (zh) 视频倍速播放方法、装置、电子设备及存储介质
CN111385576B (zh) 视频编码方法、装置、移动终端及存储介质
WO2022170836A1 (zh) 多媒体文件中轨道数据的处理方法、装置、介质及设备
RU2599959C2 (ru) Схема сжатия dram для снижения потребления энергии при компенсации движения и обновления отображения
CN112714273A (zh) 屏幕共享显示方法、装置、设备及存储介质
US20250016423A1 (en) Comment adding method and apparatus, electronic device and storage medium
CN113473126A (zh) 视频流的处理方法、装置、电子设备及计算机可读介质
CN113676769A (zh) 视频解码方法、设备、存储介质及程序产品
CN113507637A (zh) 媒体文件处理方法、装置、设备、可读存储介质及产品
US20240233767A1 (en) Method and apparatus for video seeking and playing, terminal device and storage medium
WO2021196994A1 (zh) 编码的方法及装置、终端和存储介质
EP4525442A1 (en) Video coding method and apparatus, and electronic device and storage medium
JP2016059015A (ja) 画像出力装置
CN105979354A (zh) 一种频道切换方法及装置
WO2024148979A1 (zh) 视频解码方法、装置、电子设备、计算机可读存储介质及计算机程序产品
CN109302574B (zh) 一种处理视频流的方法和装置
CN114827695B (zh) 视频录制方法、设备、电子设备及存储介质
WO2023130896A1 (zh) 媒体数据的数据处理方法、装置、计算机设备及存储介质
WO2023185305A1 (zh) 编码方法、装置、存储介质及计算机程序产品
CN116456091A (zh) 一种视频编码方法、装置、设备和存储介质
WO2023030402A1 (zh) 视频的处理方法、装置及系统
CN109068156A (zh) 一种节目录制、播放方法及装置
CN111435995B (zh) 用于生成动态图片的方法、装置和系统
CN113395581B (zh) 音频播放方法、装置、电子设备及存储介质
US11588870B2 (en) W3C media extensions for processing DASH and CMAF inband events along with media using process@append and process@play mode

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