CN108206966B - 一种视频文件同步播放方法及装置 - Google Patents
一种视频文件同步播放方法及装置 Download PDFInfo
- Publication number
- CN108206966B CN108206966B CN201611170214.9A CN201611170214A CN108206966B CN 108206966 B CN108206966 B CN 108206966B CN 201611170214 A CN201611170214 A CN 201611170214A CN 108206966 B CN108206966 B CN 108206966B
- Authority
- CN
- China
- Prior art keywords
- video
- time
- played
- current
- 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
Links
Images
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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4305—Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
-
- 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/43—Processing 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明实施例提供了一种视频文件同步播放方法及装置,其中,视频文件同步播放方法包括:对至少两路待播放视频进行解析,其中,待播放视频中包括时区时间,待播放视频中每一视频帧包括该视频帧的绝对时间;周期性计算每路待播放视频的当前基准时间,其中,待播放视频的当前基准时间为:根据待播放视频中的时区时间,对待播放视频中当前待显示视频帧的绝对时间进行换算得到的时间;根据每路待播放视频的当前基准时间,控制该待播放视频的当前待显示视频帧的显示,以使每路待播放视频的播放同步。通过本方案可以实现处于不同时区的视频的同步播放。
Description
技术领域
本发明涉及视频播放技术领域,特别是涉及一种视频文件同步播放方法及装置。
背景技术
随着各种多媒体播放器的普及,播放音视频、浏览图片是最广泛应用的媒体执行方式,越来越多的播放器开始追求多路播放以及同步播放的效果,例如在同一终端上同时播放16路视频。有些场景的视频清晰度高或者需要打开的路数非常多,则会有性能问题导致视频的卡顿或者延迟,这样,就需要一种同步技术使多路视频之间保持同步播放。
相关技术中,通过在预设的存储空间内识别、编码并提取不同种类的视频,在视频播放***中在时间轴上同步的播放,并实时缓冲后备的视频补充已播放完毕的视频。该方案实现了简单易行的多媒体同步播放效果。
但是,针对不同时区的视频的场景,由于不同时区之间存在时差,例如北京时间的23点与纽约时间的10点实际为同一时刻,按照相关技术的方案,采用的是统一的时间轴,会导致同一时刻的不同时区的视频无法实现同步播放。
发明内容
本发明实施例的目的在于提供一种视频文件同步播放方法及装置,以实现同步播放处于不同时区的视频。具体技术方案如下:
第一方面,本发明实施例提供了一种视频文件同步播放方法,所述方法包括:
对至少两路待播放视频进行解析,其中,所述待播放视频中包括时区时间,所述待播放视频中每一视频帧包括该视频帧的绝对时间;
周期性计算每路待播放视频的当前基准时间,其中,所述待播放视频的当前基准时间为:根据所述待播放视频中的时区时间,对所述待播放视频中当前待显示视频帧的绝对时间进行换算得到的时间;
根据每路所述待播放视频的当前基准时间,控制该待播放视频的当前待显示视频帧的显示,以使每路所述待播放视频的播放同步。
可选的,所述时区时间为:所述待播放视频的拍摄地时间与预设标准地时间的时差。
可选的,每路所述待播放视频中的时区时间存储在该待播放视频的每个关键帧后的私有帧中。
可选的,所述对至少两路不同时区的待播放视频进行解析,包括:
并行解析每路待播放视频,得到每路所述待播放视频中每一视频帧的绝对时间,其中,所述绝对时间为:在所述待播放视频的拍摄地生成所述视频帧的拍摄地时间;
在解析到所述私有帧时,读取所述私有帧中存储的时区时间作为包含有所述私有帧的待播放视频的时区时间。
可选的,所述计算每路待播放视频的当前基准时间,包括:
获得每路待播放视频中当前待显示视频帧的绝对时间、及每路所述待播放视频的时区时间;
将每路所述待播放视频中当前待显示视频帧的绝对时间与该待播放视频的时区时间的差值,作为该待播放视频的当前基准时间;
所述根据每路所述待播放视频的当前基准时间,控制该待播放视频的当前待显示视频帧的显示,包括:
确定所有待播放视频的当前基准时间中的最小值为当前时刻同步基准时间;
计算每路所述待播放视频的当前基准时间与所述当前时刻同步基准时间的差值;
在所述待播放视频的当前基准时间与所述当前时刻同步基准时间的差值小于或者等于预设偏差值时,显示所述待播放视频的当前待显示视频帧;
在所述待播放视频的当前基准时间与所述当前时刻同步基准时间的差值大于预设偏差值时,将所述待播放视频的当前待显示视频帧设置为等待状态,不显示所述当前待显示视频帧。
可选的,所述预设偏差值为所有待播放视频中指定帧率的倒数。
第二方面,本发明实施例还提供了一种视频文件同步播放装置,所述装置包括:
解析模块,用于对至少两路待播放视频进行解析,其中,所述待播放视频中包括时区时间,所述待播放视频中每一视频帧包括该视频帧的绝对时间;
运算模块,用于周期性计算每路待播放视频的当前基准时间,其中,所述待播放视频的当前基准时间为:根据所述待播放视频中的时区时间,对所述待播放视频中当前待显示视频帧的绝对时间进行换算得到的时间;
控制模块,用于根据每路所述待播放视频的当前基准时间,控制该待播放视频的当前待显示视频帧的显示,以使每路所述待播放视频的播放同步。
可选的,所述时区时间为:所述待播放视频的拍摄地时间与预设标准地时间的时差。
可选的,每路所述待播放视频中的时区时间存储在该待播放视频的每个关键帧后的私有帧中。
可选的,所述解析模块,包括:
绝对时间确定子模块,用于并行解析每路待播放视频,得到每路所述待播放视频中每一视频帧的绝对时间,其中,所述绝对时间为:在所述待播放视频的拍摄地生成所述视频帧的拍摄地时间;
读取子模块,用于在解析到所述私有帧时,读取所述私有帧中存储的时区时间作为包含有所述私有帧的待播放视频的时区时间。
可选的,所述运算模块,包括:
获取子模块,用于获得每路待播放视频中当前待显示视频帧的绝对时间、及每路所述待播放视频的时区时间;
第一运算子模块,用于将每路所述待播放视频中当前待显示视频帧的绝对时间与该待播放视频的时区时间的差值,作为该待播放视频的当前基准时间;
所述控制模块,包括:
第二确定子模块,用于确定所有待播放视频的当前基准时间中的最小值为当前时刻同步基准时间;
第二运算子模块,用于计算每路所述待播放视频的当前基准时间与所述当前时刻同步基准时间的差值;
显示子模块,用于在所述待播放视频的当前基准时间与所述当前时刻同步基准时间的差值小于或者等于预设偏差值时,显示所述待播放视频的当前待显示视频帧;
等待子模块,用于在所述待播放视频的当前基准时间与所述当前时刻同步基准时间的差值大于预设偏差值时,将所述待播放视频的当前待显示视频帧设置为等待状态,不显示所述当前待显示视频帧。
可选的,所述预设偏差值为所有待播放视频中指定帧率的倒数。
本发明实施例提供的一种视频文件同步播放方法及装置,通过对待播放视频进行解析,得到待播放视频的时区时间及待播放视频中每个视频帧的绝对时间,时区时间表征了待播放视频所处的时区,再通过时区换算,将不同时区的待播放视频换算至同一时区的当前基准时间,最后根据当前基准时间,控制待播放视频的当前待显示视频帧的显示,从而实现所有待播放视频的同步播放,本发明实施例在同步的基础上利用时区换算,实现了不同时区的视频的同步播放。
附图说明
为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的视频文件同步播放方法的流程示意图;
图2为本发明实施例的视频文件同步播放装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了实现同步播放处于不同时区的视频,本发明实施例提供了一种视频文件同步播放方法及装置。
下面首先对本发明实施例所提供的一种视频文件同步播放方法进行介绍。
需要说明的是,本发明实施例所提供的一种视频文件同步播放方法的执行主体可以为一种视频播放器,可以通过软件实现本发明实施例所提供的视频文件同步播放方法。需要强调的是,本发明实施例的视频文件同步播放方法的执行主体不仅限于上述视频播放器,还可以是服务器、工控机等,实现本发明实施例所提供的视频文件同步播放方法不仅限于软件,还可以是硬件电路或逻辑电路。
如图1所示,本发明实施例所提供的一种视频文件同步播放方法,可以包括如下步骤:
S101,对至少两路待播放视频进行解析。
其中,视频文件可以包括影像、摄像、图像、图片、照片、文字等,待播放视频中可以包括时区时间,待播放视频中每一个视频帧可以包括该视频帧的绝对时间。
需要说明的是,对于音频文件的同步播放,与本实施例的步骤相类似,其中,音频文件可以包括声音、音乐、配乐等;在获取视频之前,针对多个视频文件,可以首先进行动态处理、静态渲染和/或纹理加工等预处理加工程序。通过预处理的视频在播放过程中可以具有更佳的播放效果。
对视频进行解析,是将视频中包含的信息从已经编码的形式恢复到编码前的数据,视频的解析方式及技术繁多。可以根据视频在编码时所采用的编码标准对视频进行解析。编码标准包括:国际电联的H.261、H.263,M-JPEG(Motion-Join Photographic ExpertsGroup,运动静止图像专家组)和MPEG(Moving Picture Experts Group,活动图像专家组)系列标准等等。解析技术属于相关技术,这里不再一一赘述。
本实施例实现的是多路待播放视频的同步播放,所以需保证播放路数在两路或者两路以上,例如,针对两路不同视频,第1路视频是中国东八区2016年8月8日23:00:00至24:00:00一个小时的视频,第2路视频时纽约西五区2016年8月8日10:00:00至11:00:00一个小时的视频,由于东八区与西五区的时差相差13个小时,所以这两路视频实际是同一时刻的视频。
需要强调的是,对每路视频的解析是并行执行的,并且在解析后可以得到每一视频帧携带的信息,包括绝对时间及视频帧内容。时区时间可以是视频中某一个特定帧中携带的,也可以是关键帧中携带的,这都是合理的。视频的同步播放包括完全同步播放和相对同步播放,完全同步播放是指同一时区同一时间段的视频保持播放进度完全一致,相对同步播放是指不同时区同一时间段的视频在保持时区差的基础上具有一致的播放进度。可以理解的是,完全同步播放是相对同步播放在时区相同时的一个特例,本实施例可以用于实现多路视频的相对同步播放。
可选的,所述时区时间为:待播放视频的拍摄地时间与预设标准地时间的时差。
需要说明的是,地球共有24个时区,英国的格林尼治天文台旧址所处的经度为中时区,或称零时区,以零时区为界向东共有东1区至东12区12个时区,向西共有西1区至西12区12个时区,每个时区横跨经度15度,时间正好是1小时,每个时区的中央经线上的时间就是这个时区内统一采用的时间,称为区时,相邻两个时区的时差为1小时,例如,中国东八区的时间比泰国东七区的时间快1小时,而比日本东九区的时间慢1小时。在许多国家,所有地点的时间均使用通用的时间,例如在中国,如果待播放视频是在新疆乌鲁木齐拍摄的,那么拍摄地时间为北京时间,预设标准地时间可以为任一地点的时间,例如格林尼治时间、北京时间、东京时间,也可以为所有待播放视频中任一待播放视频所处的时区的时间。其中,需要说明的是,如果待播放视频的拍摄地位于预设标准地的东侧,则待播放视频的时区时间为待播放视频的拍摄地时间与预设标准地时间的差值,如果待播放视频的拍摄地位于预设标准地的西侧,则待播放视频的时区时间为预设标准地时间与待播放视频的拍摄地时间的差值的相反数;如果待播放视频的拍摄地时间的日期与预设标准地时间的日期相差1天,则将日期更快的时间的小时数加上24,再进行上述作差的运算。
可选地,时差的计算可以参照地理学的时差算法,或者,在设置预设标准地时间后,通过查询国际时差表来确定时差。
可选地,待播放视频的时区时间还可以利用待播放视频的拍摄地的时区数值与预设标准地的时区数值计算得到。
具体的,以利用待播放视频的拍摄地的时区数值与预设标准地的时区数值计算得到待播放视频的时区时间为例,设定预设标准地时间为格林尼治时间,在待播放视频处于东时区时,将待播放视频所处东时区的时区数值与格林尼治时间的时区数值作差,确定作差得到的差值为待播放视频的时区时间;在待播放视频处于西时区时,将格林尼治时间的时区数值与待播放视频所处西时区的时区数值作差,确定作差得到的差值为待播放视频的时区时间。
需要说明的是,将预设标准地时间设定为格林尼治时间,可以直观的从待播放视频所处的时区判断视频的时区时间,时区时间的确定方法简单,即与格林尼治时间的时区数值作差,可以理解的是,位于东时区的视频的时区时间实际为该视频所处时区的时区数值,位于西时区的视频的时区时间实际为该视频所处时区的时区数值的相反数。例如,第一路待播放视频为中国东八区的视频,第二路待播放视频为纽约西五区的视频,则通过预设的标准时区可以确定第一路待播放视频的时区时间为8小时,第二路待播放视频的时区时间为-5小时。
可选的,每路所述待播放视频中的时区时间存储在该待播放视频的每个关键帧后的私有帧中。
需要说明的是,在视频的码流录入时,在每一个关键帧后都设有私有帧,该私有帧用于存储该路视频的时区时间,保证获取的每路视频都保存有该路视频所处时区的时区时间,用于后续步骤实现不同时区的视频的同步播放,又不占用其它帧的空间,保证解码的效率。
需要说明的是,由于关键帧通常包含视频的关键变化,因此,如果视频是在飞机上拍摄或者卫星上拍摄的,在某一时刻,视频拍摄地有时区变化,那么在这一时刻后的视频中,关键帧后的私有帧中的时区时间也会随之改变。
可选的,所述对至少两路不同时区的待播放视频进行解析,可以包括:
首先,并行解析每路待播放视频,得到每路待播放视频中每一视频帧的绝对时间。
其中,绝对时间为:在待播放视频的拍摄地生成视频帧的拍摄地时间。需要说明的是,绝对时间为视频中每个视频帧生成时的时间,拍摄地时间不一定为拍摄地所在时区的时间,例如待播放视频在新疆乌鲁木齐拍摄,但是该视频的拍摄地时间为北京时间,那么该视频的绝对时间为拍摄该视频时的北京时间。绝对时间在视频的码流里,与时区时间绑定,因此,同一时刻的视频帧在不同时区的绝对时间不同,例如,某一时刻,视频在中国东八区的绝对时间为2016年8月8日23:00:00,由于纽约西五区与中国东八区的时差有13个时区,也就是慢了13个小时,因此,该时刻下,纽约西五区的视频的绝对时间为2016年8月8日10:00:00。
其次,在解析到私有帧时,读取私有帧中存储的时区时间作为包含有该私有帧的待播放视频的时区时间。
需要说明的是,在解析到私有帧时,将私有帧中存储的时区时间读取出来,时区时间可以为预先根据待播放视频的拍摄地所在的时区和预设的标准时区,进行换算确定,然后存储到私有帧中的。或者,私有帧中也可以是存储视频所处时区的时区信息,在解析到私有帧时,将私有帧中存储的时区信息读取出来,然后通过对时区信息进行换算得到时区时间。
S102,周期性计算每路待播放视频的当前基准时间。
其中,当前基准时间为:根据待播放视频中的时区时间,对待播放视频中当前待显示视频帧的绝对时间进行换算得到的时间。为了保证观看多路视频的效果,通常将循环计算的周期选取的很小,例如5ms。在每一个周期内,通过计算当前基准时间,控制待播放视频的播放,以实现多路视频的同步播放。
需要说明的是,每路视频计算当前基准时间的步骤可以并行执行的,每路视频每间隔一个周期并行执行一次上述步骤。
为了保持多路视频的同步播放,可以通过令播放更快的视频“等待”播放较慢的视频的方法实现,例如,如果存在两路视频,第1路东八区的视频通过解析得到的绝对时间为2016年8月8日23:10:10,第2路西五区的视频通过解析得到的绝对时间为2016年8月8日10:11:11,通过计算可以得到第1路视频的基准时间为2016年8月8日15:10:10,第2路视频的基准时间为2016年8月8日15:11:11。根据上述“等待”的思想,可以将第1路视频标定为播放状态,将第2路视频标定为等待状态,在第1路视频的基准时间等于或者接近于第2路视频的基准时间时,第2路视频再继续播放,这样,两路视频就能实现同步播放。
可选的,所述计算每路待播放视频的当前基准时间的步骤,可以包括:
首先,获得每路待播放视频中当前待显示视频帧的绝对时间、及每路待播放视频的时区时间;
其次,将每路待播放视频中当前待显示视频帧的绝对时间与该待播放视频的时区时间的差值,作为该待播放视频的当前基准时间。
需要说明的是,计算每路待播放视频的当前基准时间,实质的意义是将处于不同时区的待播放视频的绝对时间通过计算换算至同一个时区下的当前基准时间,因此,当前基准时间是通过绝对时间与时区时间作差得到的。如果多路视频都处于同一个时区,也可以利用本实施例所提供的方法实现。
S103,根据每路待播放视频的当前基准时间,控制该待播放视频的当前待显示视频帧的显示,以使每路待播放视频的播放同步。
需要说明的是,控制该待播放视频的当前待显示视频帧的显示,可以是控制上述步骤中当前基准时间较快的视频中的视频帧的显示。可选地,各路待播放视频的当前待显示视频帧的显示是并行执行的。
可选的,所述根据每路待播放视频的当前基准时间,控制该待播放视频的当前待显示视频帧的显示的步骤,可以包括:
首先,确定所有待播放视频的当前基准时间中的最小值为当前时刻同步基准时间;
其次,计算每路待播放视频的当前基准时间与当前时刻同步基准时间的差值;
然后,在待播放视频的当前基准时间与当前时刻同步基准时间的差值小于或者等于预设偏差值时,显示待播放视频的当前待显示视频帧;或者,在待播放视频的当前基准时间与当前时刻同步基准时间的差值大于预设偏差值时,将待播放视频的当前待显示视频帧设置为等待状态,不显示当前待显示视频帧。
需要说明的是,为了实现同步,本实施例将当前基准时间较快的视频设置为等待状态,等待其他路视频,令处于等待状态的待播放视频停滞在当前待显示视频帧的前一个视频帧,也就是不对处于等待状态的待播放视频在的当前待显示视频帧进行显示,显示的效果为该路视频停顿在上一个视频帧。基于令当前基准时间更快的视频“等待”当前基准时间较慢的视频的方法实现同步播放,这里可以设定所有路视频的当前基准时间中的最小值为当前时刻同步基准时间,除了将当前时刻同步基准时间所对应的视频设置为播放状态,也可以将当前基准时间与当前时刻同步基准时间的差值非常小的视频设置为播放状态,差值太大的视频设置为等待状态。其中,为了分析方便及保证人员观察视频同步播放的效果,可以通过设定预设偏差值,如果差值小于预设偏差值则认为差值非常小,而差值大于预设偏差值则认为差值太大。一般情况下,预设偏差值为很小的一个值。
可选的,所述预设偏差值为所有待播放视频中指定帧率的倒数。
需要说明的是,由于不同视频码流不是完全对上的,所以在一个微小的偏差范围内才能同步,预设偏差值通常为很小的一个值,为了保证数据的合理性,由于视频的帧率为1秒中显示的视频帧的数目,则帧率的倒数为一个视频帧显示的时间,通常为毫秒级的数据。由于帧率的倒数为毫秒级的,所有待播放视频的帧率的倒数一般相差不大,因此,本实施例中可以将预设偏差值设定为任一待播放视频的帧率的倒数。
需要说明的是,多路待播放视频如果在刚开始播放的时刻,当前基准时间就不相同,例如,第1路视频的初始时刻的当前基准时间为2016年8月8日15:10:10,第2路视频的初始时刻的当前基准时间为2016年8月8日15:11:11,两路视频的当前基准时间相差较大,因此,可以令第1路视频为播放状态、第2路视频为等待状态,则初始时刻,开始播放第1路视频,而第2路视频不播放,直至第1路视频播放到2016年8月8日15:11:11,第1路视频和第2路视频同步播放后续视频;还存在一种情况,如果其中某一路视频在播放时由于线路的时延问题造成了该路视频的卡顿,而其他路视频正常播放,则可标定发生卡顿的视频为播放状态、标定其他路视频为等待状态,例如,第1路视频在播放到当前基准时间为2016年8月8日16:10:12时发生了卡顿,而第2路视频继续播放到了当前基准时间为2016年8月8日16:10:13,两路视频的当前基准时间相差较大,因此,可以令第1路视频为播放状态、第2路视频为等待状态,则在第1路视频正常后,开始播放第1路视频,直至第1路视频的当前基准时间与第2路视频的当前基准时间相近,两路视频同步播放后续视频。
为了提高用户观看视频同步的效果,如果某一路视频发生卡顿,其他路的视频每过一个毫秒级别的时间判断与发生卡顿的视频的当前基准时间的差值。
应用本实施例,通过对待播放视频进行解析,得到待播放视频的时区时间及待播放视频中每个视频帧的绝对时间,时区时间表征了待播放视频所处的时区,再通过时区换算,将不同时区的待播放视频换算至同一时区的当前基准时间,最后根据当前基准时间,控制待播放视频的当前待显示视频帧的显示,从而实现所有待播放视频的同步播放。通过确定当前时刻同步基准时间,显示当前基准时间小于或等于当前时刻同步基准时间的待播放视频的当前待显示视频帧;设定当前基准时间大于当前时刻同步基准时间的待播放视频的当前待显示视频帧为等待状态,不显示本实施例在同步的基础上利用时区换算,实现了不同时区的视频的同步播放。还可以在视频的码流录入时,设定在每一个关键帧后都存在存储有时区时间的私有帧,保证解码的效率。
下面结合具体的应用实例,对本发明实施例所提供的视频文件同步播放方法进行介绍。
假设存在两路处于不同时区的待播放视频,第1路待播放视频是中国东八区2016年8月8日23:00:00至24:00:00一个小时的视频,第2路待播放视频时纽约西五区2016年8月8日10:00:00至11:00:00一个小时的视频;通过对该两路待播放视频进行解析,从第1路待播放视频的私有帧中读取到第1路待播放视频的时区时间为8小时,从第2路待播放视频的私有帧中读取到第2路待播放视频的时区时间为-5小时;第1路待播放视频的第一个视频帧的绝对时间为2016年8月8日23:00:00,该绝对时间与第1路待播放视频的时区时间作差得到第1路待播放视频的第一个视频帧的当前基准时间为2016年8月8日15:00:00,第2路待播放视频的第一个视频帧的绝对时间为2016年8月8日10:00:00,该绝对时间与第2路待播放视频的时区时间作差得到第2路待播放视频的第一个视频帧的当前基准时间为2016年8月8日15:00:00;设定预设偏差值为40ms,选择2016年8月8日15:00:00为当前时刻同步基准时间,第1路的当前基准时间与当前时刻同步基准时间作差等于0,第2路的当前基准时间与当前时刻同步基准时间作差等于0,因此,将两路的待播放视频都设置为播放状态,同步播放两路视频的第一个视频帧。
假设第1路待播放视频在播放到绝对时间为2016年8月8日23:10:10的视频帧时,发生了卡顿,该绝对时间与第1路待播放视频的时区时间作差得到第1路待播放视频的当前待显示视频帧的当前基准时间为2016年8月8日15:10:10,由于第2路待播放视频没有发生卡顿,视频仍处于播放状态继续播放,则确定第1路待播放视频的当前待显示视频帧的当前基准时间为当前时刻同步基准时间,设定每5ms执行一次计算当前时刻同步基准时间的步骤,在该步骤执行到第8个周期的时候,第2路待播放视频的当前基准时间与当前时刻同步基准时间的差值达到了40ms;则将此时第2路待播放视频标定为等待状态,不显示此时刻第2路待播放视频的当前待显示视频帧;直到第1路的卡顿现象消除,正常播放第1路待播放视频,在第2路待播放视频的当前待显示视频帧的当前基准时间与当前时刻同步基准时间的差值小于40ms时,开始播放第2路待播放视频。
与相关技术相比,本方案中,通过对待播放视频进行解析,得到待播放视频的时区时间及待播放视频中每个视频帧的绝对时间,时区时间表征了待播放视频所处的时区,再通过时区换算,将不同时区的待播放视频换算至同一时区的当前基准时间,最后根据当前基准时间,控制待播放视频的当前待显示视频帧的显示,从而实现所有待播放视频的同步播放,本方案在同步的基础上利用时区换算,实现了不同时区的视频的同步播放。
相应于上述方法实施例,本发明实施例提供了一种视频文件同步播放装置,如图2所示,所述装置可以包括:
解析模块210,用于对至少两路待播放视频进行解析,其中,所述待播放视频中包括时区时间,所述待播放视频中每一视频帧包括该视频帧的绝对时间;
运算模块220,用于周期性计算每路待播放视频的当前基准时间,其中,所述待播放视频的当前基准时间为:根据所述待播放视频中的时区时间,对所述待播放视频中当前待显示视频帧的绝对时间进行换算得到的时间;
控制模块230,用于根据每路所述待播放视频的当前基准时间,控制该待播放视频的当前待显示视频帧的显示,以使每路所述待播放视频的播放同步。
应用本实施例,通过对待播放视频进行解析,得到待播放视频的时区时间及待播放视频中每个视频帧的绝对时间,时区时间表征了待播放视频所处的时区,再通过时区换算,将不同时区的待播放视频换算至同一时区的当前基准时间,最后根据当前基准时间,控制待播放视频的当前待显示视频帧的显示,从而实现所有待播放视频的同步播放,本实施例在同步的基础上利用时区换算,实现了不同时区的视频的同步播放。
可选的,所述时区时间为:所述待播放视频的拍摄地时间与预设标准地时间的时差。
可选的,每路所述待播放视频中的时区时间存储在该待播放视频的每个关键帧后的私有帧中。
可选的,所述解析模块210,可以包括:
绝对时间确定子模块,用于并行解析每路待播放视频,得到每路所述待播放视频中每一视频帧的绝对时间,其中,所述绝对时间为:在所述待播放视频的拍摄地生成所述视频帧的拍摄地时间;
读取子模块,用于在解析到所述私有帧时,读取所述私有帧中存储的时区时间作为包含有所述私有帧的待播放视频的时区时间。
可选的,所述运算模块220,可以包括:
获取子模块,用于获得每路待播放视频中当前待显示视频帧的绝对时间、及每路所述待播放视频的时区时间;
第一运算子模块,用于将每路所述待播放视频中当前待显示视频帧的绝对时间与该待播放视频的时区时间的差值,作为该待播放视频的当前基准时间;
所述控制模块230,可以包括:
第二确定子模块,用于确定所有待播放视频的当前基准时间中的最小值为当前时刻同步基准时间;
第二运算子模块,用于计算每路所述待播放视频的当前基准时间与所述当前时刻同步基准时间的差值;
显示子模块,用于在所述待播放视频的当前基准时间与所述当前时刻同步基准时间的差值小于或者等于预设偏差值时,显示所述待播放视频的当前待显示视频帧;
等待子模块,用于在所述待播放视频的当前基准时间与所述当前时刻同步基准时间的差值大于预设偏差值时,将所述待播放视频的当前待显示视频帧设置为等待状态,不显示所述当前待显示视频帧。
可选的,所述预设偏差值可以为所有待播放视频中指定帧率的倒数。
需要说明的是,本发明实施例的视频文件同步播放装置为应用上述视频文件同步播放方法的装置,则上述视频文件同步播放方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种视频文件同步播放方法,其特征在于,所述方法包括:
对至少两路待播放视频进行解析,其中,所述待播放视频中包括时区时间,所述待播放视频中每一视频帧包括该视频帧的绝对时间;
周期性计算每路待播放视频的当前基准时间,其中,所述待播放视频的当前基准时间为:根据所述待播放视频中的时区时间,对所述待播放视频中当前待显示视频帧的绝对时间进行换算得到的时间;
根据每路所述待播放视频的当前基准时间,控制该待播放视频的当前待显示视频帧的显示,以使每路所述待播放视频的播放同步;
所述计算每路待播放视频的当前基准时间,包括:
获得每路待播放视频中当前待显示视频帧的绝对时间、及每路所述待播放视频的时区时间;
将每路所述待播放视频中当前待显示视频帧的绝对时间与该待播放视频的时区时间的差值,作为该待播放视频的当前基准时间;
所述根据每路所述待播放视频的当前基准时间,控制该待播放视频的当前待显示视频帧的显示,包括:
确定所有待播放视频的当前基准时间中的最小值为当前时刻同步基准时间;
计算每路所述待播放视频的当前基准时间与所述当前时刻同步基准时间的差值;
在所述待播放视频的当前基准时间与所述当前时刻同步基准时间的差值小于或者等于预设偏差值时,显示所述待播放视频的当前待显示视频帧;
在所述待播放视频的当前基准时间与所述当前时刻同步基准时间的差值大于预设偏差值时,将所述待播放视频的当前待显示视频帧设置为等待状态,不显示所述当前待显示视频帧。
2.根据权利要求1所述的视频文件同步播放方法,其特征在于,所述时区时间为:所述待播放视频的拍摄地时间与预设标准地时间的时差。
3.根据权利要求1所述的视频文件同步播放方法,其特征在于,每路所述待播放视频中的时区时间存储在该待播放视频的每个关键帧后的私有帧中。
4.根据权利要求3所述的视频文件同步播放方法,其特征在于,所述对至少两路不同时区的待播放视频进行解析,包括:
并行解析每路待播放视频,得到每路所述待播放视频中每一视频帧的绝对时间,其中,所述绝对时间为:在所述待播放视频的拍摄地生成所述视频帧的拍摄地时间;
在解析到所述私有帧时,读取所述私有帧中存储的时区时间作为包含有所述私有帧的待播放视频的时区时间。
5.根据权利要求1所述的视频文件同步播放方法,其特征在于,所述预设偏差值为所有待播放视频中指定帧率的倒数。
6.一种视频文件同步播放装置,其特征在于,所述装置包括:
解析模块,用于对至少两路待播放视频进行解析,其中,所述待播放视频中包括时区时间,所述待播放视频中每一视频帧包括该视频帧的绝对时间;
运算模块,用于周期性计算每路待播放视频的当前基准时间,其中,所述待播放视频的当前基准时间为:根据所述待播放视频中的时区时间,对所述待播放视频中当前待显示视频帧的绝对时间进行换算得到的时间;
控制模块,用于根据每路所述待播放视频的当前基准时间,控制该待播放视频的当前待显示视频帧的显示,以使每路所述待播放视频的播放同步;
所述运算模块,包括:
获取子模块,用于获得每路待播放视频中当前待显示视频帧的绝对时间、及每路所述待播放视频的时区时间;
第一运算子模块,用于将每路所述待播放视频中当前待显示视频帧的绝对时间与该待播放视频的时区时间的差值,作为该待播放视频的当前基准时间;
所述控制模块,包括:
第二确定子模块,用于确定所有待播放视频的当前基准时间中的最小值为当前时刻同步基准时间;
第二运算子模块,用于计算每路所述待播放视频的当前基准时间与所述当前时刻同步基准时间的差值;
显示子模块,用于在所述待播放视频的当前基准时间与所述当前时刻同步基准时间的差值小于或者等于预设偏差值时,显示所述待播放视频的当前待显示视频帧;
等待子模块,用于在所述待播放视频的当前基准时间与所述当前时刻同步基准时间的差值大于预设偏差值时,将所述待播放视频的当前待显示视频帧设置为等待状态,不显示所述当前待显示视频帧。
7.根据权利要求6所述的视频文件同步播放装置,其特征在于,所述时区时间为:所述待播放视频的拍摄地时间与预设标准地时间的时差。
8.根据权利要求6所述的视频文件同步播放装置,其特征在于,每路所述待播放视频中的时区时间存储在该待播放视频的每个关键帧后的私有帧中。
9.根据权利要求8所述的视频文件同步播放装置,其特征在于,所述解析模块,包括:
绝对时间确定子模块,用于并行解析每路待播放视频,得到每路所述待播放视频中每一视频帧的绝对时间,其中,所述绝对时间为:在所述待播放视频的拍摄地生成所述视频帧的拍摄地时间;
读取子模块,用于在解析到所述私有帧时,读取所述私有帧中存储的时区时间作为包含有所述私有帧的待播放视频的时区时间。
10.根据权利要求6所述的视频文件同步播放装置,其特征在于,所述预设偏差值为所有待播放视频中指定帧率的倒数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611170214.9A CN108206966B (zh) | 2016-12-16 | 2016-12-16 | 一种视频文件同步播放方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611170214.9A CN108206966B (zh) | 2016-12-16 | 2016-12-16 | 一种视频文件同步播放方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108206966A CN108206966A (zh) | 2018-06-26 |
CN108206966B true CN108206966B (zh) | 2020-07-03 |
Family
ID=62602054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611170214.9A Active CN108206966B (zh) | 2016-12-16 | 2016-12-16 | 一种视频文件同步播放方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108206966B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109525879A (zh) * | 2018-10-30 | 2019-03-26 | 北京凯视达科技有限公司 | 视频播放控制方法及装置 |
CN109769124A (zh) * | 2018-12-13 | 2019-05-17 | 广州华多网络科技有限公司 | 混流方法、装置、电子设备及存储介质 |
CN110430445B (zh) * | 2019-06-26 | 2021-12-10 | 深圳拙河科技有限公司 | 一种视频同步播放方法、装置、设备及介质 |
CN110475137B (zh) * | 2019-09-06 | 2021-05-14 | 北京市博汇科技股份有限公司 | 一种高精度分布式显控帧同步方法和*** |
CN111683215B (zh) * | 2020-06-05 | 2023-03-24 | 杭州海康威视数字技术股份有限公司 | 录像回放方法、装置、电子设备及计算机可读存储介质 |
CN112004132B (zh) * | 2020-09-02 | 2022-10-21 | 北京猿力未来科技有限公司 | 一种视频同步播放方法及装置 |
CN112565630B (zh) * | 2020-12-08 | 2023-05-05 | 杭州电子科技大学 | 一种用于视频拼接的视频帧同步方法 |
CN113163222A (zh) * | 2021-03-31 | 2021-07-23 | 杭州奥点科技股份有限公司 | 一种视频帧同步方法、***、设备及可读存储介质 |
CN113542811B (zh) * | 2021-07-15 | 2023-05-16 | 杭州海康威视数字技术股份有限公司 | 视频播放方法、装置及计算机可读存储介质 |
CN115883748A (zh) * | 2022-11-28 | 2023-03-31 | 中汽创智科技有限公司 | 一种数据回放的同步方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047776A (zh) * | 2006-04-17 | 2007-10-03 | 华为技术有限公司 | 移动广播网络***及实现该网络同步的方法 |
CN102630017A (zh) * | 2012-04-10 | 2012-08-08 | 中兴通讯股份有限公司 | 一种移动多媒体广播字幕同步的方法和*** |
CN105612758A (zh) * | 2013-11-20 | 2016-05-25 | 纳宝株式会社 | 视频提供方法及视频提供*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040103444A1 (en) * | 2002-11-26 | 2004-05-27 | Neal Weinberg | Point to multi-point broadcast-quality Internet video broadcasting system with synchronized, simultaneous audience viewing and zero-latency |
US9055335B2 (en) * | 2009-05-29 | 2015-06-09 | Cognitive Networks, Inc. | Systems and methods for addressing a media database using distance associative hashing |
-
2016
- 2016-12-16 CN CN201611170214.9A patent/CN108206966B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047776A (zh) * | 2006-04-17 | 2007-10-03 | 华为技术有限公司 | 移动广播网络***及实现该网络同步的方法 |
CN102630017A (zh) * | 2012-04-10 | 2012-08-08 | 中兴通讯股份有限公司 | 一种移动多媒体广播字幕同步的方法和*** |
CN105612758A (zh) * | 2013-11-20 | 2016-05-25 | 纳宝株式会社 | 视频提供方法及视频提供*** |
Also Published As
Publication number | Publication date |
---|---|
CN108206966A (zh) | 2018-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108206966B (zh) | 一种视频文件同步播放方法及装置 | |
CN106257930B (zh) | 生成内容的动态时间版本 | |
US8271553B2 (en) | Encoding method and apparatus and decoding method and apparatus | |
CN103165156B (zh) | 视频同步播放***及其视频播放方法、光盘 | |
CN101778257B (zh) | 用于数字视频点播中的视频摘要片断的生成方法 | |
US10129587B2 (en) | Fast switching of synchronized media using time-stamp management | |
US20090070850A1 (en) | System and method for searching video signals | |
CN103747287A (zh) | 应用于flash的视频播放速度调整的方法及*** | |
EP2683163A1 (en) | Synchronized content broadcast distribution system | |
US10462415B2 (en) | Systems and methods for generating a video clip and associated closed-captioning data | |
CN112272327B (zh) | 数据处理方法、装置、存储介质及设备 | |
WO2007081477A1 (en) | Converting a still image in a slide show to a plurality of video frame images | |
WO2019109678A1 (zh) | 字幕切换方法及显示设备 | |
US20070154164A1 (en) | Converting a still image in a slide show to a plurality of video frame images | |
JP6811811B1 (ja) | メタデータ生成システム、映像コンテンツ管理システム及びプログラム | |
CN107231578A (zh) | 视频文件快速播放的***及方法 | |
CN1063308C (zh) | 交互式图象同步字幕显示装置及显示方法 | |
US11128914B2 (en) | Client side stitching of content into a multimedia stream | |
KR20200029149A (ko) | 다수의 사이니지의 영상 동기화 방법 | |
WO2007055445A1 (en) | A pre-viewing method of multiple movies or movie-clips in multimedia apparatus | |
CN112118473A (zh) | 视频弹幕显示方法、装置、计算机设备及可读存储介质 | |
CN112291616B (zh) | 一种视频广告识别方法、装置、存储介质及设备 | |
CN116547960A (zh) | 用于在媒体回放期间支持前置式和中置式内容的mpeg dash的方法和装置 | |
CN117241091A (zh) | 用于处理图像解码数据的方法、装置及计算机可读介质 | |
CN117528177A (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 |