CN114302180B - 视频单帧播放方法、设备、服务器、系统及存储介质 - Google Patents
视频单帧播放方法、设备、服务器、系统及存储介质 Download PDFInfo
- Publication number
- CN114302180B CN114302180B CN202111680743.4A CN202111680743A CN114302180B CN 114302180 B CN114302180 B CN 114302180B CN 202111680743 A CN202111680743 A CN 202111680743A CN 114302180 B CN114302180 B CN 114302180B
- Authority
- CN
- China
- Prior art keywords
- frame
- playing
- target
- request
- server
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000004044 response Effects 0.000 claims description 12
- 230000006870 function Effects 0.000 abstract description 13
- 230000008569 process Effects 0.000 description 8
- 230000003139 buffering effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000012552 review Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明公开了一种视频单帧播放方法、设备、服务器、系统及存储介质,属于播放领域。其中,方法包括:响应于用户操作,生成目标帧拉取请求;发送所述目标帧拉取请求至服务器,以使所述服务器基于所述目标帧拉取请求,获得至少一个目标视频帧,并发送目标视频帧至所述电子设备显示输出。本发明降低了单帧播放功能的内存占用率,提高了带宽利用率,能够给予用户更好的播放体验。
Description
技术领域
本发明涉及视频单帧播放领域,尤其涉及视频单帧播放方法、设备、服务器、系统及存储介质。
背景技术
传统的专业安防摄像头领域,倍速播放模式下的单帧进和单帧退的播放是一个非常实用的需求。这个功能在本地播放时比较容易实现,因为所有的关键帧都在本地。无论正向播放还是回退播放,只要在文件中找到对应的关键帧读取既可以了。而在目前的网络播放模型中,倍速播放通常是由播放器端发送倍速播放请求到服务端,服务端将检索到的关键视频帧推送到播放器这一侧的。现有技术方案中常用单帧播放实现方法是,在倍速播放时建立一个额外缓冲,用于缓冲之前已经完成播放的帧。
这种方法比较依赖于缓冲的大小,而且无论用户是否在用这个单帧功能,这个额外缓冲都必须一直存在,对于内存紧张的嵌入式设备或者手机这个功能就很难实现,所以单帧播放功能在消费类产品中很少见,而通常出现在一些专业的安防领域。而且无论如何实现,缓冲都是有限的,造成如果改变单帧方向的话,要么需要重新缓冲,导致带宽浪费和卡顿,要么只能回退现有缓冲的最大帧数,对用户产生体验上的影响。
发明内容
本发明的主要目的在于提供一种视频单帧播放方法、设备、服务器、系统及存储介质,旨在解决在低内存占用的情况下实现流畅而且不受帧数限制的单帧播放体验。
为实现上述目的,本发明提供一种视频单帧播放方法,用于电子设备,所述电子设备与服务器连接,所述方法包括以下步骤:
响应于用户操作,生成目标帧拉取请求;
发送所述目标帧拉取请求至服务器,以使所述服务器基于所述目标帧拉取请求,获得至少一个目标视频帧,并发送目标视频帧至所述电子设备;
输出至少一个所述目标视频帧。
可选地,响应于用户操作,生成目标帧拉取请求的步骤,具体包括:
响应于用户操作,获取播放倍速、播放方向、起播时间以及请求帧数;
基于播放倍速、播放方向、起播时间以及请求帧数,生成所述目标帧拉取请求;
所述发送所述目标帧拉取请求至服务器,以使所述服务器基于所述目标帧拉取请求,确定至少一个目标视频帧,并发送至少一个所述目标视频帧至所述电子设备的步骤,具体包括:
发送所述目标帧拉取请求至服务器,以使所述服务器基于所述起播时间确定播放起始帧、并从播放起始帧根据播放倍数沿播放方向按请求帧数确定至少一个第一目标视频帧,并发送所述第一目标视频帧至所述电子设备。
可选地,响应于用户操作,生成目标帧拉取请求的步骤,具体包括:
响应于用户反向播放操作,获取播放倍速、当前播放方向、当前视频帧对应的时间戳以及请求帧数;
基于播放倍速、当前播放方向、当前视频帧对应的时间戳以及请求帧数,生成所述目标帧拉取请求;
所述发送所述目标帧拉取请求至服务器,以使所述服务器基于所述目标帧拉取请求,确定至少一个目标时间戳,以及目标时间戳对应的至少一个目标视频帧,并发送目标视频帧以及目标视频帧对应的时间戳至所述电子设备的步骤,具体包括:
发送所述目标帧拉取请求至服务器,以使所述服务器基于当前显示视频帧对应的时间戳确定当前播放帧,从当前播放帧根据播放倍数沿当前播放方向的反方向按请求帧数确定至少一个第二目标视频帧,并发送至少一个所述第二目标视频帧至所述电子设备。
此外,为实现上述目的,本发明还提供一种视频单帧播放方法,用于服务器,所述服务器与电子设备连接,所述方法包括:
接收所述电子设备发送的目标帧拉取请求;
确定所述目标帧拉取请求对应的至少一个目标视频帧;
发送目标视频帧至所述电子设备,以使所述电子设备输出至少一个所述目标视频帧。
可选地,所述目标帧拉取请求,具体包括:播放倍速、播放方向、起播时间以及请求帧数;
所述基于所述目标帧拉取请求确定至少一个目标视频帧的步骤,具体包括:
基于所述目标帧拉取请求中起播时间确定播放起始帧、并从播放起始帧根据播放倍数沿播放方向按请求帧数确定至少一个第一目标视频帧。
可选地,所述目标帧拉取请求,具体包括:播放倍速、当前播放方向、当前视频帧对应的时间戳以及请求帧数;
所述基于所述目标帧拉取请求获取至少一个目标视频帧的步骤,具体包括:
基于所述目标帧拉取请求中当前显示视频帧对应的时间戳确定当前播放帧,从当前播放帧根据播放倍数沿当前播放方向的反方向按请求帧数确定至少一个第二目标视频帧。
此外,为实现上述目的,本发明还提供一种视频单帧播放设备,所述视频单帧播放设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的视频单帧播放程序,所述视频单帧播放程序被所述处理器执行时实现如上述的视频单帧播放方法在电子设备端的步骤。
此外,为实现上述目的,本发明还提供一种服务器,所述服务器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的视频单帧播放程序,所述视频单帧播放程序被所述处理器执行时实现如前述的视频单帧播放方法在服务器端的步骤。
此外,为实现上述目的,本发明还提供一种视频单帧播放系统,所述系统包括:
多个前述的电子设备,以及与多个电子设备连接的如前述的服务器。
此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机可读存储介质上存储有视频单帧播放程序,所述视频单帧播放程序被处理器执行时实现如上述视频单帧播放方法的步骤。
本发明实施例提出的一种视频单帧播放方法、设备、服务器、系统及存储介质,用于电子设备,所述电子设备与服务器连接,其中方法包括:若处在倍速播放模式下,响应于用户单帧操作,生成目标帧拉取请求;发送所述目标帧拉取请求至服务器,以使所述服务器基于所述目标帧拉取请求,获得至少一个目标视频帧,并发送目标视频帧至所述电子设备;输出至少一个所述目标视频帧。由此,本发明通过电子设备在播放过程中主动向服务器实时拉取少量视频帧,并播放该视频帧,降低了内存占用率,减少了带宽浪费,提高了播放流畅度和用户体验。
附图说明
图1为本发明视频单帧播放系统第一实施例结构示意图;
图2为本发明电子设备或服务器结构示意图;
图3为本发明视频单帧播放方法第一实施例流程示意图;
图4为本发明视频单帧播放方法第二实施例流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:若视频单帧播放设备处在倍速播放模式下,响应于用户单帧操作,生成目标帧拉取请求;发送所述目标帧拉取请求至服务器,以使所述服务器基于所述目标帧拉取请求,获得至少一个目标视频帧,并发送目标视频帧至所述电子设备;输出至少一个所述目标视频帧。
由于现有技术中,在传统的专业安防摄像头领域,倍速播放模式下的单帧进和单帧退的播放是一个非常实用的需求。这个功能在本地播放时比较容易实现,因为所有的关键帧都在本地。无论正向播放还是回退播放,只要在文件中找到对应的关键帧读取既可以了。而在目前的网络播放模型中,倍速播放通常是由播放器端发送倍速播放指令到服务端,服务端将检索到的关键帧推送到播放器这一侧的。这个倍速播放是带方向的,如果不改变方向实现单帧,只需要逐帧播放即可。但是如果方向突然变了,譬如开始是正向单帧播放,突然往后退几帧。那么通常只有两种实现方案,一种是立刻把当前已经推送过来的帧(缓冲的帧)丢弃,重新以当前播放时间发起反方向的倍速播放。另外一种就是在倍速播放时建立一个额外缓冲,用于缓冲之前已经完成播放的帧,这样回退时从这个缓冲里面找到需要的关键帧来播放。
在倍速播放时需要建立一个额外缓冲,用于缓冲之前已经完成播放的帧,这种方法比较依赖于缓冲的大小,而且无论用户是不是使用这个单帧功能,这个额外缓冲都必须一直存在,对于内存紧张的嵌入式设备或者手机这个功能就很难实现,所以单帧播放功能在消费类产品中很少见,而通常出现在一些专业的安防领域。而且无论如何实现,缓冲都是有限的,造成如果改变单帧方向的话,要么需要重新缓冲,导致带宽浪费和卡顿,要么只能回退现有缓冲的最大帧数,对用户产生体验上的影响。
本发明提供一种解决方案,利用电子设备在倍速播放模式下,响应于用户单帧操作,向服务器发送目标帧拉取请求,以使所述服务器反馈至少一帧视频帧,并播放相应视频帧,即电子设备在播放过程中主动向服务器实时拉取少量视频帧,并播放该视频帧,降低了单帧播放功能的内存占用率,提高了带宽利用率,能够给予用户更好的播放体验。
参照图1,图1为本发明视频单帧播放系统第一实施例结构示意图,如图1所示,该系统可以包括服务器11、网络12以及电子设备13。
服务器11可以是物理PC服务器,主机集群承载的虚拟服务器甚至是一台嵌入式服务器。在运行过程中,服务器11可以运行视频播放方法的服务器侧的程序,以实现该方法的相关业务功能。
网络12可以包括多种类型的有线或无线网络。在一实施例中,该网络12可以包括公共交换电话网络(Public Switched Telephone Network,PSTN)和因特网。在另一实施例中,该网络12还可以包括无线保真网络(WIreless-FIdelity,WIFI)。电子设备13可以通过网络12与服务器11实现交互。
电子设备13可以包括:智能手机、平板设备、笔记本电脑、掌上电脑(PDAs,Personal Digital Assistants)等,本说明书一个或多个实施例并不对此进行限制。在运行过程中,电子设备13可以运行视频单帧播放方法的电子设备侧的程序,以实现该方法的相关业务功能。
基于上述系统,参见图2,图2为本发明电子设备或服务器结构示意图,
该电子设备或服务器可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图2中示出的结构并不构成对电子设备或服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图2所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及电子程序。
在图2所示的电子设备或服务器中,网络接口1004主要用于与服务器或电子设备进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备或服务器中的处理器1001、存储器1005可以设置在电子设备或服务器中,所述电子设备或服务器通过处理器1001调用存储器1005中存储的视频单帧播放程序,并执行本发明实施例提供的视频单帧播放方法。
基于上述电子设备,本发明提供一种视频单帧播放方法,参照图3,图3为本发明视频单帧播放方法第一实施例流程示意图。
所述方法包括:
步骤S11,响应于用户操作,生成目标帧拉取请求;
其中,可以理解,用户操作可包括顺向播放操作或者逆向播放操作。
进一步地,由于电子设备还可处在倍速播放模式下,故而顺向播放操作可包括,顺向二倍速播放操作、顺向四倍速播放操作或顺向八倍速播放操作等。逆向播放操作可包括逆向二倍速播放操作、逆向四倍速播放操作或逆向八倍速播放操作等。
需要说明的是,正常播放的播放倍数为顺向一倍速。
更进一步地,目标帧拉取请求可包括,播放方向以及此次请求需要服务器返回的帧数,具体地,该帧数由电子设备与服务器之间的网络状态决定。例如,在网络状态为网络信号差的情况下需要服务器返回的帧数可为4,在网络状态为网络信号一般的情况下需要服务器返回的帧数可为3,在网络状态为网络信号良好的情况下需要服务器返回的帧数可为2,在网络状态为优的情况下需要服务器返回的帧数可为1。帧数越大,对应需要的缓冲也就越大,但是能够提供更好的抗网络抖动的特性。
在本实施例中,当电子设备接收到用户发送的顺向单帧播放操作或逆向单帧播放操作后,根据用户操作以及网络状态生成目标帧拉取请求。
步骤S12,发送所述目标帧拉取请求至服务器,以使所述服务器基于所述目标帧拉取请求,获得至少一个目标视频帧,并发送目标视频帧至所述电子设备;
其中,电子设备可通过无线网络或有线网络发送目标帧拉取请求至服务器。
可以理解,服务器接收到目标帧拉取请求后,基于目标帧拉取请求中的用户操作,确定用户操作对应的播放方向,并确定出目标帧与当前帧的时间戳关系,例如,当用户操作为顺向播放操作时,播放方向则为顺向,目标帧的时间戳应在当前帧的时间戳之后。
需要说明的是,在对视频编码的过程中,对每一个视频帧根据FPS(每秒传输帧数)对应绑定一个时间戳,例如,当FPS为25时,视频第一帧的时间戳为0,第二帧的时间戳为40ms,第三帧的时间戳为80ms。
在本实施例中,通过电子设备发送所述目标帧拉取请求至服务器,以使所述服务器基于所述目标帧拉取请求,确定出目标帧与当前帧的时间戳关系,获得至少一个目标视频帧,并发送目标视频帧至所述电子设备。
步骤S13,输出至少一个所述目标视频帧。
在本实施例中,电子设备可根据目标视频帧对应的时间戳按照播放方向输出所述目标视频帧。例如,当播放方向为逆向播放时,按80ms、40ms、0的顺序输出对应的视频帧;当播放方向为顺向播放时,按0、40ms、80ms的顺序输出对应的视频帧。
在本实施例中,电子设备响应于用户操作,生成目标帧拉取请求;发送所述目标帧拉取请求至服务器,以使所述服务器基于所述目标帧拉取请求,获得至少一个目标视频帧,并发送目标视频帧至所述电子设备;输出至少一个所述目标视频帧。由此,本实施例利用电子设备在倍速播放模式下,响应于用户单帧操作,向服务器发送目标帧拉取请求,以使所述服务器反馈至少一帧视频帧,并播放相应视频帧,即电子设备在播放过程中主动向服务器实时拉取少量视频帧,并播放该视频帧,降低了单帧播放功能的内存占用率,提高了带宽利用率,能够给予用户更好的播放体验。
基于上述实施例,作为一种可选实施方式,本发明视频单帧播放方法可用于监控视频的回看,步骤S11,具体包括:
步骤S1101,响应于用户操作,获取播放倍速、播放方向、起播时间以及请求帧数;
其中,监控视频回看业务来说,用户可以在视频单帧播放页面上面选择一个开始观看的时间点,这就是起播时间。
播放倍速和播放方向为当前用户在电子设备上面选择的倍速和方向。
请求帧数由电子设备与服务器之间的网络状态决定,网络状态的获取可以有多种方案,譬如检测是不是在内网,或者通过历史下载带宽来判断。
在本实施例中,通过用户操作确定出播放倍速、播放方向以及起播时间,并根据网络状态确定请求帧数。
步骤S1102,基于播放倍速、播放方向、起播时间以及请求帧数,生成所述目标帧拉取请求;
在本实施例中,所述电子设备基于播放倍速、起播时间以及请求帧数目标帧拉取请求。
步骤12,具体包括:
步骤S1201,发送所述目标帧拉取请求至服务器,以使所述服务器基于所述起播时间确定播放起始帧、并从播放起始帧根据播放倍数沿播放方向按请求帧数确定至少一个第一目标视频帧,并发送所述第一目标视频帧至所述电子设备。
在本实施例中电子设备发送所述目标帧拉取请求至所述服务器,服务器接收到所述目标帧拉取请求后,通过拉取请求中的起播时间找到第一个关键视频帧。通常,监控回看服务器都会维护一个时间和关键视频帧位置的所应表,通过查询这个索引表可以定位到请求需要的第一个关键视频帧的位置。如果请求中包含的请求帧数不为1的话,服务器会根据播放倍速和播放方向,往前或者往后找到下一个关键视频帧,并以此类推找到所有需要返回的视频帧。譬如,服务器端设定倍速播放的帧率为2,也就是正常一倍速播放时应该500ms显示一帧,当我们找到的第一个关键视频帧后,它的时间戳(PTS)为10000ms,那么顺向2倍速意味着下一个关键视频帧的时间戳是最接近10000(前一帧时间戳)+2*500这个时间戳值的视频关键帧。如果是n倍速,则对应查找的时间戳为:10000(前一帧时间戳)+n*500,如果是反向的,那么对应查找关键帧的时间戳为:10000(前一帧时间戳)-n*500。通过这种方法,服务器端可以找到所有设备端需要的关键视频帧。
如果用户在顺向播放过程中,突然选择反向播放,这时可以通过获取当前正在显示视频帧的时间戳来取代起播时间作为另一种可选实施方式,步骤S11,具体包括:
步骤S1111,若处在倍速播放模式下,响应于用户反向播放操作,获取播放倍速、当前播放方向、当前视频帧对应的时间戳以及请求帧数;
其中,当前视频帧对应的时间戳(PTS)要从播放器中获取到。
同样,播放方向和播放倍速是用户选择的。
请求帧数是由网络状态决定的。
步骤S12,具体包括:
步骤S1211,发送所述目标帧拉取请求至服务器,以使所述服务器基于当前显示视频帧对应的时间戳确定当前播放帧,从当前播放帧根据播放倍数沿当前播放方向的反方向按请求帧数确定至少一个第二目标视频帧,并发送至少一个所述第二目标视频帧至所述电子设备。
在本实施例中电子设备发送所述目标帧拉取请求至所述服务器,服务器接收到所述目标帧拉取请求后,根据拉取请求中当前视频帧对应的时间戳,直接定位到第一个关键视频帧的位置。如果请求中包含的请求帧数不为1的话,服务器会根据播放倍速和播放方向,往前或者往后找到下一个关键视频帧,并以此类推找到所有需要返回的视频帧。查找下一个关键视频帧的公式为:
如果是顺向:
下一帧时间戳=当前帧时间戳+倍数*帧间隔
如果是反向:
下一帧时间戳=当前帧时间戳-倍数*帧间隔
其中,帧间隔由服务器端播放帧率决定,譬如如果帧率为2,那么帧间隔就是500ms,帧率为4,那么帧间隔就是250ms。
基于上述服务器,本发明还提供一种视频播放方法,参见图4,图4为本发明视频播放方法第二实施例流程示意图,所述方法包括:
步骤S21,接收所述电子设备发送的目标帧拉取请求;
其中,电子设备处在倍速播放模式下,接收到用户发送的顺向播放操作或逆向播放操作后,根据用户操作以及网络状态生成目标帧拉取请求,并通过无线网络或有线网络发送目标帧拉取请求至服务器。
步骤S22,确定所述目标帧拉取请求对应的至少一个目标视频帧;
服务器接收到目标帧拉取请求后,基于目标帧拉取请求中的用户操作,确定用户操作对应的播放方向,并确定出目标帧与当前帧的时间戳关系,例如,当用户操作为顺向播放操作时,播放方向则为顺向,目标帧的时间戳应在当前帧的时间戳之后。需要说明的是,在对视频编码的过程中,对每一个视频帧根据FPS(每秒传输帧数)对应绑定一个时间戳,例如,当FPS为25时,视频第一帧的时间戳为0,第二帧的时间戳为40ms,第三帧的时间戳为80ms。在本实施例中,通过获取目标视频帧对应的时间戳确定目标视频帧。
步骤S23,发送目标视频帧至所述电子设备,以使所述电子设备输出至少一个所述目标视频帧。
其中,服务器可通过无线网络或有线网络发送目标视频帧至所述电子设备,电子设备可根据目标视频帧对应的时间戳按照播放方向输出所述目标视频帧。例如,当播放方向为逆向播放时,按80ms、40ms、0的顺序输出对应的视频帧;当播放方向为顺向播放时,按0、40ms、80ms的顺序输出对应的视频帧。
在本实施例中,所述服务器接收所述电子设备发送的目标帧拉取请求,确定所述目标帧拉取请求对应的至少一个目标视频帧,并发送目标视频帧至所述电子设备;输出至少一个所述目标视频帧。由此,本发明利用电子设备在倍速播放模式下,响应于用户操作,向服务器发送目标帧拉取请求,以使所述服务器反馈至少一帧视频帧,并播放相应视频帧,即电子设备在播放过程中主动向服务器实时拉取少量视频帧,并播放该视频帧,降低了内存占用率,提高了播放流畅度。
基于上述实施例,作为一种可选实施方式,本发明视频播放方法播放的视频可为监控视频,所述目标帧拉取请求,具体包括:播放倍速、起播时间以及请求帧数;其中,所述起播时间对应有时间戳;
步骤S22,具体包括:
步骤S2201,基于所述目标帧拉取请求中起播时间确定播放起始帧、并从播放起始帧根据播放倍数往播放方向上按请求帧数进行查找,确定至少一个第一目标视频帧。
接收到所述目标帧拉取请求后,通过拉取请求中的起播时间找到第一个关键视频帧。通常,监控回看服务器都会维护一个时间和关键视频帧位置的所应表,通过查询这个索引表可以定位到请求需要的第一个关键视频帧的位置。如果请求中包含的请求帧数不为1的话,服务器会根据播放倍速和播放方向,往前或者往后找到下一个关键视频帧,并以此类推找到所有需要返回的视频帧。譬如,服务器端设定倍速播放的帧率为2,也就是正常一倍速播放时应该500ms显示一帧,当我们找到的第一个关键视频帧后,它的时间戳(PTS)为10000ms,那么顺向2倍速意味着下一个关键视频帧的时间戳是最接近10000(前一帧时间戳)+2*500这个时间戳值的视频关键帧。如果是n倍速,则对应查找的时间戳为:10000(前一帧时间戳)+n*500,如果是反向的,那么对应查找关键帧的时间戳为:10000(前一帧时间戳)-n*500。通过这种方法,服务器端可以找到所有设备端需要的关键视频帧。
可以理解,在用户做出反向播放操作后,视频帧的播放方向会发生变化,此时播放的视频帧对应的时间戳没有对应一个具体的时间,作为另一种可选实施方式,所述目标帧拉取请求,具体包括:播放倍速、当前播放方向、当前视频帧对应的时间戳以及请求帧数;
步骤S22,具体包括:
步骤S2211,基于所述当前播放帧对应的时间戳、播放倍速、当前播放方向以及请求帧数,沿与当前播放方向相反的方向确定出至少一个第二目标视频帧。
本实施例中,服务器接收到所述目标帧拉取请求后,根据拉取请求中当前视频帧对应的时间戳,直接定位到第一个关键视频帧的位置。如果请求中包含的请求帧数不为1的话,服务器会根据播放倍速和播放方向,往前或者往后找到下一个关键视频帧,并以此类推找到所有需要返回的视频帧。查找下一个关键视频帧的公式为:
如果是顺向:
下一帧时间戳=当前帧时间戳+倍数*帧间隔
如果是反向:
下一帧时间戳=当前帧时间戳-倍数*帧间隔
其中,帧间隔由服务器端播放帧率决定,譬如如果帧率为2,那么帧间隔就是500ms,帧率为4,那么帧间隔就是250ms。
需要说明的是,时间戳间隔为两帧视频帧对应的时间戳之间的差值。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有视频单帧播放程序,所述视频单帧播放程序被处理器执行时实现如前方法实施例所述的视频单帧播放方法的步骤。因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。确定为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种视频单帧播放方法,其特征在于,用于电子设备,所述电子设备与服务器连接,所述方法包括以下步骤:
响应于用户操作,生成目标帧拉取请求;
发送所述目标帧拉取请求至服务器,以使所述服务器基于所述目标帧拉取请求,确定至少一个目标视频帧,并发送至少一个所述目标视频帧至所述电子设备;
输出至少一个所述目标视频帧;
所述响应于用户操作,生成目标帧拉取请求的步骤,具体包括:
响应于用户操作,获取播放倍速、播放方向、起播时间以及请求帧数;所述请求帧数为需要所述服务器返回的帧数,基于所述电子设备与所述服务器之间的网络状态确定;
基于播放倍速、播放方向、起播时间以及请求帧数,生成所述目标帧拉取请求;
所述发送所述目标帧拉取请求至服务器,以使所述服务器基于所述目标帧拉取请求,确定至少一个目标视频帧,并发送至少一个所述目标视频帧至所述电子设备的步骤,具体包括:
发送所述目标帧拉取请求至服务器,以使所述服务器基于所述起播时间确定播放起始帧、并从播放起始帧根据所述播放倍速沿所述播放方向按所述请求帧数确定至少一个第一目标视频帧,并发送至少一个所述第一目标视频帧至所述电子设备;其中,所述播放倍速用于在请求帧数大于1时确定播放起始帧之外的其他第一目标视频帧;
所述输出至少一个所述目标视频帧包括:
根据所述目标视频帧对应的时间戳,按所述播放方向输出至少一个所述第一目标视频帧。
2.一种视频单帧播放方法,其特征在于,用于电子设备,所述电子设备与服务器连接,所述方法包括以下步骤:
响应于用户操作,生成目标帧拉取请求;
发送所述目标帧拉取请求至服务器,以使所述服务器基于所述目标帧拉取请求,确定至少一个目标视频帧,并发送至少一个所述目标视频帧至所述电子设备;
输出至少一个所述目标视频帧;
所述响应于用户操作,生成目标帧拉取请求的步骤,具体包括:
响应于用户反向播放操作,获取播放倍速、当前播放方向、当前显示视频帧对应的时间戳以及请求帧数;所述请求帧数为需要所述服务器返回的帧数,基于所述电子设备与所述服务器之间的网络状态确定;
基于播放倍速、当前播放方向、当前显示视频帧对应的时间戳以及请求帧数,生成目标帧拉取请求;
所述发送所述目标帧拉取请求至服务器,以使所述服务器基于所述目标帧拉取请求,确定至少一个目标视频帧,并发送至少一个所述目标视频帧至所述电子设备的步骤,具体包括:
发送所述目标帧拉取请求至服务器,以使所述服务器基于所述当前显示视频帧对应的时间戳确定当前播放帧,从当前播放帧根据所述播放倍速沿所述当前播放方向的反方向按所述请求帧数进行查找,确定至少一个第二目标视频帧,并发送至少一个所述第二目标视频帧至所述电子设备;其中,所述播放倍速用于在请求帧数大于1时确定播放起始帧之外的其他第二目标视频帧;
所述输出至少一个所述目标视频帧包括:
根据所述目标视频帧对应的时间戳,按所述当前播放方向的反方向输出至少一个所述第二目标视频帧。
3.一种视频单帧播放方法,其特征在于,用于服务器,所述服务器与电子设备连接,所述方法包括:
接收所述电子设备发送的目标帧拉取请求;所述目标帧拉取请求基于所述电子设备响应于用户操作生成;
确定所述目标帧拉取请求对应的至少一个目标视频帧;
发送至少一个所述目标视频帧至所述电子设备,以使所述电子设备输出至少一个所述目标视频帧;
所述目标帧拉取请求基于所述电子设备响应于用户操作生成,具体包括:
基于所述电子设备响应于用户操作,获取播放方向、播放倍速、起播时间以及请求帧数,并基于播放倍速、播放方向、起播时间以及请求帧数生成;所述请求帧数为需要所述服务器返回的帧数,基于所述电子设备与所述服务器之间的网络状态确定;
所述基于所述目标帧拉取请求确定至少一个目标视频帧的步骤,具体包括:
基于所述目标帧拉取请求中所述起播时间确定播放起始帧、并从播放起始帧根据所述播放倍速往所述播放方向上按所述请求帧数进行查找,确定至少一个第一目标视频帧;其中,所述播放倍速用于在请求帧数大于1时确定播放起始帧之外的其他第一目标视频帧;
所述发送至少一个所述目标视频帧至所述电子设备,以使所述电子设备输出至少一个所述目标视频帧,具体包括:
发送至少一个所述第一目标视频帧至所述电子设备,以使所述电子设备根据所述目标视频帧对应的时间戳,按所述播放方向输出至少一个所述第一目标视频帧。
4.一种视频单帧播放方法,其特征在于,用于服务器,所述服务器与电子设备连接,所述方法包括:
接收所述电子设备发送的目标帧拉取请求;所述目标帧拉取请求基于所述电子设备响应于用户操作生成;
确定所述目标帧拉取请求对应的至少一个目标视频帧;
发送至少一个所述目标视频帧至所述电子设备,以使所述电子设备输出至少一个所述目标视频帧;
所述目标帧拉取请求基于所述电子设备响应于用户操作生成,具体包括:
基于所述电子设备响应于用户操作,获取播放倍速、当前播放方向、当前视频帧对应的时间戳以及请求帧数,并基于播放倍速、当前播放方向、当前显示视频帧对应的时间戳以及请求帧数生成;所述请求帧数为需要所述服务器返回的帧数,基于所述电子设备与所述服务器之间的网络状态确定;
所述基于所述目标帧拉取请求获取至少一个目标视频帧的步骤,具体包括:
基于所述目标帧拉取请求中所述当前显示视频帧对应的时间戳确定当前播放帧,从当前播放帧根据所述播放倍速往所述当前播放方向的反方向上按所述请求帧数进行查找,确定至少一个第二目标视频帧;其中,所述播放倍速用于在请求帧数大于1时确定播放起始帧之外的其他第二目标视频帧;
所述发送至少一个所述目标视频帧至所述电子设备,以使所述电子设备输出至少一个所述目标视频帧,具体包括:
发送至少一个所述第二目标视频帧至所述电子设备,以使所述电子设备根据所述目标视频帧对应的时间戳,按所述当前播放方向的反方向输出至少一个所述第二目标视频帧。
5.一种电子设备,其特征在于,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的视频单帧播放程序,所述视频单帧播放程序被所述处理器执行时实现如权利要求1或2的视频单帧播放方法的步骤。
6.一种服务器,其特征在于,所述服务器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的视频单帧播放程序,所述视频单帧播放程序被所述处理器执行时实现如权利要求3或4的视频单帧播放方法的步骤。
7.一种视频单帧播放系统,其特征在于,所述系统包括:
多个如权利要求5所述电子设备,以及与多个所述电子设备连接的如权利要求6所述服务器。
8.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有视频单帧播放程序,所述视频单帧播放程序被处理器执行时实现如权利要求1-4中任一项的视频单帧播放方法的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202111680743.4A CN114302180B (zh) | 2021-12-31 | 2021-12-31 | 视频单帧播放方法、设备、服务器、系统及存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202111680743.4A CN114302180B (zh) | 2021-12-31 | 2021-12-31 | 视频单帧播放方法、设备、服务器、系统及存储介质 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN114302180A CN114302180A (zh) | 2022-04-08 |
| CN114302180B true CN114302180B (zh) | 2024-02-06 |
Family
ID=80974852
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202111680743.4A Active CN114302180B (zh) | 2021-12-31 | 2021-12-31 | 视频单帧播放方法、设备、服务器、系统及存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN114302180B (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114666603B (zh) * | 2022-05-06 | 2024-05-03 | 厦门美图之家科技有限公司 | 一种视频解码方法、装置、电子设备及存储介质 |
Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7231138B1 (en) * | 2001-11-26 | 2007-06-12 | Nvidia Corporation | Method and system for DVD single frame stepping backwards |
| CN103369351A (zh) * | 2012-03-29 | 2013-10-23 | 深圳市龙视传媒有限公司 | 一种流媒体快进快退的处理方法、视频服务器及系统 |
| CN104394426A (zh) * | 2014-12-10 | 2015-03-04 | 福建星网锐捷网络有限公司 | 流媒体倍速播放方法和装置 |
| CN104639954A (zh) * | 2013-11-06 | 2015-05-20 | 北京航天长峰科技工业集团有限公司 | 一种基于硬盘录像机的视频倒序回查方法 |
| CN106200998A (zh) * | 2016-07-06 | 2016-12-07 | 北京小米移动软件有限公司 | 播放控制方法及装置 |
| CN106385620A (zh) * | 2016-10-25 | 2017-02-08 | 浙江红苹果电子有限公司 | 一种基于流媒体的数据平滑输出方法 |
| CN111526404A (zh) * | 2020-04-27 | 2020-08-11 | 杭州海康威视系统技术有限公司 | 单帧播放方法、装置、设备以及存储介质 |
| CN112040274A (zh) * | 2020-09-10 | 2020-12-04 | 杭州叙简科技股份有限公司 | 一种基于webrtc的网页视频单帧播放方法 |
| CN112492345A (zh) * | 2020-11-25 | 2021-03-12 | 深圳创维数字技术有限公司 | 音视频存储方法、系统、终端和计算机可读存储介质 |
| CN113596518A (zh) * | 2021-08-13 | 2021-11-02 | 北京中电兴发科技有限公司 | 一种用于提升倍速播放性能的视频存取方法 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5295381B2 (ja) * | 2009-10-27 | 2013-09-18 | キヤノン株式会社 | 映像再生装置及び映像再生装置の制御方法 |
| WO2018125590A1 (en) * | 2016-12-30 | 2018-07-05 | Tivo Solutions Inc. | Advanced trick-play modes for streaming video |
-
2021
- 2021-12-31 CN CN202111680743.4A patent/CN114302180B/zh active Active
Patent Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7231138B1 (en) * | 2001-11-26 | 2007-06-12 | Nvidia Corporation | Method and system for DVD single frame stepping backwards |
| CN103369351A (zh) * | 2012-03-29 | 2013-10-23 | 深圳市龙视传媒有限公司 | 一种流媒体快进快退的处理方法、视频服务器及系统 |
| CN104639954A (zh) * | 2013-11-06 | 2015-05-20 | 北京航天长峰科技工业集团有限公司 | 一种基于硬盘录像机的视频倒序回查方法 |
| CN104394426A (zh) * | 2014-12-10 | 2015-03-04 | 福建星网锐捷网络有限公司 | 流媒体倍速播放方法和装置 |
| CN106200998A (zh) * | 2016-07-06 | 2016-12-07 | 北京小米移动软件有限公司 | 播放控制方法及装置 |
| CN106385620A (zh) * | 2016-10-25 | 2017-02-08 | 浙江红苹果电子有限公司 | 一种基于流媒体的数据平滑输出方法 |
| CN111526404A (zh) * | 2020-04-27 | 2020-08-11 | 杭州海康威视系统技术有限公司 | 单帧播放方法、装置、设备以及存储介质 |
| CN112040274A (zh) * | 2020-09-10 | 2020-12-04 | 杭州叙简科技股份有限公司 | 一种基于webrtc的网页视频单帧播放方法 |
| CN112492345A (zh) * | 2020-11-25 | 2021-03-12 | 深圳创维数字技术有限公司 | 音视频存储方法、系统、终端和计算机可读存储介质 |
| CN113596518A (zh) * | 2021-08-13 | 2021-11-02 | 北京中电兴发科技有限公司 | 一种用于提升倍速播放性能的视频存取方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN114302180A (zh) | 2022-04-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6450029B2 (ja) | 広告プッシュシステム、装置及び方法 | |
| EP2624611B1 (en) | Method and system for visualizing an adaptive screen according to a terminal | |
| CN107454416B (zh) | 视频流发送方法和装置 | |
| US7890985B2 (en) | Server-side media stream manipulation for emulation of media playback functions | |
| WO2017016339A1 (zh) | 视频分享方法和装置、视频播放方法和装置 | |
| US20070223878A1 (en) | Image displaying method and video playback apparatus | |
| CN106658064B (zh) | 虚拟礼物展示方法及装置 | |
| US20110310965A1 (en) | Communication device, communication method, and communication program product | |
| US20090150580A1 (en) | Method and system for computer management | |
| CN110248245A (zh) | 一种视频定位方法、装置、移动终端及存储介质 | |
| CN114189700A (zh) | 直播卡顿提示方法、装置、计算机设备和存储介质 | |
| CN114302180B (zh) | 视频单帧播放方法、设备、服务器、系统及存储介质 | |
| US20110167345A1 (en) | Method and apparatus for selective media download and playback | |
| KR20160002789A (ko) | 읽기 속도에 기반한 정보 전송 | |
| CN115102931B (zh) | 自适应调整音频延迟的方法及电子设备 | |
| WO2022161310A1 (zh) | 显示方法、装置和电子设备 | |
| US20240340507A1 (en) | Methods, systems, and media for streaming video content using adaptive buffers | |
| CN112118473A (zh) | 视频弹幕显示方法、装置、计算机设备及可读存储介质 | |
| CN110825994B (zh) | 页面缓冲的处理方法、装置、计算机设备及存储介质 | |
| CN110333815B (zh) | 触控事件处理方法和装置 | |
| CN113099294A (zh) | 播放控制方法、装置、电子设备及可读存储介质 | |
| CN113766362B (zh) | 远程控制方法、装置、电子设备及存储介质 | |
| US20080235529A1 (en) | Information processing apparatus and cellular phone | |
| US20090125836A1 (en) | Image output device | |
| CN102547204B (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 |