CN104918136A - 视频定位方法和装置 - Google Patents
视频定位方法和装置 Download PDFInfo
- Publication number
- CN104918136A CN104918136A CN201510283557.5A CN201510283557A CN104918136A CN 104918136 A CN104918136 A CN 104918136A CN 201510283557 A CN201510283557 A CN 201510283557A CN 104918136 A CN104918136 A CN 104918136A
- Authority
- CN
- China
- Prior art keywords
- video
- positioning
- position location
- data
- control parameters
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-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/47217—End-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
Abstract
本发明提供了一种视频定位方法和装置,以解决现有的定位方式过程复杂,定位效率低,定位不准确,用户体验差的问题。其中,方法包括:接收用于指示定位位置的数据,获取所述定位位置;确定所述定位位置对应的定位时间戳和定位控制参数;其中,所述定位控制参数用于指示解析播放的视频文件时对应的解析位置;依据所述定位控制参数,获取所述定位时间戳对应的定位视频图像数据;显示所述定位视频图像数据。本发明定位过程简便、效率高,能够更加准确地定位到用户希望的位置,用户体验较高。
Description
技术领域
本发明涉及多媒体技术领域,特别是涉及一种视频定位方法和装置。
背景技术
随着多媒体技术的迅速发展,用户可以通过各种播放终端观看各式各样的视频。用户在观看某个视频时,可能会进行定位预览的操作,其目的是为了快速浏览视频,以定位到自己感兴趣的内容。
在现有技术中,当用户执行定位操作如拖动进度条时,在定位过程中屏幕上显示的画面是静止不动的,或者以非常低的帧率刷新,当用户停止拖动进度条松开手的时候,等待画面刷新完成后屏幕更新为当前进度条位置对应的画面。但是上述方式中,如果屏幕更新为当前进度条位置对应的画面后,用户发现该画面并非自己希望到达的画面,则还需要重复执行上述“拖动→松手”的操作,直至到达用户希望的画面为止。因此,现有的定位方式过程复杂,定位效率低,定位不准确,用户体验差。
发明内容
本发明提供一种视频定位方法和装置,以解决现有的定位方式过程复杂,定位效率低,定位不准确,用户体验差的问题。
为了解决上述问题,本发明公开了一种视频定位方法,包括:
接收用于指示定位位置的数据,获取所述定位位置;
确定所述定位位置对应的定位时间戳和定位控制参数;其中,所述定位控制参数用于指示解析播放的视频文件时对应的解析位置;
依据所述定位控制参数,获取所述定位时间戳对应的定位视频图像数据;
显示所述定位视频图像数据。
优选地,在所述接收用于指示定位位置的数据,获取所述定位位置的步骤之后,还包括:
暂停对所述播放的视频文件对应视频数据的解码,并显示解码得到的最后一帧视频图像数据。
优选地,所述确定所述定位位置对应的定位控制参数的步骤,包括:
获取对所述播放的视频文件对应视频数据进行解码得到的、最后一帧视频图像数据对应的初始位置;
依据所述初始位置与所述定位位置之间的关系,确定所述定位位置对应的定位控制参数。
优选地,所述依据所述初始位置与所述定位位置之间的关系,确定所述定位位置对应的定位控制参数的步骤,包括:
若所述初始位置位于所述定位位置之后,则确定所述定位位置对应的定位控制参数为解析所述定位位置之前、与所述定位位置距离最近的关键帧;
若所述初始位置位于所述定位位置之前,则将所述初始位置和所述定位位置之间的距离与设定的距离阈值进行比较;
当所述距离小于或等于所述距离阈值时,确定定位控制参数为解析所述初始位置的下一帧;
当所述距离大于所述距离阈值时,确定定位控制参数为解析所述定位位置之前、与所述定位位置距离最近的关键帧。
优选地,所述依据所述定位控制参数,获取所述定位时间戳对应的定位视频图像数据的步骤,包括:
依据所述定位控制参数对所述视频文件进行解析,得到当前视频数据;
对当前视频数据进行解码,得到当前视频图像数据和当前视频图像数据对应的当前解码时间戳;
比较当前解码时间戳和所述定位时间戳;
依据当前解码时间戳和所述定位时间戳之间的关系,确定所述定位时间戳对应的定位视频图像数据。
优选地,所述依据当前解码时间戳和所述定位时间戳之间的关系,确定所述定位时间戳对应的定位视频图像数据的步骤,包括:
当当前解码时间戳小于所述定位时间戳时,确定中间控制参数;
依据所述中间控制参数对所述视频文件进行解析,得到当前视频数据,并返回所述对当前视频数据进行解码,得到当前视频图像数据和当前视频图像数据对应的当前解码时间戳的步骤;
当当前解码时间戳大于或等于所述定位时间戳时,确定当前解码时间戳对应的当前视频图像数据为定位视频图像数据。
优选地,所述确定中间控制参数的步骤,包括:
确定中间控制参数为解析当前解码时间戳对应的当前视频图像数据的下一帧。
为了解决上述问题,本发明还公开一种视频定位装置,其特征在于,包括:
接收模块,用于接收用于指示定位位置的数据,获取所述定位位置;
确定模块,用于确定所述定位位置对应的定位时间戳和定位控制参数;其中,所述定位控制参数用于指示解析播放的视频文件时对应的解析位置;
获取模块,用于依据所述定位控制参数,获取所述定位时间戳对应的定位视频图像数据;
显示模块,用于显示所述定位视频图像数据。
优选地,所述装置还包括:
暂停模块,用于在所述接收模块接收用于指示定位位置的数据,获取所述定位位置后,暂停对所述播放的视频文件对应视频数据的解码;
所述显示模块,还用于显示解码得到的最后一帧视频图像数据。
优选地,所述确定模块包括:
位置获取子模块,用于获取对所述播放的视频文件对应视频数据进行解码得到的、最后一帧视频图像数据对应的初始位置;
参数确定子模块,用于依据所述初始位置与所述定位位置之间的关系,确定所述定位位置对应的定位控制参数。
优选地,所述参数确定子模块,具体用于当所述初始位置位于所述定位位置之后时,确定所述定位位置对应的定位控制参数为解析所述定位位置之前、与所述定位位置距离最近的关键帧;当所述初始位置位于所述定位位置之前时,将所述初始位置和所述定位位置之间的距离与设定的距离阈值进行比较;当所述距离小于或等于所述距离阈值时,确定定位控制参数为解析所述初始位置的下一帧;当所述距离大于所述距离阈值时,确定定位控制参数为解析所述定位位置之前、与所述定位位置距离最近的关键帧。
优选地,所述获取模块包括:
文件解析子模块,用于依据所述定位控制参数对所述视频文件进行解析,得到当前视频数据;
视频解码子模块,用于对当前视频数据进行解码,得到当前视频图像数据和当前视频图像数据对应的当前解码时间戳;
时间比较子模块,用于比较当前解码时间戳和所述定位时间戳;
图像确定子模块,用于依据当前解码时间戳和所述定位时间戳之间的关系,确定所述定位时间戳对应的定位视频图像数据。
优选地,所述图像确定子模块,具体用于当当前解码时间戳小于所述定位时间戳时,确定中间控制参数,依据所述中间控制参数对所述视频文件进行解析,得到当前视频数据,并调用所述文件解析子模块;当当前解码时间戳大于或等于所述定位时间戳时,确定当前解码时间戳对应的当前视频图像数据为定位视频图像数据。
优选地,所述图像确定子模块,具体用于确定中间控制参数为解析当前解码时间戳对应的当前视频图像数据的下一帧。
与现有技术相比,本发明包括以下优点:
本发明中,在获取定位位置后,确定定位位置对应的定位时间戳和定位控制参数,并依据定位控制参数获取定位时间戳对应的定位视频图像数据,最后显示定位视频图像数据。一方面由于能够显示定位时间戳对应的定位视频图像数据,因此在定位过程中用户能够直接观看到定位位置对应的视频图像,从而保证用户能够更加直观地了解该视频图像是否为希望定位的图像,而无需等待画面刷新完成且屏幕更新后再进行判别,因此定位过程简便、效率高,并且根据显示的定位位置对应的视频图像能够更加准确地定位到用户希望的位置,用户体验较高;另一方面,依据定位控制参数获取定位视频图像数据,该定位控制参数用于指示解析播放的视频文件时对应的解析位置,根据实际定位位置的不同选用不同的控制参数,因此能够适应实际的定位情况,避免对不必要数据的解析,进一步提高定位效率。
附图说明
图1是本发明实施例一的一种视频定位方法的步骤流程图;
图2是本发明实施例二的一种视频定位方法的步骤流程图;
图3是本发明实施例三的一种视频定位装置的结构框图;
图4是本发明实施例四的一种视频定位装置的结构框图;
图5是本发明实施例五的一种视频播放器的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
参照图1,示出了本发明实施例一的一种视频定位方法的步骤流程图。
本实施例的视频定位方法可以包括以下步骤:
步骤101,接收用于指示定位位置的数据,获取定位位置。
在播放视频的过程中,可以触发视频定位过程,以便将当前播放视频定位到用户希望的位置,定位时播放器可以接收到用于指示定位位置的数据,依据该数据可以获取到对应的定位位置。
步骤102,确定定位位置对应的定位时间戳和定位控制参数。
在获取到上述定位位置后,进一步确定该定位位置对应的定位时间戳和定位控制参数。时间戳是指视频文件中用以表示每一帧视频图像数据显示时间的数据,用于音视频同步、以及根据时间在文件中快速定位。上述定位时间戳用于指示该定位位置处的视频图像数据的显示时间,定位控制参数用于指示解析播放的视频文件时对应的解析位置。
步骤103,依据定位控制参数,获取定位时间戳对应的定位视频图像数据。
步骤104,显示定位视频图像数据。
根据上述定位控制参数所指示的解析播放的视频文件时对应的解析位置,即可获取到定位时间戳对应的定位视频图像数据,然后显示该定位视频图像数据,该定位视频图像数据即为定位位置对应的定位视频图像数据。
本实施例中,一方面由于能够显示定位时间戳对应的定位视频图像数据,因此在定位过程中用户能够直接观看到定位位置对应的视频图像,从而保证用户能够更加直观地了解该视频图像是否为希望定位的图像,而无需等待画面刷新完成且屏幕更新后再进行判别,因此定位过程简便、效率高,并且根据显示的定位位置对应的视频图像能够更加准确地定位到用户希望的位置,用户体验较高;另一方面,依据定位控制参数获取定位视频图像数据,该定位控制参数用于指示解析播放的视频文件时对应的解析位置,根据实际定位位置的不同选用不同的控制参数,因此能够适应实际的定位情况,避免对不必要数据的解析,进一步提高定位效率。
实施例二
参照图2,示出了本发明实施例二的一种视频定位方法的步骤流程图。
本实施例的视频定位方法可以包括以下步骤:
步骤201,接收用于指示定位位置的数据,获取定位位置。
本实施例的视频定位方法中各个步骤可以为视频播放器所执行的步骤,即通过该视频播放器即可实现本实施例所描述的视频定位方法,该视频播放器可以为安装于终端(如智能手机、平板电脑等等)上的视频播放器客户端,也可以为通过在终端上访问网页开启的视频播放器等,实施例对此并不加以限制。当用户想要观看某个视频时,开启对应的视频播放器播放该视频,在视频播放过程中可以执行视频定位过程。本实施例中,可以通过拖动播放界面中的进度条触发视频定位;也可以通过点击播放界面中的快进或快退按钮触发视频定位,还可以通过滑动鼠标触发视频定位,等等,本实施例对此并不加以限制。本实施例主要以拖动播放界面中的进度条触发视频定位为例进行说明,其他情况参照处理即可。
其中,拖动进度条可以实现视频的快进(向前拖动)或快退(向后拖动),在拖动进度条时,视频播放器可以接收到进度条相关信息,该进度条相关信息中包括用于指示定位位置的数据,依据该数据可以获取到对应的定位位置。其中,拖动进度条可以为直接点击进度条中的某一特定位置,则该种情况进度条可以直接定位到该特定位置,定位位置即为该特定位置;拖动进度条还可以为按住进度条并进行拖动,松开后停止拖动,在拖动过程中,可以根据视频播放器所在终端的配置的不同,按照设定的频率自动产生用于指示定位位置的数据,也可以检测拖动过程中的停留时间,当在某一位置的停留时间超过预设阈值时产生用于指示定位位置(即为上述某一位置)的数据,对于上述预设阈值的具体数值,本领域技术人员根据实际经验进行相关设置即可,例如设置为100ms、200ms等,本实施例对此并不加以限制。
步骤202,暂停对播放的视频文件对应视频数据的解码,并显示解码得到的最后一帧视频图像数据。
在播放视频时,首先接收播放的视频文件,该视频文件是经过视频编码的文件。视频编码是指利用视频图像帧之间的相似性通过一定算法将视频数据压缩,以实现视频质量损失可控的前提下,将视频容量大幅减小。视频编码中将图像帧分为I帧(帧内编码帧)、P帧(前向预测编码帧)、B帧(双向预测内插编码帧)三种类型,其中,I帧可以单独解码,但是压缩率较低,P帧和B帧压缩率更高,但是解码时需要依赖前面(或后面)的参考帧,解码延迟较大,关键帧可以近似认为是视频编码中的I帧;然后对视频文件进行解析,得到压缩后的视频数据(即编码的视频数据);再对压缩后的视频数据进行解码,得到对应的视频图像数据;最后播放视频图像数据。对于上述的编码、解析、解码等过程,本领域技术人员根据实际经验进行相关处理即可,本实施例在此不再详细论述。
在接收到用于指示定位位置的数据后,由于此时可能正在对视频文件对应视频数据进行解码,因此可以暂停对播放的视频文件对应视频数据的解码,并显示解码得到的最后一帧视频图像数据,即显示最新解码的视频图像数据。当需要对视频数据进行解码时继续启动解码,如下述步骤204的子步骤c2,当有新的视频图像数据需要显示时更新显示的视频图像,如下述步骤205显示定位视频图像数据。
需要说明的是,此处所描述的对播放的视频文件对应视频数据的解码,可以指在正常播放视频的过程中接收到用于指示定位位置的数据时(即第一次执行定位时)正在执行的解码过程;也可以指在执行定位的过程中接收到用于指示定位位置的数据时正在执行的解码过程(如下述步骤204的子步骤c2),也即如果在解码过程中收到了新的进度条信息,则提前停止解码,直接显示最新的视频图像,并进行下一轮处理,该操作能够保证用户始终能得到最高的图像刷新帧率。
步骤203,确定定位位置对应的定位时间戳和定位控制参数。
一个定位位置对应一帧视频图像数据,每帧视频图像数据对应有其在整个视频中的显示时间,定位时间戳即为定位位置对应的视频图像数据的显示时间。
优选地,该步骤203中确定定位位置对应的定位时间戳的步骤可以包括以下子步骤:
子步骤a1,确定定位位置在播放的视频文件的完整位置中的百分比;
子步骤a2,计算在播放的视频文件的完整时间中为上述百分比的时间,确定该时间对应的时间戳为定位时间戳。
例如,播放的视频文件的完整位置为100,定位位置为20,则定位位置在播放的视频文件的完整位置中的百分比为20%,播放的视频文件的完整时间为120分钟,则计算120分钟的20%对应的时间为24分钟,则24分钟对应的时间戳即为定位时间戳。
定位控制参数用于指示后续解析播放的视频文件时对应的解析位置,即下一次解析视频文件时对应解析其中的哪帧。
优选地,该步骤203中确定定位位置对应的定位控制参数的步骤可以包括以下子步骤:
子步骤b1,获取对播放的视频文件对应视频数据进行解码得到的、最后一帧视频图像数据(即上述步骤202中显示的解码得到的最后一帧视频图像数据)对应的初始位置;
子步骤b2,依据初始位置与定位位置之间的关系,确定定位位置对应的定位控制参数。
优选地,该子步骤b2可以包括:
子步骤b21,若初始位置位于定位位置之后,则确定定位位置对应的定位控制参数为解析定位位置之前、与定位位置距离最近的关键帧;
子步骤b22,若初始位置位于定位位置之前,则将初始位置和定位位置之间的距离与设定的距离阈值进行比较;若距离小于或等于距离阈值则执行子步骤b23,若距离大于距离阈值则执行,子步骤b24;
子步骤b23,当距离小于或等于距离阈值时,确定定位控制参数为解析初始位置的下一帧;
子步骤b24,当距离大于距离阈值时,确定定位控制参数为解析定位位置之前、与定位位置距离最近的关键帧。
上述过程中,若初始位置位于定位位置之后,则表明向前拖动进度条,即需要定位到当前显示视频图像数据的位置(即上述初始位置)之前,该种情况下将按照子步骤b21确定定位控制参数。若初始位置位于定位位置之前,则表明向后拖动进度条,即需要定位到当前显示视频图像数据的位置(即上述初始位置)之后,该种情况下将根据初始位置和定位位置之间的距离情况按照子步骤b22~子步骤b24确定定位控制参数。因此,当初始位置和定位位置之间的距离较远时,将直接解析定位位置之前、与定位位置距离最近的关键帧,也即舍弃初始位置与该关键帧之间的数据,避免不必要的解析过程,从而进一步提高定位效率。
步骤204,依据定位控制参数,获取定位时间戳对应的定位视频图像数据。
依据上述的定位控制参数和定位时间戳,可以获取定位时间戳对应的定位视频图像数据。该定位视频图像数据即为上述定位位置对应的视频图像数据。
优选地,该步骤204可以包括以下步骤:
子步骤c1,依据定位控制参数对视频文件进行解析,得到当前视频数据;
如上述步骤202的描述,视频播放器接收到的视频文件是经过视频编码的文件,当需要播放视频时首先对视频文件进行解析得到视频数据。此处依据定位控制参数对视频文件进行解析,若定位控制参数为解析定位位置之前、与定位位置距离最近的关键帧,则此处对该关键帧进行解析,得到的当前视频数据即为该关键帧对应的视频数据;若定位控制参数为解析初始位置的下一帧,则此处对上述解码得到的最后一帧视频图像数据对应的初始位置的下一帧进行解析,得到的当前视频数据即为该下一帧对应的视频数据。
子步骤c2,对当前视频数据进行解码,得到当前视频图像数据和当前视频图像数据对应的当前解码时间戳;
在子步骤c1得到的当前视频数据为压缩后的视频数据,因此进一步对当前视频数据进行解码,解码后得到当前视频图像数据和当前视频图像数据对应的当前解码时间戳,该当前解码时间戳表示当前视频图像数据的显示时间。
子步骤c3,比较当前解码时间戳和定位时间戳;
比较当前解码时间戳和定位时间戳,即为判断当前视频图像数据的位置是否到达定位位置。
子步骤c4,依据当前解码时间戳和定位时间戳之间的关系,确定定位时间戳对应的定位视频图像数据。
该子步骤c4可以包括:
子步骤c41,当当前解码时间戳小于定位时间戳时,确定中间控制参数;
子步骤c42,依据中间控制参数对视频文件进行解析,得到当前视频数据,并返回子步骤c2;
本实施例中,确定中间控制参数为解析当前解码时间戳对应的当前视频图像数据的下一帧。如果当前解码时间戳小于定位时间戳,则表明还未到达定位位置,因此将继续解析下一帧,得到下一帧对应的视频数据作为当前视频数据,并重复执行子步骤c2~子步骤c4。
子步骤c43,当当前解码时间戳大于或等于定位时间戳时,确定当前解码时间戳对应的当前视频图像数据为定位视频图像数据。
如果当前解码时间戳大于或等于定位时间戳,则表明已到达定位位置,因此可以暂停对视频数据的解码,将当前解码时间戳对应的当前视频图像数据确定为定位视频图像数据,后续显示该定位视频图像数据。
步骤205,显示定位视频图像数据。
上述步骤205得到的定位视频图像数据即为视频播放器接收到的进度条数据指示的定位位置对应的位视频图像数据,因此对该定位视频图像数据进行显示,能够使用户直观地了解定位位置对应的视频图像,进而根据显示的定位位置对应的视频图像更加准确地定位到用户希望的位置。
本实施例中,视频定位过程简便、效率高,并且根据显示的定位位置对应的视频图像能够更加准确地定位到用户希望的位置,用户体验较高;并且,依据定位控制参数获取定位视频图像数据,根据实际定位位置的不同选用不同的控制参数,因此能够适应实际的定位情况,避免对不必要数据的解析,进一步提高定位效率。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
实施例三
参照图3,示出了本发明实施例三的一种视频定位装置的结构框图。
本实施例的视频定位装置可以包括以下模块:
接收模块301,用于接收用于指示定位位置的数据,获取定位位置;
确定模块302,用于确定定位位置对应的定位时间戳和定位控制参数;其中,定位控制参数用于指示解析播放的视频文件时对应的解析位置;
获取模块303,用于依据定位控制参数,获取定位时间戳对应的定位视频图像数据;
显示模块304,用于显示定位视频图像数据。
本实施例中,一方面由于能够显示定位时间戳对应的定位视频图像数据,因此在定位过程中用户能够直接观看到定位位置对应的视频图像,从而保证用户能够更加直观地了解该视频图像是否为希望定位的图像,而无需等待画面刷新完成且屏幕更新后再进行判别,因此定位过程简便、效率高,并且根据显示的定位位置对应的视频图像能够更加准确地定位到用户希望的位置,用户体验较高;另一方面,依据定位控制参数获取定位视频图像数据,该定位控制参数用于指示解析播放的视频文件时对应的解析位置,根据实际定位位置的不同选用不同的控制参数,因此能够适应实际的定位情况,避免对不必要数据的解析,进一步提高定位效率。
实施例四
参照图4,示出了本发明实施例四的一种视频定位装置的结构框图。
本实施例的视频定位装置可以包括以下模块:
接收模块401,用于接收用于指示定位位置的数据,获取定位位置;
确定模块402,用于确定定位位置对应的定位时间戳和定位控制参数;其中,定位控制参数用于指示解析播放的视频文件时对应的解析位置;
获取模块403,用于依据定位控制参数,获取定位时间戳对应的定位视频图像数据;
显示模块404,用于显示定位视频图像数据。
优选地,本实施例的视频定位装置还可以包括:
暂停模块405,用于在接收模块接收用于指示定位位置的数据,获取定位位置后,暂停对播放的视频文件对应视频数据的解码;相应的,显示模块,还用于显示解码得到的最后一帧视频图像数据。
优选地,确定模块包括:
位置获取子模块,用于获取对播放的视频文件对应视频数据进行解码得到的、最后一帧视频图像数据对应的初始位置;
参数确定子模块,用于依据初始位置与定位位置之间的关系,确定定位位置对应的定位控制参数。
优选地,参数确定子模块,具体用于当初始位置位于定位位置之后时,确定定位位置对应的定位控制参数为解析定位位置之前、与定位位置距离最近的关键帧;当初始位置位于定位位置之前时,将初始位置和定位位置之间的距离与设定的距离阈值进行比较;当距离小于或等于距离阈值时,确定定位控制参数为解析初始位置的下一帧;当距离大于距离阈值时,确定定位控制参数为解析定位位置之前、与定位位置距离最近的关键帧。
优选地,获取模块包括:
文件解析子模块,用于依据定位控制参数对视频文件进行解析,得到当前视频数据;
视频解码子模块,用于对当前视频数据进行解码,得到当前视频图像数据和当前视频图像数据对应的当前解码时间戳;
时间比较子模块,用于比较当前解码时间戳和定位时间戳;
图像确定子模块,用于依据当前解码时间戳和定位时间戳之间的关系,确定定位时间戳对应的定位视频图像数据。
优选地,图像确定子模块,具体用于当当前解码时间戳小于定位时间戳时,确定中间控制参数,依据中间控制参数对视频文件进行解析,得到当前视频数据,并调用文件解析子模块;当当前解码时间戳大于或等于定位时间戳时,确定当前解码时间戳对应的当前视频图像数据为定位视频图像数据。
优选地,图像确定子模块,具体用于确定中间控制参数为解析当前解码时间戳对应的当前视频图像数据的下一帧。
本实施例中,视频定位过程简便、效率高,用户体验较高,并且能够适应实际的定位情况,避免对不必要数据的解析,进一步提高定位效率。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
实施例五
下面以一具体的实例对用于实施本发明的视频定位方法的视频播放器以及该视频播放器进行视频定位的具体过程进行介绍。
参照图5,示出了本发明实施例五的一种视频播放器的结构框图。该视频播放器包括:管理控制模块501、文件解析模块502、视频解码模块503和视频显示模块504。该视频播放器中的管理控制模块501是实现视频定位功能的核心模块。该管理控制模块501可以实现对其它3个模块的控制,并且与用户操作生成的数据(如通过控制进度条生成的数据)交互,通过管理模块接收用户操作生成的数据,控制文件解析模块502和视频解码模块503,并将解码出的视频图像数据发送给视频显示模块504。
本实施例中,以应用于安卓操作系统的移动终端中的视频播放器为例进行介绍。安卓平台提供了Media Player(媒体播放器)接口,实现了媒体播放器的功能,原厂播放器都直接调用该接口以实现媒体播放的功能,但由于该接口对于播放定位仅支持定位到关键帧,用户在拖动滑块的时候,画面要么静止不动,要么以非常低的帧率刷新,只有当用户松开手的时候,画面才会更新,因此无法实现上述准确、快速定位的功能,用户体验很差。本实施例即是为了解决该问题,让安卓平台的播放器可以达到较高的用户体验。
下面,介绍该视频播放器进行视频定位的具体过程:
S1:初始化视频播放器中的各模块。
初始化过程可以包括状态库的初始化、参数的初始化、功能的初始化等,对于具体的初始化过程,本领域技术人员根据实际经验进行相关处理即可,本实施例在此不再详细论述。
S2:管理控制模块接收用于指示定位位置的数据(如用户操作进度条时生成的进度条信息),分析处理后将定位位置对应的定位时间戳和定位控制参数发送给文件解析模块;并控制视频解码模块暂停解码,将解码得到的最新(即最后一帧)视频图像数据发送给视频显示模块。
S3:文件解析模块接收定位时间戳和定位控制参数,依据定位时间戳和定位控制参数对视频文件解析后得到对应的视频数据,发送给视频解码模块。
S4:视频解码模块接收视频数据,对其进行解码,将解码后的视频图像数据和解码时间戳发送给管理控制模块。
S5:管理控制模块比较解码时间戳和定位时间戳,如果解码时间戳小于定位时间戳,则调用文件解析模块继续解析下一帧,直至解码时间戳大于等于定位时间戳,此时控制视频解码模块暂停解码,将解码得到的最新(即最后一帧)视频图像数据发送给视频显示模块。
如果在视频解码模块解码过程中管理控制模块接收到了新的进度条信息,则暂停解码,直接将解码得到的最新(即最后一帧)图像发送至视频显示模块,并跳转至S2,进行下一轮处理。该操作是为了保证用户始终能得到最高的图像刷新帧率。
S6:视频显示模块接收管理控制模块发送的视频图像数据,并将对应的视频图像显示至屏幕。
后续管理控制模块继续接收处理用户进度条信息,循环执行S2~S6。
需要说明的是,结合上述实施例四,本实施例中的管理控制模块501对应于上述实施例四的接收模块401、确定模块402、时间比较子模块和图像确定子模块;文件解析模块502对应于上述实施例四的文件解析子模块;视频解码模块503对应于上述实施例四的视频解码子模块和暂停模块405;视频显示模块504对应于上述实施例四的显示模块404。
本发明通过重新视频播放器的各个模块,特别是管理控制模块,增加了对用户操作生成的数据的分析和对解码数据的分析,以实现视频文件播放时的快速精确定位,同时监测用户操作,解决了处理过程中用户需求不能得到及时处理的问题,实现了对用户操作的实时响应和图像刷新,解决了安卓原生接口Media Player的功能限制,在安卓平台实现了快速、准确定位视频的功能,提高了用户体验。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种视频定位方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种视频定位方法,其特征在于,包括:
接收用于指示定位位置的数据,获取所述定位位置;
确定所述定位位置对应的定位时间戳和定位控制参数;其中,所述定位控制参数用于指示解析播放的视频文件时对应的解析位置;
依据所述定位控制参数,获取所述定位时间戳对应的定位视频图像数据;
显示所述定位视频图像数据。
2.根据权利要求1所述的方法,其特征在于,在所述接收用于指示定位位置的数据,获取所述定位位置的步骤之后,还包括:
暂停对所述播放的视频文件对应视频数据的解码,并显示解码得到的最后一帧视频图像数据。
3.根据权利要求1所述的方法,其特征在于,所述确定所述定位位置对应的定位控制参数的步骤,包括:
获取对所述播放的视频文件对应视频数据进行解码得到的、最后一帧视频图像数据对应的初始位置;
依据所述初始位置与所述定位位置之间的关系,确定所述定位位置对应的定位控制参数。
4.根据权利要求3所述的方法,其特征在于,所述依据所述初始位置与所述定位位置之间的关系,确定所述定位位置对应的定位控制参数的步骤,包括:
若所述初始位置位于所述定位位置之后,则确定所述定位位置对应的定位控制参数为解析所述定位位置之前、与所述定位位置距离最近的关键帧;
若所述初始位置位于所述定位位置之前,则将所述初始位置和所述定位位置之间的距离与设定的距离阈值进行比较;
当所述距离小于或等于所述距离阈值时,确定定位控制参数为解析所述初始位置的下一帧;
当所述距离大于所述距离阈值时,确定定位控制参数为解析所述定位位置之前、与所述定位位置距离最近的关键帧。
5.根据权利要求1所述的方法,其特征在于,所述依据所述定位控制参数,获取所述定位时间戳对应的定位视频图像数据的步骤,包括:
依据所述定位控制参数对所述视频文件进行解析,得到当前视频数据;
对当前视频数据进行解码,得到当前视频图像数据和当前视频图像数据对应的当前解码时间戳;
比较当前解码时间戳和所述定位时间戳;
依据当前解码时间戳和所述定位时间戳之间的关系,确定所述定位时间戳对应的定位视频图像数据。
6.根据权利要求5所述的方法,其特征在于,所述依据当前解码时间戳和所述定位时间戳之间的关系,确定所述定位时间戳对应的定位视频图像数据的步骤,包括:
当当前解码时间戳小于所述定位时间戳时,确定中间控制参数;
依据所述中间控制参数对所述视频文件进行解析,得到当前视频数据,并返回所述对当前视频数据进行解码,得到当前视频图像数据和当前视频图像数据对应的当前解码时间戳的步骤;
当当前解码时间戳大于或等于所述定位时间戳时,确定当前解码时间戳对应的当前视频图像数据为定位视频图像数据。
7.根据权利要求6所述的方法,其特征在于,所述确定中间控制参数的步骤,包括:
确定中间控制参数为解析当前解码时间戳对应的当前视频图像数据的下一帧。
8.一种视频定位装置,其特征在于,包括:
接收模块,用于接收用于指示定位位置的数据,获取所述定位位置;
确定模块,用于确定所述定位位置对应的定位时间戳和定位控制参数;其中,所述定位控制参数用于指示解析播放的视频文件时对应的解析位置;
获取模块,用于依据所述定位控制参数,获取所述定位时间戳对应的定位视频图像数据;
显示模块,用于显示所述定位视频图像数据。
9.根据权利要求8所述的装置,其特征在于,还包括:
暂停模块,用于在所述接收模块接收用于指示定位位置的数据,获取所述定位位置后,暂停对所述播放的视频文件对应视频数据的解码;
所述显示模块,还用于显示解码得到的最后一帧视频图像数据。
10.根据权利要求8所述的装置,其特征在于,所述确定模块包括:
位置获取子模块,用于获取对所述播放的视频文件对应视频数据进行解码得到的、最后一帧视频图像数据对应的初始位置;
参数确定子模块,用于依据所述初始位置与所述定位位置之间的关系,确定所述定位位置对应的定位控制参数。
11.根据权利要求10所述的装置,其特征在于,
所述参数确定子模块,具体用于当所述初始位置位于所述定位位置之后时,确定所述定位位置对应的定位控制参数为解析所述定位位置之前、与所述定位位置距离最近的关键帧;当所述初始位置位于所述定位位置之前时,将所述初始位置和所述定位位置之间的距离与设定的距离阈值进行比较;当所述距离小于或等于所述距离阈值时,确定定位控制参数为解析所述初始位置的下一帧;当所述距离大于所述距离阈值时,确定定位控制参数为解析所述定位位置之前、与所述定位位置距离最近的关键帧。
12.根据权利要求8所述的装置,其特征在于,所述获取模块包括:
文件解析子模块,用于依据所述定位控制参数对所述视频文件进行解析,得到当前视频数据;
视频解码子模块,用于对当前视频数据进行解码,得到当前视频图像数据和当前视频图像数据对应的当前解码时间戳;
时间比较子模块,用于比较当前解码时间戳和所述定位时间戳;
图像确定子模块,用于依据当前解码时间戳和所述定位时间戳之间的关系,确定所述定位时间戳对应的定位视频图像数据。
13.根据权利要求12所述的装置,其特征在于,
所述图像确定子模块,具体用于当当前解码时间戳小于所述定位时间戳时,确定中间控制参数,依据所述中间控制参数对所述视频文件进行解析,得到当前视频数据,并调用所述文件解析子模块;当当前解码时间戳大于或等于所述定位时间戳时,确定当前解码时间戳对应的当前视频图像数据为定位视频图像数据。
14.根据权利要求13所述的装置,其特征在于,所述图像确定子模块,具体用于确定中间控制参数为解析当前解码时间戳对应的当前视频图像数据的下一帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510283557.5A CN104918136B (zh) | 2015-05-28 | 2015-05-28 | 视频定位方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510283557.5A CN104918136B (zh) | 2015-05-28 | 2015-05-28 | 视频定位方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104918136A true CN104918136A (zh) | 2015-09-16 |
CN104918136B CN104918136B (zh) | 2018-08-31 |
Family
ID=54086771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510283557.5A Active CN104918136B (zh) | 2015-05-28 | 2015-05-28 | 视频定位方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104918136B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704527A (zh) * | 2016-01-20 | 2016-06-22 | 努比亚技术有限公司 | 一种终端及终端进行视频帧定位的方法 |
CN107203960A (zh) * | 2016-06-30 | 2017-09-26 | 北京新媒传信科技有限公司 | 图像渲染方法及装置 |
CN107743269A (zh) * | 2017-11-02 | 2018-02-27 | 吕庆祥 | 一种对多媒体数据进行处理的方法和装置 |
CN108090102A (zh) * | 2016-11-21 | 2018-05-29 | 法乐第(北京)网络科技有限公司 | 一种视频处理设备、车辆及视频处理方法 |
CN108255806A (zh) * | 2017-12-22 | 2018-07-06 | 北京奇艺世纪科技有限公司 | 一种人名识别方法及装置 |
CN109688429A (zh) * | 2018-12-18 | 2019-04-26 | 广州励丰文化科技股份有限公司 | 一种基于非关键视频帧的预览方法及服务设备 |
CN110267096A (zh) * | 2019-06-21 | 2019-09-20 | 北京达佳互联信息技术有限公司 | 视频播放方法、装置、电子设备及存储介质 |
CN110740384A (zh) * | 2019-10-21 | 2020-01-31 | 北京东方广视科技股份有限公司 | Iptv时移电视定位跳转方法及装置 |
CN111436005A (zh) * | 2019-01-15 | 2020-07-21 | 北京字节跳动网络技术有限公司 | 用于显示图像的方法和装置 |
CN113423009A (zh) * | 2021-08-23 | 2021-09-21 | 北京拓课网络科技有限公司 | 一种视频进度调整方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102264004A (zh) * | 2011-08-05 | 2011-11-30 | Tcl集团股份有限公司 | 一种防止关键帧缺失而不能seek的方法及装置 |
CN103024561A (zh) * | 2011-09-28 | 2013-04-03 | 深圳市快播科技有限公司 | 一种拖拽进度条的显示方法及装置 |
US20130182767A1 (en) * | 2010-09-20 | 2013-07-18 | Nokia Corporation | Identifying a key frame from a video sequence |
CN103491387A (zh) * | 2012-06-14 | 2014-01-01 | 深圳市快播科技有限公司 | 一种视频定位的系统、点播终端和方法 |
-
2015
- 2015-05-28 CN CN201510283557.5A patent/CN104918136B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130182767A1 (en) * | 2010-09-20 | 2013-07-18 | Nokia Corporation | Identifying a key frame from a video sequence |
CN102264004A (zh) * | 2011-08-05 | 2011-11-30 | Tcl集团股份有限公司 | 一种防止关键帧缺失而不能seek的方法及装置 |
CN103024561A (zh) * | 2011-09-28 | 2013-04-03 | 深圳市快播科技有限公司 | 一种拖拽进度条的显示方法及装置 |
CN103491387A (zh) * | 2012-06-14 | 2014-01-01 | 深圳市快播科技有限公司 | 一种视频定位的系统、点播终端和方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017124897A1 (zh) * | 2016-01-20 | 2017-07-27 | 努比亚技术有限公司 | 终端及终端进行视频帧定位的方法、计算机存储介质 |
CN105704527A (zh) * | 2016-01-20 | 2016-06-22 | 努比亚技术有限公司 | 一种终端及终端进行视频帧定位的方法 |
CN107203960A (zh) * | 2016-06-30 | 2017-09-26 | 北京新媒传信科技有限公司 | 图像渲染方法及装置 |
CN107203960B (zh) * | 2016-06-30 | 2021-03-09 | 北京新媒传信科技有限公司 | 图像渲染方法及装置 |
CN108090102A (zh) * | 2016-11-21 | 2018-05-29 | 法乐第(北京)网络科技有限公司 | 一种视频处理设备、车辆及视频处理方法 |
CN107743269B (zh) * | 2017-11-02 | 2019-10-29 | 吕庆祥 | 一种对多媒体数据进行处理的方法和装置 |
CN107743269A (zh) * | 2017-11-02 | 2018-02-27 | 吕庆祥 | 一种对多媒体数据进行处理的方法和装置 |
CN108255806A (zh) * | 2017-12-22 | 2018-07-06 | 北京奇艺世纪科技有限公司 | 一种人名识别方法及装置 |
CN109688429A (zh) * | 2018-12-18 | 2019-04-26 | 广州励丰文化科技股份有限公司 | 一种基于非关键视频帧的预览方法及服务设备 |
CN111436005A (zh) * | 2019-01-15 | 2020-07-21 | 北京字节跳动网络技术有限公司 | 用于显示图像的方法和装置 |
US11482257B2 (en) | 2019-01-15 | 2022-10-25 | Beijing Bytedance Network Technology Co., Ltd. | Image display method and apparatus |
CN110267096A (zh) * | 2019-06-21 | 2019-09-20 | 北京达佳互联信息技术有限公司 | 视频播放方法、装置、电子设备及存储介质 |
CN110740384A (zh) * | 2019-10-21 | 2020-01-31 | 北京东方广视科技股份有限公司 | Iptv时移电视定位跳转方法及装置 |
CN113423009A (zh) * | 2021-08-23 | 2021-09-21 | 北京拓课网络科技有限公司 | 一种视频进度调整方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104918136B (zh) | 2018-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104918136A (zh) | 视频定位方法和装置 | |
US11818424B2 (en) | Method and apparatus for generating video, electronic device, and computer readable medium | |
US20220321968A1 (en) | System and method of displaying content based on locational activity | |
US10579215B2 (en) | Providing content via multiple display devices | |
CN105578229A (zh) | 电子设备控制方法和装置 | |
US20100011135A1 (en) | Synchronization of real-time media playback status | |
KR20130066069A (ko) | 클라우드 컴퓨팅 기반 어플리케이션 제공 방법 및 시스템 | |
WO2020233142A1 (zh) | 多媒体文件播放方法、装置、电子设备和存储介质 | |
US11482257B2 (en) | Image display method and apparatus | |
CN109600656B (zh) | 一种视频榜单显示方法、装置,终端设备及存储介质 | |
CN105100911A (zh) | 智能多媒体系统和方法 | |
US20160164970A1 (en) | Application Synchronization Method, Application Server and Terminal | |
CN105335526A (zh) | 一种图片加载方法及装置 | |
CN106973318B (zh) | 聚合视频操作方法及装置 | |
CN111599022A (zh) | 房屋展示方法、装置和电子设备 | |
CN109462779B (zh) | 视频预览信息的播放控制方法、应用客户端及电子设备 | |
CN111107434A (zh) | 信息推荐方法及装置 | |
KR20220144857A (ko) | 멀티미디어 데이터 퍼블리싱 방법 및 장치, 및 디바이스와 기록 매체 | |
CN110856005B (zh) | 直播流显示方法、装置、电子设备及可读存储介质 | |
JP7029218B2 (ja) | 再生データ取得方法、装置、機器及び記憶媒体 | |
CN111246245B (zh) | 视频聚合页面的推送方法、装置,服务器及终端设备 | |
CN103748586B (zh) | 智能电视 | |
CN107529075B (zh) | 跨屏续播方法、系统、服务器、设备和跨屏续播的设备 | |
CN104038825A (zh) | 虚拟频道管理方法和网络多媒体重现系统 | |
CN113676761B (zh) | 一种多媒体资源播放方法、装置及主控设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |