CN103179449B - 媒体文件的播放方法、电子设备和虚拟机架构 - Google Patents
媒体文件的播放方法、电子设备和虚拟机架构 Download PDFInfo
- Publication number
- CN103179449B CN103179449B CN201110437598.7A CN201110437598A CN103179449B CN 103179449 B CN103179449 B CN 103179449B CN 201110437598 A CN201110437598 A CN 201110437598A CN 103179449 B CN103179449 B CN 103179449B
- Authority
- CN
- China
- Prior art keywords
- files
- video file
- stream media
- time
- file
- 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
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明的实施例提供了媒体文件的播放方法、电子设备和虚拟机架构。该媒体文件的播放方法包括:在第一系统中播放一流媒体文件;根据所述流媒体文件分别获得视频文件和音频文件;向同一时间周期的视频文件和音频文件添加标签;对音频文件进行解码;将所述视频文件发送到第二系统,所述第二系统对所述视频文件进行解码;接收所述第二系统解码后的视频文件;根据所述标签对所述流媒体文件进行播放,以使得播放时音频和视频同步。通过根据本发明实施例的媒体文件的播放方法、电子设备和虚拟机架构,可以实现媒体文件的音视频的单独解码和同步播放,从而提高了解码效率,增强了播放性能。
Description
技术领域
本发明涉及媒体文件的播放方法、电子设备和虚拟机架构。
背景技术
在当前的电子设备中,存在具有多个操作系统和多个硬件系统的混合(Hybrid)系统,另外,还存在在一个硬件系统上利用虚拟机来加载多个操作系统的虚拟机架构。例如,对于某些电子设备,是在Windows系统下利用虚拟机来加载Android系统。在这样的多系统的电子设备中,在某些系统下的媒体文件的播放器可能不能得到真实的电子设备的硬件支持,因此具有较低的处理性能,导致很多应用的运行性能也比较低,典型地就是播放视频。
因此,需要改进的媒体文件的播放方法,能够提高在具有多个系统的电子设备中媒体文件的播放性能。
发明内容
因此,针对上述现有技术中存在的问题和需求做出本发明。
本发明实施例的目的是提供一种媒体文件的播放方法、电子设备和虚拟架构,其能够在不同系统中分开解码媒体文件的音频和视频,并以添加的标签的形式实现同步。
根据本发明实施例的一个方面,提供了一种媒体文件的播放方法,包括:在第一系统中播放一流媒体文件;根据所述流媒体文件分别获得视频文件和音频文件;向同一时间周期的视频文件和音频文件添加标签;对音频文件进行解码;将所述视频文件发送到第二系统,所述第二系统对所述视频文件进行解码;接收所述第二系统解码后的视频文件;根据所述标签对所述流媒体文件进行播放,以使得播放时音频和视频同步。
在上述方法中,所述根据所述流媒体文件分别获得视频文件和音频文件的步骤进一步包括:获取所述流媒体文件的播放属性,其中所述播放属性至少包括所述流媒体文件的每一时间周期的时间长度;以及所述接收所述第二系统解码后的视频文件的步骤进一步包括:在所述第一系统中设置状态机;当所述状态机被通知播放所述流媒体文件时,从第二系统接收解码后的视频文件;其中,所述第二系统基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件。
在上述方法中,所述根据所述标签对所述流媒体文件进行播放,以使得播放时音频和视频同步的步骤之后进一步包括:将所述状态机设置为空闲状态;且所述第二系统基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件具体包括:检测所述状态机的状态;在所述状态机处于空闲状态时,基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件。
在上述方法中,所述第二系统中对每一时间周期的视频文件进行解码的时间长度等于所述视频文件的每一时间周期的时间长度减去所述状态机的处理时间和每一时间周期的视频文件的转发时间。
在上述方法中,所述流媒体文件的每一时间周期是所述流媒体文件的一帧时间周期。
在上述方法中,所述第一系统和所述第二系统是同一电子设备的第一操作系统和第二操作系统。
在上述方法中,所述第一系统和所述第二系统分别是第一电子设备的第一操作系统和第二电子设备的第二操作系统。
根据本发明实施例的另一方面,提供了一种电子设备,包括第一系统和第二系统,该电子设备进一步包括控制器,所述控制器配置为控制第一系统以播放一流媒体文件;根据所述流媒体文件分别获得视频文件和音频文件;向同一时间周期的视频文件和音频文件添加标签;对音频文件进行解码;将所述视频文件发送到第二系统,并控制所述第二系统以对所述视频文件进行解码;控制所述第一系统接收所述第二系统解码后的视频文件;和根据所述标签对所述流媒体文件进行播放,以使得播放时音频和视频同步。
在上述电子设备中,所述控制器根据所述流媒体文件分别获得视频文件和音频文件进一步包括:所述控制器获取所述流媒体文件的播放属性,其中所述播放属性至少包括所述流媒体文件的每一时间周期的时间长度;以及所述控制器控制所述第一系统接收所述第二系统解码后的视频文件进一步包括:所述控制器在所述第一系统中设置状态机;当所述状态机被通知播放所述流媒体文件时,控制从第二系统接收解码后的视频文件;其中,所述控制器控制所述第二系统基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件。
在上述电子设备中,所述控制器根据所述标签对所述流媒体文件进行播放以使得播放时音频和视频同步之后进一步包括:所述控制器将所述状态机设置为空闲状态;且所述控制器控制所述第二系统基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件具体包括:所述控制器检测所述状态机的状态;以及在所述状态机处于空闲状态时,基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件。
在上述电子设备中,所述第二系统中对每一时间周期的视频文件进行解码的时间长度等于所述视频文件的每一时间周期的时间长度减去所述状态机的处理时间和每一时间周期的视频文件的转发时间。
在上述电子设备中,所述流媒体文件的每一时间周期是所述流媒体文件的一帧时间周期。
根据本发明实施例的又一方面,提供了一种虚拟机架构,应用于一电子设备,其中,所述电子设备具有第一操作系统和第二操作系统,并在所述第一操作系统下利用虚拟机加载所述第二操作系统,且所述第二操作系统作为前台系统运行,而所述第一操作系统作为后台系统运行,所述虚拟机架构包括控制单元,所述控制单元配置为控制所述第一操作系统以播放一流媒体文件;根据所述流媒体文件分别获得视频文件和音频文件;向同一时间周期的视频文件和音频文件添加标签;对音频文件进行解码;将所述视频文件发送到所述第二操作系统,并控制所述第二操作系统以对所述视频文件进行解码;控制所述第一操作系统接收所述第二操作系统解码后的视频文件;和根据所述标签对所述流媒体文件进行播放,以使得播放时音频和视频同步。
在上述虚拟机架构中,所述控制单元根据所述流媒体文件分别获得视频文件和音频文件进一步包括:所述控制单元获取所述流媒体文件的播放属性,其中所述播放属性至少包括所述流媒体文件的每一时间周期的时间长度;以及所述控制单元控制所述第一系统接收所述第二系统解码后的视频文件进一步包括:所述控制单元在所述第一系统中设置状态机;当所述状态机被通知播放所述流媒体文件时,控制从第二系统接收解码后的视频文件;其中,所述控制单元控制所述第二系统基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件。
在上述虚拟机架构中,所述控制单元根据所述标签对所述流媒体文件进行播放以使得播放时音频和视频同步之后进一步包括:所述控制单元将所述状态机设置为空闲状态;且所述控制单元控制所述第二系统基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件具体包括:所述控制单元检测所述状态机的状态;以及在所述状态机处于空闲状态时,基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件。
通过根据本发明实施例的媒体文件的播放方法、电子设备和虚拟机架构,可以实现媒体文件的音视频的单独解码和同步播放,从而提高了解码效率,增强了播放性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的媒体文件的播放方法的示意性流程图;
图2是示出根据本发明实施例的虚拟机架构的示意性框图;
图3是根据本发明实施例的媒体文件的播放方法在虚拟机架构中的具体应用示例的示例性流程图;
图4是示出了根据本发明实施例的电子设备的示意性框图。
具体实施方式
下面,将结合附图详细描述根据本发明实施例的媒体文件的播放方法、电子设备和虚拟机架构。
如上所述,对于具有多个系统的电子设备来说,由于存在某个系统不能够得到电子设备的硬件的充分支持的情况,因此为了提高媒体文件的播放性能,通常采用音视频单独解码的技术。即,音频在该系统内解码,而视频帧数据则被传递到另一能够得到硬件的充分支持的系统进行解码。例如,如上述在Windows系统下利用虚拟机加载Android系统的情况,可以在Android内解码音频,而在Windows下利用硬件的视频解码来实现视频帧数据的解码。但是,在这种音视频分别解码的情况下,由需要保证音视频解码后的数据在播放时能够同步播放,避免声音与图像不匹配和音视频丢帧等问题。
对于该问题,可以采用时间戳的方式来解决音视频同步的问题,即,选择参考时钟,令该参考时钟线性递增,对音视频帧数据打上时间戳,播放时读取时间戳,同时参考当前参考时钟的时间来播放。在播放时,以音频数据为基准,如果遇到音视频数据不匹配,则视频数据可视情况丢帧。但是,当该方案应用于如上所述的在Windows系统下利用虚拟机加载Android系统的情况时,由于Android系统的内部时钟不稳定,会时快时慢,因此这种采用时间戳的方案也会造成播放不稳定的问题。
根据本发明实施例的一个方面,提供了一种媒体文件的播放方法,包括:在第一系统中播放一流媒体文件;根据所述流媒体文件分别获得视频文件和音频文件;向同一时间周期的视频文件和音频文件添加标签;对音频文件进行解码;将所述视频文件发送到第二系统,所述第二系统对所述视频文件进行解码;接收所述第二系统解码后的视频文件;根据所述标签对所述流媒体文件进行播放,以使得播放时音频和视频同步。
在上述根据本发明实施例的方法中,在对流媒体文件的视频文件和音频文件进行分别解码时,为同一时间周期的视频文件和音频文件添加标签,并根据该标签来对解码后的音视频文件进行同步播放,从而避免了系统的内部时钟不稳定所造成的播放不稳定的问题。并且,这里,由于是在解码之前对流媒体文件例如通过解封装来分别获得视频文件和音频文件,可以保证该获得的视频文件和音频文件在时间上严格同步,从而对于每一时间周期的音频文件和视频文件来说,其添加的标签也可以完全对应。这样,在对视频文件和音频文件分别进行解码之后,之前属于同一时间周期的音视频文件解码之后的音视频文件将具有相同的标签,因此,通过标签的匹配来进行播放就可以保证音视频文件的同步播放。
在根据本发明实施例的媒体文件的播放方法中,该标签可以是简单的序号标签,因为是向每一时间周期的视频文件和音频文件添加标签,在添加标签的过程当中,已经预先考虑了视频文件和音频文件的时间属性,因此该添加的标签可以不必是时间戳,这也简化了标签本身的配置,同时提高了系统运行的效能。
图1是根据本发明实施例的媒体文件的播放方法的示意性流程图。如图1所示,该媒体文件的播放方法包括:S1,在第一系统中播放一流媒体文件;S2,根据所述流媒体文件分别获得视频文件和音频文件;S3,向同一时间周期的视频文件和音频文件添加标签;S4,对音频文件进行解码;S5,将所述视频文件发送到第二系统,所述第二系统对所述视频文件进行解码;S6,接收所述第二系统解码后的视频文件;S7,根据所述标签对所述流媒体文件进行播放,以使得播放时音频和视频同步。
在上述媒体文件的播放方法中,所述根据所述流媒体文件分别获得视频文件和音频文件的步骤进一步包括:获取所述流媒体文件的播放属性,其中所述播放属性至少包括所述流媒体文件的每一时间周期的时间长度;以及所述接收所述第二系统解码后的视频文件的步骤进一步包括:在所述第一系统中设置状态机;当所述状态机被通知播放所述流媒体文件时,从第二系统接收解码后的视频文件;其中,所述第二系统基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件。
在如上所述的Window系统和Android系统的虚拟机架构中,由于Android系统的内部时钟不稳定,因此当基于Android系统的内部时钟进行音视频的播放时,也会相应地造成播放的不稳定。对于其它采用多个系统的电子设备来说,不能够得到硬件的充分支持的系统相对于能够得到硬件的充分支持的系统来说,其时钟的稳定性会相对较差。因此,在根据本发明实施例的媒体文件的播放方法中,除了将要播放的流媒体文件的视频文件发送到另一系统进行解码以外,也可以由该另一系统进行时钟控制,以实现同步之后的音视频文件的稳定播放。
具体地说,在根据本发明实施例的媒体文件的播放方法中,当对流媒体文件进行例如解封装之类的操作以分别获得视频文件和音频文件时,可以进一步获得该视频文件和音频文件的文件属性,例如音视频类型、播放速率、播放尺寸等。特别地,当需要由另一系统来进行时钟控制时,需要获得流媒体文件的每一时间周期的时间长度,这样,也就获得了相应的视频文件的每一时间周期的时间长度。当在第二系统中进行视频文件的解码时,通过第二系统来控制解码的每一时间周期的视频文件和具有与其相对应的标签的音频文件的播放定时。在根据本发明实施例的媒体文件的播放方法中,这可以具体地通过在第一系统中设置状态机来实现,即,该第二系统基于视频文件的每一时间周期的时间长度来通知该状态机播放流媒体文件,并且仅当状态机被通知播放流媒体文件时,其才从第二系统接收解码后的视频文件,这样,就可以保证具有相对应的标签的音视频文件是在适当的定时在第一系统中进行同步播放。
这里,本领域技术人员可以理解,通常情况下,由于音频解码比视频解码要简单得多,即使第二系统能够得到硬件的充分支持,从而其解码性能要远远优于第一系统的解码性能,但是当第一系统仅进行音频文件的解码时,其解码速度仍然有很大可能要快于第二系统中视频文件的解码速度。并且,由于第一系统本身的系统内部时钟的不稳定性,其本身对于视频文件或音频文件的播放都会时快时慢。因此,在上述根据本发明实施例的媒体文件的播放方法中,使得第一系统仅当其状态机被通知播放流媒体文件时,才从第二系统接收解码后的视频文件,也就是说,使得第一系统仅在适当的定时才有可能实现音视频文件的同步播放,从而彻底杜绝了第一系统中流媒体播放的不稳定的问题。
当然,本领域技术人员可以理解,由第二系统来对第一系统中的流媒体文件进行时钟控制也可以有其它的方式,例如,由第二系统在第一系统中设置一播放定时器,从而直接控制第一系统中音视频文件的同步播放的定时。此时,第二系统不需要按照播放定时传送解码后的视频文件,也可以正常地将解码后的视频文件传送到第一系统,再通过控制第一系统中的播放定时器来实现媒体文件的播放。但是,由于在这种情况下,仍需要在第二系统中监视每一时间周期的视频文件的播放时间,并且还需要对第一系统中的播放定时器进行控制,其实现并不会比上述状态机的方案更加简单。并且,由于播放定时器也会受到第一系统中不稳定的内部时钟的影响,其播放定时的精确性也可能低于上述状态机的方案。
在上述媒体文件的播放方法中,所述根据所述标签对所述流媒体文件进行播放,以使得播放时音频和视频同步的步骤之后进一步包括:将所述状态机设置为空闲状态;且所述第二系统基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件具体包括:检测所述状态机的状态;在所述状态机处于空闲状态时,基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件。
由第二系统采用状态机来控制第一系统的播放定时的另一优点在于,可以通过状态机来随时监控第一系统中流媒体文件的播放状态。具体地说,当在第一系统中根据标签来对解码后的每一时间周期的视频文件和音频文件进行同步播放之后,可以将状态机设置为空闲状态,并且,第二系统可以仅在该状态机为空闲状态的情况下才通知第一系统播放该流媒体文件。这样,当对于某一时间周期的流媒体文件,在其解码后的视频文件和音频文件的同步播放出现临时停滞时,或者由于系统本身的故障或者由于用户的操作,可以在第一系统中将这种播放的临时停滞通知给状态机,从而使得第二系统可以通过状态机是否为空闲状态来知道第一系统中该播放的临时停滞,从而不至于无视第一系统中播放状态地控制第一系统中的流媒体文件的播放定时。也就是说,通过检测状态机是否处于空闲状态,第二系统可以根据第一系统中播放的临时停滞来暂停通知第一系统播放流媒体文件,并且基于该临时停滞相应地延迟在本系统对于解码后的视频文件的时钟控制,以保证流媒体文件的解码后的音视频文件的同步播放的定时的精确性。
在上述媒体文件的播放方法中,所述第二系统中对每一时间周期的视频文件进行解码的时间长度等于所述视频文件的每一时间周期的时间长度减去所述状态机的处理时间和每一时间周期的视频文件的转发时间。
如上所述,由于在根据本发明实施例的媒体文件的播放方法中,优选地在第二系统中对流媒体文件的解码后的音视频文件的同步播放的定时进行控制,因此代替在第一系统中对媒体文件的播放进行时钟控制,需要通过对第二系统中的视频文件的解码进行时钟控制来实现这种对媒体文件的播放的时钟控制。这里,本领域技术人员可以理解,因为在第二系统中并不会进行流媒体文件的实际播放而是仅进行视频文件的解码,因此虽然也可以在第二系统中直接对流媒体文件的播放进行时钟控制,但是反而不如对视频文件的解码进行时钟控制更加直接和精确。因为在第一系统中,实际上是根据接收到的每一时间周期的视频文件来进行具有相对应的标签的音频文件的匹配,所以每一时间周期的视频文件由第一系统接收到的时间间隔应该等于该视频文件的时间长度。这样,在第二系统中,对某一时间周期的视频文件进行解码的时间长度加上等于状态机的处理时间和该时间周期的视频文件的转发时间就应该等于视频文件的该时间周期的时间长度。
在上述媒体文件的播放方法中,所述流媒体文件的每一时间周期是所述流媒体文件的一帧时间周期。当然,本领域技术人员可以理解,由于流媒体文件的帧时间周期是流媒体文件自身的基本时间属性,因此采用其作为流媒体文件的每一时间周期对于系统的实现最为便捷,但是,根据其它情况,也可以选择其它的时间长度来作为流媒体文件的每一时间周期。例如,因为流媒体文件的帧时间周期通常为几十毫秒的量级,相对较短,并且可能并不需要以这样的短时间周期来进行音视频的同步,因此,可以在根据本发明实施例的媒体文件的播放方法中将流媒体文件的每一时间周期设置为秒级,从而减轻系统的负担。并且,本领域技术人员可以理解,这里流媒体文件的每一时间周期可以为均匀的时间周期,也可以为不均匀的时间周期,其可以根据需要播放的流媒体文件自身的属性来进行动态调整,本发明的实施例并不意在对此进行任意限制。
在上述媒体文件的播放方法中,所述第一系统和所述第二系统是同一电子设备的第一操作系统和第二操作系统。
在之前已经提到,在当前的电子设备中,存在具有多个操作系统和多个硬件系统的混合系统架构,此外还存在在一个硬件系统上运行多个操作系统的虚拟机架构。根据本发明实施例的媒体文件的播放方法既可以应用于前一种混合系统架构,也可以应用于后一种虚拟机架构,从而解决在无法得到硬件的充分支持的系统中解码视频文件以及内部时钟不稳定的问题。
图2是示出根据本发明实施例的虚拟机架构的示意性框图。如图2所示,在主机100上运行虚拟机200,且两者之间通过主机-虚拟机传送机制300连接。当虚拟机200的解码组件201接收到需要播放的流媒体文件时,将其传送到解码功能组件202,之后,解码功能组件202将要播放的流媒体文件传送到解码缓冲器及参数打包/拆包组件203,以从要播放的流媒体文件获得视频文件和音频文件。其中,视频文件被发送到视频数据转发组件205,并发送到客户机端数据传输模块206,以通过主机-虚拟机传送机制300传送到主机100的主机端解码程序101进行视频解码。音频文件被发送到虚拟机200自身的音频数据解码组件204,并与解码后的视频文件一起发送到呈现功能组件207,以在虚拟机系统中进行解码后的流媒体文件的呈现。
下面,将以主机系统为Windows系统,且虚拟机系统为Android系统为例对根据本发明实施例的媒体文件的播放方法的一个示例进行具体描述。
图3是根据本发明实施例的媒体文件的播放方法在虚拟机架构中的具体应用示例的示例性流程图。如图3所示,在步骤S11,当在虚拟机的Android系统中打开一个视频流媒体文件时,通过Android的标准OpenMax框架对媒体文件进行解析。随后,在步骤S12,对流媒体文件进行分析,以获取播放属性,包括音视频类型、播放速率(例如25帧/秒)、播放尺寸等,并对流媒体文件进行分割以分别获取音频数据和视频数据,并且,将对音视频数据打标签戳的计数器初始化。之后,在步骤S13,例如,对每帧数据打标签戳,从而对计数器计数,下面为了简洁,将以一帧数据为例进行描述,并且本领域技术人员可以理解,对于其它帧数据或者其它时间周期的数据也都是如此。在步骤13除了对每帧标记计数之外,还对已经添加了标签的音频数据,例如一帧音频数据解码。随后,在步骤S14,将打标签后的视频帧通过转发通道发送给主机端,除了视频帧之外,还将播放信息和计数器信息一同转发到主机端。在步骤S15,在主机端对视频数据进行解码,如上所述,根据流媒体文件的播放要求,例如25帧/秒播放的视频,则每帧视频的播放时间为40ms,假设状态机处理和数据转发共消耗时间5ms,则主机端应该在35ms内完成该帧数据的视频解码。在步骤S16,检查虚拟机一端的视频播放器的状态机的状态是否为空闲。在步骤S17,当检查到状态机的状态为空闲时,将经过主机解码的视频数据发送到虚拟机一端,并向状态机通知进行播放。在步骤S18,当状态机接收到该播放通知时,则通知播放器获取解码后的视频数据以进行播放。在步骤S19,在从主机端获取了解码后的视频数据以及在虚拟机一端内获取了解码后的音频数据之后,检测每帧视频数据和音频数据的标签是否一致,并播放具有相同标签的音视频数据,以实现分别解码的音频数据和视频数据的同步播放。在播放之后,通知状态机将状态设置为空闲,使得可以再次从主机端接收下一帧的解码的视频文件和播放通知。这样,按照上述流程依次处理每帧数据,则可以实现流媒体文件的流程播放。在如图3所示的整个处理过程中,利用主机端稳定的系统时钟计时来控制播放,虚拟机一端只响应和处理,从而保证了流媒体文件播放的流畅和音视频同步。而且,在主机端可利用硬件进行解码,效率高,并且无需像虚拟机系统中那样做丢帧等异常处理。
在上述媒体文件的播放方法中,所述第一系统和所述第二系统分别是第一电子设备的第一操作系统和第二电子设备的第二操作系统。
这里,本领域技术人员可以理解,上述媒体文件的播放方法除了应用于具有多个系统的单个电子设备之外,也可以应用于多个电子设备,从而使得例如不具有太强的视频解码性能的一个电子设备可以利用具有较强的视频解码性能的另一电子设备来进行视频解码,并实现流媒体文件的流程播放。当在两个独立的电子设备之间实现上述方法时,代替通过两个操作系统之间的转发通道进行数据和命令的传送,可以通过两个电子设备之间的通信来进行数据和命令的传送,本领域技术人员可以理解上述根据本发明实施例的媒体文件的播放方法如何应用于两个单独的电子设备,这里为了简洁的缘故便不再赘述。
根据本发明实施例的另一方面,提供了一种电子设备,包括第一系统和第二系统,该电子设备进一步包括控制器,所述控制器配置为在第一系统中播放一流媒体文件;根据所述流媒体文件分别获得视频文件和音频文件;向同一时间周期的视频文件和音频文件添加标签;对音频文件进行解码;将所述视频文件发送到第二系统,所述第二系统对所述视频文件进行解码;接收所述第二系统解码后的视频文件;和根据所述标签对所述流媒体文件进行播放,以使得播放时音频和视频同步。
图4是示出了根据本发明实施例的电子设备的示意性框图。如图4所示,电子设备10包括第一系统11和第二系统12,且进一步包括控制器13。该控制器13控制第一系统11以播放一流媒体文件,根据所述流媒体文件分别获得视频文件和音频文件,向同一时间周期的视频文件和音频文件添加标签,对音频文件进行解码,将所述视频文件发送到第二系统12,并控制第二系统12以对所述视频文件进行解码,控制第一系统11接收第二系统12解码后的视频文件,和根据所述标签对所述流媒体文件进行播放,以使得播放时音频和视频同步。
在上述电子设备中,所述控制器根据所述流媒体文件分别获得视频文件和音频文件进一步包括:所述控制器获取所述流媒体文件的播放属性,其中所述播放属性至少包括所述流媒体文件的每一时间周期的时间长度;以及所述控制器接收所述第二系统解码后的视频文件进一步包括:所述控制器在所述第一系统中设置状态机;当所述状态机被通知播放所述流媒体文件时,从第二系统接收解码后的视频文件;其中,所述控制器控制所述第二系统基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件。
在上述电子设备中,所述控制器根据所述标签对所述流媒体文件进行播放以使得播放时音频和视频同步之后进一步包括:所述控制器将所述状态机设置为空闲状态;且所述控制器控制所述第二系统基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件具体包括:所述控制器检测所述状态机的状态;以及在所述状态机处于空闲状态时,基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件。
在上述电子设备中,所述第二系统中对每一时间周期的视频文件进行解码的时间长度等于所述视频文件的每一时间周期的时间长度减去所述状态机的处理时间和每一时间周期的视频文件的转发时间。
在上述电子设备中,所述流媒体文件的每一时间周期是所述流媒体文件的一帧时间周期。
与上述媒体文件的播放方法类似,上述电子设备中的第一系统和第二系统既可以是混合系统架构,也可以是虚拟机架构,并且,在上面关于根据本发明实施例的媒体文件的播放方法的描述中的各种细节也可以等效地应用于上述电子设备,这里为了简洁的缘故便不再赘述。
根据本发明实施例的又一方面,提供了一种虚拟机架构,应用于一电子设备,其中,所述电子设备具有第一操作系统和第二操作系统,并在所述第一操作系统下利用虚拟机加载所述第二操作系统,且所述第二操作系统作为前台系统运行,而所述第一操作系统作为后台系统运行,所述虚拟机架构包括控制单元,所述控制单元配置为控制所述第一操作系统以播放一流媒体文件;根据所述流媒体文件分别获得视频文件和音频文件;向同一时间周期的视频文件和音频文件添加标签;对音频文件进行解码;将所述视频文件发送到所述第二操作系统,并控制所述第二操作系统以对所述视频文件进行解码;控制所述第一操作系统接收所述第二操作系统解码后的视频文件;和根据所述标签对所述流媒体文件进行播放,以使得播放时音频和视频同步。
在上述虚拟机架构中,所述控制单元根据所述流媒体文件分别获得视频文件和音频文件进一步包括:所述控制单元获取所述流媒体文件的播放属性,其中所述播放属性至少包括所述流媒体文件的每一时间周期的时间长度;以及所述控制单元控制所述第一系统接收所述第二系统解码后的视频文件进一步包括:所述控制单元在所述第一系统中设置状态机;当所述状态机被通知播放所述流媒体文件时,控制从第二系统接收解码后的视频文件;其中,所述控制单元控制所述第二系统基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件。
在上述虚拟机架构中,所述控制单元根据所述标签对所述流媒体文件进行播放以使得播放时音频和视频同步之后进一步包括:所述控制单元将所述状态机设置为空闲状态;且所述控制单元控制所述第二系统基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件具体包括:所述控制单元检测所述状态机的状态;以及在所述状态机处于空闲状态时,基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件。
通过根据本发明实施例的媒体文件的播放方法、电子设备和虚拟机架构,可以实现媒体文件的音视频的单独解码和同步播放,从而提高了解码效率,增强了播放性能。
本发明已经参考具体实施例进行了详细说明。然而,很明显,在不背离本发明的精神的情况下,本领域技术人员能够对实施例执行更改和替换。换句话说,本发明用说明的形式公开,而不是被限制地解释。要判断本发明的要旨,应该考虑所附的权利要求。
Claims (15)
1.一种媒体文件的播放方法,包括:
在第一系统中播放一流媒体文件;
根据所述流媒体文件分别获得视频文件和音频文件;
向同一时间周期的视频文件和音频文件添加标签;
对音频文件进行解码;
将所述视频文件发送到第二系统,所述第二系统对所述视频文件进行解码;
接收所述第二系统解码后的视频文件;
根据所述标签对所述流媒体文件进行播放,以使得播放时音频和视频同步。
2.如权利要求1所述的方法,所述根据所述流媒体文件分别获得视频文件和音频文件的步骤进一步包括:
获取所述流媒体文件的播放属性,其中所述播放属性至少包括所述流媒体文件的每一时间周期的时间长度;以及
所述接收所述第二系统解码后的视频文件的步骤进一步包括:
在所述第一系统中设置状态机;
当所述状态机被通知播放所述流媒体文件时,从第二系统接收解码后的视频文件;
其中,所述第二系统基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件。
3.如权利要求2所述的方法,其中,所述根据所述标签对所述流媒体文件进行播放,以使得播放时音频和视频同步的步骤之后进一步包括:
将所述状态机设置为空闲状态;
且所述第二系统基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件具体包括:
检测所述状态机的状态;
在所述状态机处于空闲状态时,基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件。
4.如权利要求2所述的方法,其中,所述第二系统中对每一时间周期的视频文件进行解码的时间长度等于所述视频文件的每一时间周期的时间长度减去所述状态机的处理时间和每一时间周期的视频文件的转发时间。
5.如权利要求1到4的任意一项所述的方法,其中,所述流媒体文件的每一时间周期是所述流媒体文件的一帧时间周期。
6.如权利要求1到4的任意一项所述的方法,其中,所述第一系统和所述第二系统是同一电子设备的第一操作系统和第二操作系统。
7.如权利要求1到4的任意一项所述的方法,其中,所述第一系统和所述第二系统分别是第一电子设备的第一操作系统和第二电子设备的第二操作系统。
8.一种电子设备,包括第一系统和第二系统,该电子设备进一步包括控制器,
所述控制器配置为控制第一系统以播放一流媒体文件;根据所述流媒体文件分别获得视频文件和音频文件;向同一时间周期的视频文件和音频文件添加标签;对音频文件进行解码;将所述视频文件发送到第二系统,并控制所述第二系统以对所述视频文件进行解码;控制所述第一系统接收所述第二系统解码后的视频文件;和根据所述标签对所述流媒体文件进行播放,以使得播放时音频和视频同步。
9.如权利要求8所述的电子设备,所述控制器根据所述流媒体文件分别获得视频文件和音频文件进一步包括:
所述控制器获取所述流媒体文件的播放属性,其中所述播放属性至少包括所述流媒体文件的每一时间周期的时间长度;以及
所述控制器控制所述第一系统接收所述第二系统解码后的视频文件进一步包括:
所述控制器在所述第一系统中设置状态机;当所述状态机被通知播放所述流媒体文件时,控制从第二系统接收解码后的视频文件;
其中,所述控制器控制所述第二系统基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件。
10.如权利要求9所述的电子设备,其中,所述控制器根据所述标签对所述流媒体文件进行播放以使得播放时音频和视频同步之后进一步包括:
所述控制器将所述状态机设置为空闲状态;
且所述控制器控制所述第二系统基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件具体包括:
所述控制器检测所述状态机的状态;以及在所述状态机处于空闲状态时,基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件。
11.如权利要求9所述的电子设备,其中,所述第二系统中对每一时间周期的视频文件进行解码的时间长度等于所述视频文件的每一时间周期的时间长度减去所述状态机的处理时间和每一时间周期的视频文件的转发时间。
12.如权利要求8到11的任意一项所述的电子设备,其中,所述流媒体文件的每一时间周期是所述流媒体文件的一帧时间周期。
13.一种虚拟机架构,应用于一电子设备,其中,所述电子设备具有第一操作系统和第二操作系统,并在所述第二操作系统下利用虚拟机加载所述第一操作系统,且所述第二操作系统作为前台系统运行,而所述第一操作系统作为后台系统运行,所述虚拟机架构包括控制单元,
所述控制单元配置为控制所述第一操作系统以播放一流媒体文件;根据所述流媒体文件分别获得视频文件和音频文件;向同一时间周期的视频文件和音频文件添加标签;对音频文件进行解码;将所述视频文件发送到所述第二操作系统,并控制所述第二操作系统以对所述视频文件进行解码;控制所述第一操作系统接收所述第二操作系统解码后的视频文件;和根据所述标签对所述流媒体文件进行播放,以使得播放时音频和视频同步。
14.如权利要求13所述的虚拟机架构,所述控制单元根据所述流媒体文件分别获得视频文件和音频文件进一步包括:
所述控制单元获取所述流媒体文件的播放属性,其中所述播放属性至少包括所述流媒体文件的每一时间周期的时间长度;以及
所述控制单元控制所述第一系统接收所述第二系统解码后的视频文件进一步包括:
所述控制单元在所述第一系统中设置状态机;当所述状态机被通知播放所述流媒体文件时,控制从第二系统接收解码后的视频文件;
其中,所述控制单元控制所述第二系统基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件。
15.如权利要求14所述的虚拟机架构,其中,所述控制单元根据所述标签对所述流媒体文件进行播放以使得播放时音频和视频同步之后进一步包括:
所述控制单元将所述状态机设置为空闲状态;
且所述控制单元控制所述第二系统基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件具体包括:
所述控制单元检测所述状态机的状态;以及在所述状态机处于空闲状态时,基于所述视频文件的每一时间周期的时间长度来通知所述状态机播放所述流媒体文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110437598.7A CN103179449B (zh) | 2011-12-23 | 2011-12-23 | 媒体文件的播放方法、电子设备和虚拟机架构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110437598.7A CN103179449B (zh) | 2011-12-23 | 2011-12-23 | 媒体文件的播放方法、电子设备和虚拟机架构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103179449A CN103179449A (zh) | 2013-06-26 |
CN103179449B true CN103179449B (zh) | 2016-03-02 |
Family
ID=48639020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110437598.7A Active CN103179449B (zh) | 2011-12-23 | 2011-12-23 | 媒体文件的播放方法、电子设备和虚拟机架构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103179449B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150062353A1 (en) * | 2013-08-30 | 2015-03-05 | Microsoft Corporation | Audio video playback synchronization for encoded media |
CN103747316B (zh) * | 2013-12-23 | 2018-04-06 | 乐视致新电子科技(天津)有限公司 | 一种音视频同步方法和电子设备 |
CN105898506A (zh) * | 2016-05-03 | 2016-08-24 | 乐视控股(北京)有限公司 | 媒体文件的多屏播放方法和系统 |
CN111083506B (zh) * | 2019-12-06 | 2022-02-11 | 张致远 | 一种基于5g智能终端的管理系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6101591A (en) * | 1998-03-25 | 2000-08-08 | International Business Machines Corporation | Method and system for selectively independently or simultaneously updating multiple system time clocks in an MPEG system |
CN1312650A (zh) * | 2000-01-10 | 2001-09-12 | Lg电子株式会社 | 使音频/视频信号与数据之间的视频索引同步的方法和系统 |
CN1647514A (zh) * | 2002-04-05 | 2005-07-27 | 松下电器产业株式会社 | 为便携设备从多个不同源提供媒体内容的编辑系统和方法 |
JP2005286845A (ja) * | 2004-03-30 | 2005-10-13 | Alpine Electronics Inc | 複数機器同期稼働システム |
CN1969562A (zh) * | 2004-05-13 | 2007-05-23 | 高通股份有限公司 | 在无线通信系统中的音频和视频数据的同步 |
CN101272501A (zh) * | 2008-05-07 | 2008-09-24 | 北京数码视讯科技股份有限公司 | 一种视音频编解码方法和装置 |
CN101466044A (zh) * | 2007-12-19 | 2009-06-24 | 康佳集团股份有限公司 | 一种流媒体音视频同步播放的方法及其系统 |
CN102215429A (zh) * | 2010-04-01 | 2011-10-12 | 安凯(广州)微电子技术有限公司 | 一种用于移动电视的录制方法 |
CN102981887A (zh) * | 2011-09-06 | 2013-03-20 | 联想(北京)有限公司 | 数据处理方法及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI410870B (zh) * | 2010-03-26 | 2013-10-01 | Novatek Microelectronics Corp | 電腦系統架構 |
-
2011
- 2011-12-23 CN CN201110437598.7A patent/CN103179449B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6101591A (en) * | 1998-03-25 | 2000-08-08 | International Business Machines Corporation | Method and system for selectively independently or simultaneously updating multiple system time clocks in an MPEG system |
CN1312650A (zh) * | 2000-01-10 | 2001-09-12 | Lg电子株式会社 | 使音频/视频信号与数据之间的视频索引同步的方法和系统 |
CN1647514A (zh) * | 2002-04-05 | 2005-07-27 | 松下电器产业株式会社 | 为便携设备从多个不同源提供媒体内容的编辑系统和方法 |
JP2005286845A (ja) * | 2004-03-30 | 2005-10-13 | Alpine Electronics Inc | 複数機器同期稼働システム |
CN1969562A (zh) * | 2004-05-13 | 2007-05-23 | 高通股份有限公司 | 在无线通信系统中的音频和视频数据的同步 |
CN101466044A (zh) * | 2007-12-19 | 2009-06-24 | 康佳集团股份有限公司 | 一种流媒体音视频同步播放的方法及其系统 |
CN101272501A (zh) * | 2008-05-07 | 2008-09-24 | 北京数码视讯科技股份有限公司 | 一种视音频编解码方法和装置 |
CN102215429A (zh) * | 2010-04-01 | 2011-10-12 | 安凯(广州)微电子技术有限公司 | 一种用于移动电视的录制方法 |
CN102981887A (zh) * | 2011-09-06 | 2013-03-20 | 联想(北京)有限公司 | 数据处理方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103179449A (zh) | 2013-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103200461B (zh) | 一种多台播放终端同步播放系统及播放方法 | |
EP1771146B1 (en) | Frame synchronization in an ethernet ntp time-keeping digital cinema playback system | |
TW202010314A (zh) | 動態縮減替換內容之播放以幫助對齊替換內容之結束與已替換內容之結束 | |
CN102883217B (zh) | 控制视频播放的方法及装置 | |
CN103179449B (zh) | 媒体文件的播放方法、电子设备和虚拟机架构 | |
CN107995503B (zh) | 音视频播放方法和装置 | |
CN110581973B (zh) | 数据回放方法、装置、终端设备及存储介质 | |
KR20160139020A (ko) | Mmt 및 dash를 이용한 브로드캐스트 및 브로드밴드 하이브리드 서비스 | |
CN102421035A (zh) | 数字电视音视频同步的实现方法及装置 | |
CN104837052A (zh) | 播放多媒体数据的方法及装置 | |
CN103428462A (zh) | 一种多通道音视频处理方法和装置 | |
EP1443773B1 (en) | Device and process for the read-synchronization of video and ancillary data | |
US9615130B2 (en) | Method and device for processing multimedia frame and storage medium | |
TW202123717A (zh) | 在媒體串流播放之間進行轉換的同時動態播放轉換訊框 | |
CN115426515B (zh) | 多设备同步校准的方法、设备、系统和存储介质 | |
CN107787586B (zh) | 用于在多媒体系统中发送和接收信号的方法和装置 | |
CN103491430A (zh) | 流媒体数据处理方法和电子设备 | |
CN103873804A (zh) | 用于嵌入式nvr的录像回放时间轴与内容同步控制方法 | |
US8509598B1 (en) | Electronic apparatus and index generation method | |
CN108521604A (zh) | 重定向视频的多屏显示方法及装置 | |
CN103139610B (zh) | 集群视频同步播放的方法和装置 | |
CN110505425B (zh) | 一种解码方法、解码装置、电子设备和可读存储介质 | |
JP6128329B2 (ja) | 映像記録装置およびカメラデコーダ | |
CN114339267B (zh) | 文件轮播推流方法、装置及直播推流服务器 | |
CN113271487B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |