CN112291591A - 一种视频数据回放方法、电子设备和存储介质 - Google Patents

一种视频数据回放方法、电子设备和存储介质 Download PDF

Info

Publication number
CN112291591A
CN112291591A CN202010997872.5A CN202010997872A CN112291591A CN 112291591 A CN112291591 A CN 112291591A CN 202010997872 A CN202010997872 A CN 202010997872A CN 112291591 A CN112291591 A CN 112291591A
Authority
CN
China
Prior art keywords
frame
playback
video data
video
playback start
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
CN202010997872.5A
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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202010997872.5A priority Critical patent/CN112291591A/zh
Publication of CN112291591A publication Critical patent/CN112291591A/zh
Pending legal-status Critical Current

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/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
    • H04N21/234309Processing 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 by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • 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
    • H04N21/234336Processing 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 by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
    • 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
    • H04N21/234345Processing 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 the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • 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/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • 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
    • 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/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
    • 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/440236Processing 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 media transcoding, e.g. video is transformed into a slideshow of still pictures, audio is converted into text
    • 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/440245Processing 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 the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • 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/47202End-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 requesting content on demand, e.g. video on demand
    • 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)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请公开了一种视频数据回放方法、电子设备和存储介质,该方法包括:服务端获取客户端的点播请求,并根据点播请求从视频数据获得对应的回放起始帧;响应于回放起始帧不是关键帧,解码回放起始帧;将解码后的回放起始帧与其之后最近的后向关键帧之间的所有后向视频帧,按固定码率模式重新编码以获得第一图像组,其中,解码后的回放起始帧作为第一图像组中的关键帧;将第一图像组以及第一图像组之后的视频数据发送给客户端,以使客户端从回放起始帧开始解码。通过上述方式,本申请能够准确地从点播请求对应的回放起始帧开始播放,提高随机点播的情况下客户端视频播放的效果。

Description

一种视频数据回放方法、电子设备和存储介质
技术领域
本申请涉及视频编解码技术领域,特别是涉及一种视频数据回放方法、电子设备和存储介质。
背景技术
由于视频设备采集的原始视频数据的数据量较大,通常需要对原始视频数据进行编码压缩以降低数据量,压缩后的视频数据包括关键帧(I帧)和仅记录区别特征的视频帧(P帧或B帧),其中当前关键帧及其与下一个关键帧之间的视频帧共同构成一组图像组(Group Of Pictures,GOP)。为尽可能降低数据量,在安防领域,通常会采用长GOP的编码方法,以减少固定时间段内编出的关键帧的个数。
但是,在客户端对视频数据点播进行回放时,如果点播请求对应的回放起始帧不是关键帧,现有技术的方法通常是将回放起始帧之前最近的前向关键帧作为起始帧,将前向关键帧及其之后的视频数据发送给客户端,以使客户端解码后观看。但是对于长GOP的编码方法获得的视频数据,按现有技术的方法会导致发送给客户端的前向关键帧和客户端点播请求对应的回放起始帧间隔较远,使得实际回放的起始画面不是客户端点播的画面,随机点播的情况下客户端视频播放的效果较差。
发明内容
本申请主要解决的技术问题是提供一种视频数据回放方法、电子设备和存储介质,能够给客户端发送第一图像组及其之后的视频数据,进而使客户端准确地从回放起始帧开始解码。
为解决上述技术问题,本申请第一方面提供一种视频数据回放方法,该视频数据回放方法包括:服务端获取客户端的点播请求,并根据所述点播请求从所述视频数据获得对应的回放起始帧;响应于所述回放起始帧不是关键帧,解码所述回放起始帧;将解码后的所述回放起始帧与其之后最近的后向关键帧之间的所有后向视频帧,按固定码率模式重新编码以获得第一图像组,其中,解码后的所述回放起始帧作为所述第一图像组中的关键帧;将所述第一图像组以及第一图像组之后的所述视频数据发送给所述客户端,以使所述客户端从所述回放起始帧开始解码。
其中,所述将解码后的所述回放起始帧与其之后最近的后向关键帧之间的所有后向视频帧,按固定码率模式重新编码以获得第一图像组,包括:从解码后的所述回放起始帧开始依次解码所述后向视频帧,以获得解码后的所述后向视频帧;获取所述视频数据的编码信息并计算所述视频数据的码率;按所述固定码率模式将解码后的所述回放起始帧和解码后的所述后向视频帧重新编码,以获得所述第一图像组。
其中,所述获取所述视频数据的编码信息并计算所述视频数据的码率,包括:获取所述视频数据的头部信息,从所述头部信息中获取所述视频数据的编码格式和分辨率;计算所述回放起始帧、所述后向视频帧和所述后向关键帧的文件总大小,获取所述回放起始帧和所述后向关键帧之间的时间间隔,进而计算所述视频数据的码率。
其中,所述第一图像组与所述视频数据的所述编码格式、所述分辨率和所述码率相同。
其中,所述响应于所述回放起始帧不是关键帧,解码所述回放起始帧,包括:获取所述视频数据中所述回放起始帧之前最近的前向关键帧,以及所述前向关键帧和所述回放起始帧之间的前向视频帧;从所述前向关键帧开始依次解码所述前向视频帧直至解码至所述回放起始帧,以获得解码后的所述回放起始帧。
其中,所述方法还包括:将完成解码后的所述前向关键帧和所述前向视频帧丢弃,不发送给所述客户端。
其中,所述方法还包括:响应于所述回放起始帧是关键帧,将所述回放起始帧及其之后的所述视频数据发送给所述客户端,以使所述客户端从所述回放起始帧开始解码。
为解决上述技术问题,本申请第二方面提供一种视频数据回放方法,该视频数据回放方法包括:客户端发送点播请求至服务端;接收所述服务端发送的第一图像组以及第一图像组之后的所述视频数据;其中,所述第一图像组由与所述点播请求对应的非关键帧的回放起始帧、以及其之后最近的后向关键帧之间的所有后向视频帧按照固定码率模式重新编码形成;从所述回放起始帧开始解码。
为解决上述技术问题,本申请第三方面提供一种电子设备,该电子设备包括相互耦接的存储器和处理器,其中,所述存储器存储有程序数据,所述处理器调用所述程序数据以执行上述第一方面或第二方面的视频数据回放方法。
为解决上述技术问题,本申请第四方面提供一种计算机存储介质,该计算机存储介质存储有程序数据,所述程序数据被处理器执行时实现上述第一方面或第二方面的视频数据回放方法。
本申请的有益效果是:本申请所提供的视频数据回放方法,在客户端发出点播请求后,服务端最终向客户端发送第一图像组及其之后的视频数据,其中,第一图像组的关键帧是由客户端的点播请求对应的解码后的回放起始帧,第一图像组中包括解码后的回放起始帧以及其之后最近的后向关键帧之间的后向视频帧,进而客户端在进行解码回放视频时,可从点播请求对应的回放起始帧开始解码播放,使得实际回放的起始画面与客户端的点播请求准确对应,提高随机点播的情况下客户端视频播放的效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请视频数据回放方法一实施方式的流程示意图;
图2是本申请图1中步骤S102对应的一实施方式的流程示意图;
图3是本申请图1中步骤S103之前对应的一实施方式的流程示意图;
图4是本申请视频数据回放方法另一实施方式的流程示意图;
图5是本申请电子设备一实施方式的结构示意图;
图6是本申请计算机存储介质一实施方式的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了解决现有技术中视频数据回放时,实际回放的起始画面与客户端的点播请求不匹配导致播放效果较差的问题,本申请第一方面提出了一种视频数据回放方法。具体请参阅图1,图1是本申请视频数据回放方法一实施方式的流程示意图,本实施例的视频数据回放方法应用于一种视频编解码装置。
其中,本申请的视频编解码装置可以为服务器,也可以为终端设备,还可以为由服务器和终端设备相互配合的系统。相应地,视频编解码装置包括的各个部分,例如各个单元、子单元、模块、子模块可以全部设置于服务器中,也可以全部设置于终端设备中,还可以分别设置于服务器和终端设备中。
进一步地,上述服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块,例如用来提供分布式服务器的软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。
为便于理解,在第一方面的实施例中统一以服务端为执行主体,如图1所示,本实施例的视频数据回放方法具体包括以下步骤:
步骤S101:服务端获取客户端的点播请求,并根据点播请求从视频数据获得对应的回放起始帧。
具体地,当用户在客户端随机选择一个时间节点对应的一帧画面作为回放起始画面,客户端即可生成相应的点播请求发送给服务端,服务端获取该点播请求,在已存储的视频数据中查找定位到该点播请求对应的视频帧,将点播请求对应的视频帧标记为客户端期望的回放起始帧。
进一步地,服务端作为接受请求的一端,其采用实时监听客户端的请求的方式,进而在客户端发送点播请求后,服务端可快速响应客户端的点播请求。
步骤S102:响应于回放起始帧不是关键帧,解码回放起始帧。
具体地,在客户端进行点播时,客户端所点播的回放起始帧定位在视频数据中的某一帧,视频数据中每两个关键帧之间为一个GOP。客户端所点播的回放起始帧有可能定位在关键帧上,也可能定位在两个关键帧之间的视频帧上。由于关键帧的数量在编码后会远少于视频帧的数量,因此,回放起始帧定位在非关键帧的概率远大于定位在关键帧上,而对于采用长GOP的编码方法获得的视频数据更是如此。
进一步地,在实际应用中,关键帧(I帧)之间包括前向差别帧(P帧)和/或双向差别帧(B帧),在本实施例中,为便于理解,假设原始的视频数据中关键帧之间的视频帧都是P帧,将原始的视频数据记为S0,原始的视频数据S0中包括关键帧Ix、Ix+1、Ix+2…Ix+n,关键帧之间包括多个P帧。
在一应用方式中,响应于回放起始帧定位在P帧上,假设回放起始帧在Ix~Ix+1帧之间,将其记为Pxy帧,服务端解码Pxy帧以获取回放起始帧的画面。
具体地,请参阅图2,图2是本申请图1中步骤S102对应的一实施方式的流程示意图,步骤S102具体包括:
步骤S201:获取视频数据中回放起始帧之前最近的前向关键帧,以及前向关键帧和回放起始帧之间的前向视频帧。
具体地,当定位到回放起始帧后,在原始的视频数据S0对应的GOP中向前查找离回放起始帧最近的前向关键帧,由于Pxy帧在Ix和Ix+1帧之间,则前向关键帧为Ix帧。当Pxy帧不是紧接在Ix帧之后的视频帧时,则进一步获取Ix~Pxy帧之间的所有前向视频帧。
可以理解的是,如果Pxy帧是接在Ix帧之后与Ix帧相邻的视频帧,则Ix~Pxy帧之间不存在前向视频帧,进而也无需获取前向视频帧。
步骤S202:从前向关键帧开始依次解码前向视频帧直至解码至回放起始帧,以获得解码后的回放起始帧。
具体地,从前向关键帧开始,藉由前向关键帧的完整图像解码离前向关键帧最近的视频帧,也就是解码离Ix帧最近的Px1帧,进而依次参考已解码的前一帧图像以解码至离Pxy帧最近的Px(y-1)帧,进而Pxy帧参考Px(y-1)帧进行解码,进而获得解码后的回放起始帧,使解码后的回放起始帧与关键帧的特质一致,保留有该帧的完整图像。
步骤S203:将完成解码后的前向关键帧和前向视频帧丢弃,不发送给客户端。
具体地,当客户端点播了Pxy帧对应的图像画面作为期望的起始播放画面,现有技术中会将Ix帧以及Ix~Pxy帧之间的所有前向视频帧都发送给客户端,以使客户端能够解码出Pxy帧的图像,因此导致了实际回放的起始画面不是客户端点播的画面。在本实施例中,服务端得到解码后的回放起始帧后,将Ix~Px(y-1)帧中所有已解码的视频帧丢弃,不发送给客户端,以免实际回放的起始画面与客户端点播的画面不匹配。
需要说明的是,将Ix~Px(y-1)帧中所有已解码的视频帧丢弃并非删除上述视频帧,实际上,Ix~Px(y-1)帧仍然会存储在原始的视频数据S0中,此处的丢弃指的是对于服务端的解码器而言,解码器只保留解码后的回放起始帧。
在另一应用方式中,响应于回放起始帧是关键帧,将回放起始帧及其之后的视频数据发送给客户端,以使客户端从回放起始帧开始解码。假设回放起始帧定位在Ix帧上,则将Ix帧及其之后的视频数据发送给客户端以供客户端解码,也就是截取原始的视频数据S0中Ix帧及其之后部分发送给客户端。客户端在获得视频数据后,对于视频数据中的任意一个GOP,客户端首先获取当前GOP的第一帧也就是当前GOP中关键帧的图像画面,进而根据关键帧的图像画面逐帧解码当前GOP中后续的视频帧。
步骤S103:将解码后的回放起始帧与其之后最近的后向关键帧之间的所有后向视频帧,按固定码率模式重新编码以获得第一图像组。
具体地,在获取到解码后的回放起始帧之后,还需要获取离回放起始帧最近的后向关键帧,获取回放起始帧和后向关键帧之间的所有后向视频帧。
可以理解的是,如果后向关键帧接在回放起始帧之后,后向关键帧与回放起始帧相邻,则不存在后向视频帧,进而也无需获取后向视频帧。
在一应用方式中,请参阅图3,图3是本申请图1中步骤S103之前对应的一实施方式的流程示意图,步骤S103之前具体包括:
步骤S301:从解码后的回放起始帧开始依次解码后向视频帧,以获得解码后的后向视频帧。
具体地,仍假设回放起始帧为Pxy帧,则在Pxy帧之后,离Pxy帧最近的后向关键帧为Ix+1帧,当上述步骤S203之后,解码到Pxy帧时,继续对Pxy~Ix+1帧之间的后向视频帧进行逐帧解码,以获取所有后向视频帧的画面。从回放起始帧开始解码后的回放起始帧和后向视频帧保留,进而服务端可获得从回放起始帧到后向关键帧之间每一视频帧的完整图像。
步骤S302:获取视频数据的编码信息并计算视频数据的码率。
具体地,原始的视频数据S0具有预设的编码规则,比如:H.264编码标准或者H.265编码标准。并且,原始的视频数据S0的码率在完成编码后也已经固定下来。
具体地,为获取视频数据的编码信息,服务端获取视频数据的头部信息,从头部信息中获取视频数据的编码格式和分辨率。服务端根据原始的视频数据S0的头部信息分析Pxy帧所在GOP的编码格式,服务端根据原始的视频数据S0的头部信息分析Pxy帧的分辨率。
具体地,为计算视频数据的码率,服务端可计算回放起始帧、后向视频帧和后向关键帧的文件总大小,获取回放起始帧和后向关键帧之间的时间间隔,进而计算视频数据的码率。服务端截取了原始的视频数据S0中的一段来计算原始的视频数据S0的码率。
可选地,在其他实施例中也可利用整个原始的视频数据S0的文件大小和时间间隔来计算码率。
步骤S303:按固定码率模式将解码后的回放起始帧和解码后的后向视频帧重新编码,以获得第一图像组。
具体地,在获得了原始的视频数据S0的编码格式、分辨率以及码率后,将解码后的回放起始帧和解码后的后向视频帧按照固定码率模式(Constants Bit Rate,CBR)进行重新编码,服务端的编码器在获得回放起始帧和后向视频帧的完整图像后,结合原始的视频数据S0的编码格式、分辨率以及码率,按照CBR模式进行重新编码,获得第一图像组。为便于理解,将第一图像组记为S1
需要说明的是,在编码获得第一图像组S1时,第一图像组S1作为一个GOP,其起始的视频帧需要保留有完整图像,在上述步骤S202中获得的解码后的回放起始帧具有完整图像,并且,在时序上回放起始帧是第一图像组S1时序最早的视频帧,因此,解码后的回放起始帧作为第一图像组S1中的关键帧。
进一步地,由于重新编码时,第一图像组S1参考了原始的视频数据S0的编码格式、分辨率以及码率,因此,第一图像组S1与原始的视频数据S0的编码格式、分辨率和码率相同,使得第一图像组S1与原始的视频数据S0的画面质量基本相当,进而客户端在解码回放时不会有画面质量的差异。
步骤S104:将第一图像组以及第一图像组之后的视频数据发送给客户端,以使客户端从回放起始帧开始解码。
具体地,在获得重新编码的第一图像组后,服务端将第一图像组及其之后的视频数据发送给客户端。也就是将第一图像组S1和截取自原始视频数据S0中后向关键帧Ix+1以及后向关键帧Ix+1之后的视频数据发送给客户端,进而客户端可完整获取点播请求对应的回放起始帧及其之后的所有视频数据,客户端进行解码即可进行回放。
本实施例所提供的视频数据回放方法,在客户端发出点播请求后,服务端最终向客户端发送第一图像组及其之后的视频数据,其中,第一图像组的关键帧是由客户端的点播请求对应的解码后的回放起始帧,第一图像组中包括解码后的回放起始帧以及其之后最近的后向关键帧之间的后向视频帧,进而客户端在进行解码回放视频时,可从点播请求对应的回放起始帧开始解码播放,使得实际回放的起始画面与客户端的点播请求准确对应,提高随机点播的情况下客户端视频播放的效果。
本申请第二方面提出了一种视频数据回放方法,具体请参阅图4,图4是本申请视频数据回放方法另一实施方式的流程示意图,在本实施例中,统一以客户端作为执行主体,如图4所示,本实施例的视频数据回放方法具体包括以下步骤:
步骤S401:客户端发送点播请求至服务端。
具体地,客户端是与用户进行直接交互的终端,当用户在客户端随机选择一个时间节点对应的一帧画面作为回放起始画面,客户端即可生成相应的点播请求发送给服务端。当用户有回看视频的需求时,用户可在客户端随机进行点播,用户点播的时间节点对应的视频帧即为用户期望看到的回放起始画面。
步骤S402:接收服务端发送的第一图像组以及第一图像组之后的视频数据。
具体地,第一图像组由与点播请求对应的非关键帧的回放起始帧、以及其之后最近的后向关键帧之间的所有后向视频帧按照固定码率模式重新编码形成。由上一实施例可知,第一图像组的关键帧为解码后的回放起始帧,第一图像组由回放起始帧和后向视频帧重新编码后获得,客户端接收服务端发送的第一图像组及其之后的视频数据。
步骤S403:从回放起始帧开始解码。
具体地,客户端在接收到第一图像组及其之后的视频数据后开始解码,客户端按照时序首先提取回放起始帧的画面,对于回放起始帧的后一帧则需要至少参考回放起始帧进行解码,对于第一图像组可进一步进行逐帧解码,对于第一图像组中的P帧和或B帧采用相应的解码方式获取对应的画面,直至解码完第一图像组中的所有视频帧。在解码完第一图像组之后,达到后向关键帧的位置,从后向关键帧开始服务端发送的是原始的视频数据中截取出来的一段,客户端可从后向关键帧的位置开始继续解码。
本实施例所提供的视频数据回放方法,客户端发送点播请求给服务端,服务端响应客户端的请求给客户端发送第一图像组及其之后的视频数据,其中第一图像组由客户端的点播请求对应的回放起始帧、以及回放起始帧和其之后最近的后向关键帧之间的后向视频帧,即使用户点播请求对应的是非关键帧,客户端也可从点播请求准确对应的回放起始帧开始解码,用户在客户端进行随机点播即可从期望看到的回放起始画面进行准确回放。
本申请第三方面提出了一种电子设备,具体请参阅图5,图5是本申请电子设备一实施方式的结构示意图,该电子设备50包括相互耦接的存储器501和处理器502,其中,存储器501存储有程序数据(图未示),处理器5022调用程序数据以实现上述任一实施例中的视频数据回放方法,相关内容的说明请参见上述方法实施例的详细描述,在此不再赘叙。
本申请第四方面提出了一种计算机存储介质,具体请参阅图6,图6是本申请计算机存储介质一实施方式的结构示意图,该计算机存储介质60存储有程序数据600,该程序数据600被处理器执行时实现上述任一实施例中的视频数据回放方法,相关内容的说明请参见上述方法实施例的详细描述,在此不再赘叙。
需要说明的是,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种视频数据回放方法,其特征在于,所述方法包括:
服务端获取客户端的点播请求,并根据所述点播请求从所述视频数据获得对应的回放起始帧;
响应于所述回放起始帧不是关键帧,解码所述回放起始帧;
将解码后的所述回放起始帧与其之后最近的后向关键帧之间的所有后向视频帧,按固定码率模式重新编码以获得第一图像组,其中,解码后的所述回放起始帧作为所述第一图像组中的关键帧;
将所述第一图像组以及第一图像组之后的所述视频数据发送给所述客户端,以使所述客户端从所述回放起始帧开始解码。
2.根据权利要求1所述的方法,其特征在于,所述将解码后的所述回放起始帧与其之后最近的后向关键帧之间的所有后向视频帧,按固定码率模式重新编码以获得第一图像组,包括:
从解码后的所述回放起始帧开始依次解码所述后向视频帧,以获得解码后的所述后向视频帧;
获取所述视频数据的编码信息并计算所述视频数据的码率;
按所述固定码率模式将解码后的所述回放起始帧和解码后的所述后向视频帧重新编码,以获得所述第一图像组。
3.根据权利要求2所述的方法,其特征在于,所述获取所述视频数据的编码信息并计算所述视频数据的码率,包括:
获取所述视频数据的头部信息,从所述头部信息中获取所述视频数据的编码格式和分辨率;
计算所述回放起始帧、所述后向视频帧和所述后向关键帧的文件总大小,获取所述回放起始帧和所述后向关键帧之间的时间间隔,进而计算所述视频数据的码率。
4.根据权利要求3所述的方法,其特征在于,所述第一图像组与所述视频数据的所述编码格式、所述分辨率和所述码率相同。
5.根据权利要求1所述的方法,其特征在于,所述响应于所述回放起始帧不是关键帧,解码所述回放起始帧,包括:
获取所述视频数据中所述回放起始帧之前最近的前向关键帧,以及所述前向关键帧和所述回放起始帧之间的前向视频帧;
从所述前向关键帧开始依次解码所述前向视频帧直至解码至所述回放起始帧,以获得解码后的所述回放起始帧。
6.根据权利要求5所述的方法,其特征在于,还包括:
将完成解码后的所述前向关键帧和所述前向视频帧丢弃,不发送给所述客户端。
7.根据权利要求1所述的方法,其特征在于,还包括:
响应于所述回放起始帧是关键帧,将所述回放起始帧及其之后的所述视频数据发送给所述客户端,以使所述客户端从所述回放起始帧开始解码。
8.一种视频数据回放方法,其特征在于,所述方法包括:
客户端发送点播请求至服务端;
接收所述服务端发送的第一图像组以及第一图像组之后的所述视频数据;其中,所述第一图像组由与所述点播请求对应的非关键帧的回放起始帧、以及其之后最近的后向关键帧之间的所有后向视频帧按照固定码率模式重新编码形成;
从所述回放起始帧开始解码。
9.一种电子设备,其特征在于,包括:相互耦接的存储器和处理器,其中,所述存储器存储有程序数据,所述处理器调用所述程序数据以执行如权利要求1-7或权利要求8中任一项所述的视频数据回放方法。
10.一种计算机存储介质,其上存储有程序数据,其特征在于,所述程序数据被处理器执行时实现如权利要求1-7或权利要求8中任一项所述的视频数据回放方法。
CN202010997872.5A 2020-09-21 2020-09-21 一种视频数据回放方法、电子设备和存储介质 Pending CN112291591A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010997872.5A CN112291591A (zh) 2020-09-21 2020-09-21 一种视频数据回放方法、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010997872.5A CN112291591A (zh) 2020-09-21 2020-09-21 一种视频数据回放方法、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN112291591A true CN112291591A (zh) 2021-01-29

Family

ID=74421145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010997872.5A Pending CN112291591A (zh) 2020-09-21 2020-09-21 一种视频数据回放方法、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN112291591A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114339431A (zh) * 2021-12-16 2022-04-12 杭州当虹科技股份有限公司 缩时编码压缩方法
CN114979763A (zh) * 2022-04-13 2022-08-30 深圳市有为信息技术发展有限公司 视频回放时的播放控制方法和装置、视频回放系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1668097A (zh) * 2005-04-07 2005-09-14 北京北大方正电子有限公司 一种视频文件快速生成的方法
CN104661083A (zh) * 2015-02-06 2015-05-27 南京传唱软件科技有限公司 视频播放方法、系统、流媒体播放方法、装置及系统
CN108574843A (zh) * 2017-03-14 2018-09-25 安讯士有限公司 确定用于视频编码的gop长度的方法和编码器系统
CN109561318A (zh) * 2017-09-26 2019-04-02 阿里巴巴集团控股有限公司 一种视频播放的方法和装置
CN110392269A (zh) * 2018-04-17 2019-10-29 腾讯科技(深圳)有限公司 媒体数据处理方法和装置、媒体数据播放方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1668097A (zh) * 2005-04-07 2005-09-14 北京北大方正电子有限公司 一种视频文件快速生成的方法
CN104661083A (zh) * 2015-02-06 2015-05-27 南京传唱软件科技有限公司 视频播放方法、系统、流媒体播放方法、装置及系统
CN108574843A (zh) * 2017-03-14 2018-09-25 安讯士有限公司 确定用于视频编码的gop长度的方法和编码器系统
CN109561318A (zh) * 2017-09-26 2019-04-02 阿里巴巴集团控股有限公司 一种视频播放的方法和装置
CN110392269A (zh) * 2018-04-17 2019-10-29 腾讯科技(深圳)有限公司 媒体数据处理方法和装置、媒体数据播放方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114339431A (zh) * 2021-12-16 2022-04-12 杭州当虹科技股份有限公司 缩时编码压缩方法
CN114339431B (zh) * 2021-12-16 2023-09-01 杭州当虹科技股份有限公司 缩时编码压缩方法
CN114979763A (zh) * 2022-04-13 2022-08-30 深圳市有为信息技术发展有限公司 视频回放时的播放控制方法和装置、视频回放系统

Similar Documents

Publication Publication Date Title
USRE48360E1 (en) Method and apparatus for providing trick play service
EP3038367B1 (en) Streaming encoded video data
US7835439B2 (en) Video compression system
US20100242066A1 (en) Method of Performing Random Seek Preview for Streaming Video
US20140109156A1 (en) Method, terminal, server and system for playing media file
US11438645B2 (en) Media information processing method, related device, and computer storage medium
JP2001204001A (ja) 動画像配信システム,再生端末装置,及び配信装置
EP1235435B1 (en) Method for the decoding of video data in first and second formats
CN111726657A (zh) 直播视频的播放处理方法、装置及服务器
CN112291591A (zh) 一种视频数据回放方法、电子设备和存储介质
CN102196249A (zh) 监控数据回放方法及编码器、视频管理服务器
US20110276662A1 (en) Method of constructing multimedia streaming file format, and method and apparatus for servicing multimedia streaming using the multimedia streaming file format
US20130215956A1 (en) Video system for displaying image data, method and computer program
CN110798713B (zh) 时移电视点播方法、终端、服务器及系统
CN106534137B (zh) 媒体流传输方法及装置
CN112702632B (zh) 直播节目注入方法、装置、系统、存储介质和计算机设备
CN113873271B (zh) 视频流播放方法、装置和存储介质及电子设备
CN112351277B (zh) 一种视频的编码方法和装置,视频的解码方法和装置
CN112954483B (zh) 数据传输方法、系统及非易失性存储介质
CN117579843B (zh) 视频编码处理方法及电子设备
US20240171809A1 (en) Progress content view processing method, apparatus, and system
CN116684695A (zh) 一种无插件音视频播放方法、系统、装置及可读介质
CN110769281A (zh) 一种共享音视频的方法及装置
CN117729392A (zh) 一种商品信息展示方法、装置、计算机设备及介质
CN114760486A (zh) 直播方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210129