CN110248233A - 一种音视频播放方法、装置、设备及存储介质 - Google Patents
一种音视频播放方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110248233A CN110248233A CN201910646845.0A CN201910646845A CN110248233A CN 110248233 A CN110248233 A CN 110248233A CN 201910646845 A CN201910646845 A CN 201910646845A CN 110248233 A CN110248233 A CN 110248233A
- Authority
- CN
- China
- Prior art keywords
- video
- audio
- data
- initial position
- audio data
- 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/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
-
- 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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本申请公开了一种音视频播放方法、装置、设备及存储介质,所述方法包括:确定目标音视频的音频数据的第一文件起始位置和视频数据的第二文件起始位置;当所述第一文件起始位置与所述第二文件起始位置间的可存储数据量大于等于预设阈值时,基于双IO通道分别读取所述音频数据和视频数据;根据读取的音频数据和视频数据的解码时间戳对所述读取的音频数据和视频数据进行排序;基于排序后的音频数据和视频数据播放所述目标音视频。利用本申请提供的技术方案可以解决网络有效数据传输低下,以及音频数据与视频数据无法同步的问题,保证解码播放时,音频数据和视频数据的同步,避免卡顿的现象。
Description
技术领域
本申请涉及多媒体技术领域,尤其涉及一种音视频播放方法、装置、设备及存储介质。
背景技术
随着信息化技术的高速发展,多媒体技术已经成为人们生活中一种非常重要的交流手段和信息获取手段,多媒体中的音视频为人们提供了巨大的信息量,音视频播放技术作为现代流媒体播放技术的重要组成部分,其播放效果的好坏直接影响人们摄取信息的质量,并且影响人们的主观感受。
现有技术中mp4等音视频中的视频数据和音频数据可以是交织存储的,也可以单独分开,位于文件的不同位置。音视频播放时,对于交织存储的音视频,可以直接把音频数据和视频数据一起读出来。对于单独分开(非交织)存储的音视频,由于音频数据和视频数据在文件中的位置间隔较远,需要基于视频数据和音频数据的位置信息不断切换读取。但这种不断切换读取音视频的方式,在切换时带来多次的握手断开等操作,导致网络有效数据传输低下,且音频数据与视频数据无法同步获取,带来音视频播放时的卡顿问题。因此,需要提供更可靠或更有效的方案。
发明内容
本申请提供了一种音视频播放方法、装置、设备及存储介质,可以解决网络有效数据传输低下,以及音频数据与视频数据无法同步的问题,保证解码播放时,音频数据和视频数据的同步,避免卡顿的现象。
一方面,本申请提供了一种音视频播放方法,所述方法包括:
确定目标音视频的音频数据的第一文件起始位置和视频数据的第二文件起始位置;
当所述第一文件起始位置与所述第二文件起始位置间的可存储数据量大于等于预设阈值时,基于双IO通道分别读取所述音频数据和视频数据;
根据读取的音频数据和视频数据的解码时间戳对所述读取的音频数据和视频数据进行排序;
基于排序后的音频数据和视频数据播放所述目标音视频。
另一方面提供了一种音视频播放装置,所述装置包括:起始位置确定模块,用于确定目标音视频的音频数据的第一文件起始位置和视频数据的第二文件起始位置;
第一数据读取模块,用于当所述第一文件起始位置与所述第二文件起始位置间的可存储数据量大于等于预设阈值时,基于双IO通道分别读取所述音频数据和视频数据;
排序模块,用于根据读取的音频数据和视频数据的解码时间戳对所述读取的音频数据和视频数据进行排序;
第一目标音视频播放模块,用于基于排序后的音频数据和视频数据播放所述目标音视频。
在一些实施例中,所述第一数据读取模块包括:
第一IO通道建立模块,用于基于所述第一文件起始位置建立第一IO通道;
第二IO通道建立模块,用于基于所述第二文件起始位置建立第二IO通道;
第一数据读取单元,用于利用所述第一IO通道和所述第二IO通道分别读取所述音频数据和所述音频数据。
在一些实施例中,所述第一目标音视频播放模块包括:
解码处理单元,用于利用解码器对排序后的音频数据和视频数据进行解码处理;
目标音视频播放单元,用于基于解码处理后的音频数据和视频数据播放所述目标音视频。
在一些实施例中,所述起始位置确定模块包括:
元数据解析单元,用于对所述目标音视频的元数据进行解析,得到所述目标音视频的文件位置索引;
起始位置确定单元,用于基于所述文件位置索引确定所述确定目标音视频的音频数据的第一文件起始位置和视频数据的第二文件起始位置。
在一些实施例中,所述排序模块包括:
解码时间戳确定单元,用于确定读取的音频数据和视频数据的解码时间戳;
排序单元,用于将所述读取的音频数据和视频数据,按照所述音频数据和视频数据的解码时间戳的时间先后进行排序。
在一些实施例中,所述装置还包括:
可存储数据量计算模块,用于所述确定目标音视频的音频数据的第一文件起始位置和视频数据的第二文件起始位置之后,计算所述目标音视频的音视频文件中第一文件起始位置和所述第二文件起始位置间的可存储数据量。
在一些实施例中,所述装置还包括:
第二数据读取模块,用于当所述第一文件起始位置与所述第二文件起始位置间的可存储数据量小于预设阈值时,基于单IO通道读取所述音频数据和所述视频数据;
第二目标音视频播放模块,用于基于所述单IO通道读取的音频数据和视频数据播放所述目标音视频。
另一方面提供了一种音视频播放设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述的音视频播放方法。
另一方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述的音视频播放方法。
本申请提供的音视频播放方法、装置、设备及存储介质,具有如下技术效果:
本申请通过对音频数据和视频数据在音视频文件中的存储位置间的距离(可存储数据量)的确定,可以准确的识别出非交织存储的音频数据和视频数据,并通过创建双IO通道,以分别读取所述音频数据和视频数据;以及将读取的音频数据和视频数据按照解码时间戳进行排序后解码播放,可以解决网络有效数据传输低下,以及音频数据与视频数据无法同步的问题。通过排序可以更好的保证解码播放时,音频数据和视频数据的同步,避免卡顿的现象。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的一种应用环境的示意图;
图2是本申请实施例提供的另一种应用环境的示意图;
图3是本申请实施例提供的一种音视频播放方法的流程示意图;
图4是本申请实施例提供的一种确定目标音视频的音频数据的第一文件起始位置和视频数据的第二文件起始位置的流程示意图;
图5是本申请实施例提供的一种非交织音视频文件的结构示意图;
图6是本申请实施例提供的一种基于双IO通道分别读取所述音频数据和视频数据的流程示意图;
图7是本申请实施例提供的一种根据读取的音频数据和视频数据的解码时间戳对所述读取的音频数据和视频数据进行排序的流程示意图;
图8是本申请实施例提供的一种基于排序后的音频数据和视频数据播放所述目标音视频的流程示意图;
图9是本申请实施例提供的另一种音视频播放方法的流程示意图;
图10是本申请实施例提供的一种交织音视频文件的结构示意图;
图11是本申请实施例提供的一种非交织音视频播放的示意图;
图12是本申请实施例提供的一种音视频播放装置的结构示意图;
图13是本申请实施例提供的一种客户端的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,图1是本申请实施例提供的一种应用环境的示意图,如图1所示,该应用环境可以包括客户端02和服务器01。
具体的,所述服务器01可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。所述服务器01可以为所述客户端02的后台服务,所述服务器01可以存储有需要发布音视频文件,在一个而具体的实施例中,所述服务器01多媒体发布平台的后端服务器。
具体的,客户端02可以包括运行于实体设备中的软体,例如某些服务商提供的音视频播放软件等,也可以包括安装有应用的智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备等类型的实体设备。本申请实施例中客户端02上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows等。具体的,所述客户端02可以基于服务器传输的音视频文件进行音视频的播放。
此外,需要说明的是,上述应用环境仅仅是一种示例,在实际应用中,还可以包括其他应用环境,例如如图2所示,也可以是将终端03上的音视频文件传输给另一终端04,由该终端04进行音视频的播放。本说明书实施例并不以上述为限。
以下介绍本申请一种音视频播放方法,图3是本申请实施例提供的一种音视频播放方法的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图3所示,所述方法可以包括:
S301:确定目标音视频的音频数据的第一文件起始位置和视频数据的第二文件起始位置。
本说明书实施例中,目标音视频可以包括任意一个或多个需要播放的音视频。具体的,在读取音视频前,可以先确定播放的音视频的音频数据和视频数据在音视频文件中存储的起始位置。相应的,所述第一文件起始位置可以为音频数据在目标音视频的音视频文件中存储的起始位置;所述第二文件起始位置可以为视频数据在目标音视频的音视频文件中存储的起始位置。
在一个具体的实施例中,如图4所示,确定目标音视频的音频数据的第一文件起始位置和视频数据的第二文件起始位置可以包括:
S3011:对所述目标音视频的元数据进行解析,得到所述目标音视频的文件位置索引。
S3013:基于所述文件位置索引确定所述确定目标音视频的音频数据的第一文件起始位置和视频数据的第二文件起始位置。
在实际应用中,播放音视频所需的文件位置索引等数据往往存储在元数据中。本说明书实施例中,可以通过对目标音视频的元数据进行解析,进而得到目标音视频的文件位置索引,进而来确定音频数据和视频数据在音视频文件中存储的起始位置。
S303:当所述第一文件起始位置与所述第二文件起始位置间的可存储数据量大于等于预设阈值时,基于双IO通道分别读取所述音频数据和视频数据。
本说明书实施例中,在确定目标音视频的音频数据的第一文件起始位置和视频数据的第二文件起始位置后,可以计算所述目标音视频的音视频文件中第一文件起始位置和所述第二文件起始位置间的可存储数据量。
如图5所示,当所述第一文件起始位置与所述第二文件起始位置间的可存储数据量大于等于预设阈值时,可以确定目标音视频的音频数据和视频数据是非交织存储的,即分开存储在音视频文件的不同位置。相应的,基于双IO通道分别读取所述音频数据和视频数据,以便读取的音频数据和视频数据可以分别存储在相应的缓存空间。
在实际应用中,MP4格式等的音视频文件中,所有的内容存在一个称为movie的容器中。一个movie可以由多个tracks(轨道)组成。每个track就是一个随时间变化的媒体序列,例如,视频帧序列。track里的每个时间单位是一个sample(数据单元),它可以是一帧视频,或者音频。sample按照时间顺序排列。且一帧音频可以分解成多个音频sample,所以音频一般用sample作为单位,而不用帧。MP4文件格式的定义里面,用sample这个单词表示一个时间帧或者数据单元。因此,在读取音频数据和视频数据时,可以以一个sample为单位来读取音视频和视频数据。相应的,本说明书实施例中,所述预设阈值可以结合实际应用中音视频数据中一个sample的音频数据和视频数据的数据量确定,一般的交织存储的音视频数据中音频数据和视频数据的起始位置间的可存储数据量在几百k左右。在一个具体的实施例中,预设阈值可以设置为1MB。
具体的,如图6所示,基于双IO通道分别读取所述音频数据和视频数据可以包括:
S3031:基于所述第一文件起始位置建立第一IO通道。
S3033:基于所述第二文件起始位置建立第二IO通道。
S3035:利用所述第一IO通道和所述第二IO通道分别读取所述音频数据和所述音频数据。
本说明书实施例中,双IO(input/output,输入/输出)通道可以包括用于传输音频数据的第一IO通道和用于传输视频数据的第二IO通道。
本说明书实施例中,在确定音频数据和视频数据分开存储在音视频文件的不同位置后,可以建立两个网络连接,以便音频数据和视频数据可以基于各自的IO通道进行传输,避免音频数据和视频数据在文件中的位置间隔较远,需要基于位置信息不断切换传输视频数据和音频数据,而导致的网络有效数据传输低下,以及音频数据与视频数据无法同步的问题。
S305:根据读取的音频数据和视频数据的解码时间戳对所述读取的音频数据和视频数据进行排序。
在实际应用中,音频数据和视频数据在同步传输的过程中,还存在因网络延时等导致的不同步,相应的,本说明书实施例中,可以根据音频数据和视频数据的解码时间戳对音频数据和视频数据进行排序,在一个具体的实施例中,如图7所示,所述根据读取的音频数据和视频数据的解码时间戳对所述读取的音频数据和视频数据进行排序可以包括:
S3051:确定读取的音频数据和视频数据的解码时间戳。
在实际应用中,音频数据和视频数据都具有相应的解码时间戳,本说明书实施例中,在读取音频数据和视频数据时,可以直接读取音频数据和视频数据的解码时间戳。具体的,解码时间戳(Decode Time Stamp,DTS)可以为从接收机缓冲区进入解码器进行解码的时间。
S3053:将所述读取的音频数据和视频数据,按照所述音频数据和视频数据的解码时间戳的时间先后进行排序。
在实际应用中,可以结合sort函数对音频数据和视频数据进行排序。
本说明书实施例中,通过将读取的音频数据和视频数据按照解码时间戳进行排序,可以更好的保证解码播放时,音频数据和视频数据的同步,避免卡顿的现象。
S307:基于排序后的音频数据和视频数据播放所述目标音视频。
本说明书实施例中,在对音频数据和视频数据排序后,可以基于排序后的音频数据和视频数据播放所述目标音视频,具体的,如图8所示,可以包括:
S3071:利用解码器对排序后的音频数据和视频数据进行解码处理。
S3073:基于解码处理后的音频数据和视频数据播放所述目标音视频。
在实际应用中,音视频文件的每个track会有一个或者多个sampledescriptions(数据单元的说明)。track里面的每个sample通过引用关联到一个sample description。这个sample descriptions定义了怎样解码这个sample,例如使用的编码算法。本说明书实施例中,可以在读取音频数据和视频数据时,获取该压缩算法。
本说明书实施例中,音视频的编码算法可以包括但不限于H264。具体的,H264为ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准。
在另一些实施例中,如图9所示,所述方法还可以包括:
S309:当所述第一文件起始位置与所述第二文件起始位置间的可存储数据量小于预设阈值时,基于单IO通道读取所述音频数据和所述视频数据。
具体的,如图10所示,当所述第一文件起始位置与所述第二文件起始位置间的可存储数据量小于预设阈值时,可以确定音视频文件中的音频数据和视频数据是交织存储的,相应的,基于单IO通道读取所述音频数据和所述视频数据。即建立一个网络连接,以按序读取音频数据和视频数据。
S311:基于所述单IO通道读取的音频数据和视频数据播放所述目标音视频。
在一个具体的实施例中,如图11所示,图11是本申请实施例提供的一种非交织音视频播放的示意图。具体的,可以分别基于第一IO通道和第二IO通道读取音频数据和视频数据,接着,进行排序、解码播放,实现非交织音视频的流畅播放。
由以上本说明书实施例提供的技术方案可见,本说明书实施例中通过对音频数据和视频数据在音视频文件中的存储位置间的距离(可存储数据量)的判断,可以准确的判断出音频数据和视频数据是否交织存储;当音频数据和视频数据非交织存储时,可以创建双IO通道,以分别读取所述音频数据和视频数据;解决网络有效数据传输低下,以及音频数据与视频数据无法同步的问题。且,通过将读取的音频数据和视频数据按照解码时间戳进行排序,可以更好的保证解码播放时,音频数据和视频数据的同步,避免卡顿的现象。当音频数据和视频数据交织存储时,可以直接基于单IO通道按序读取音频数据和视频数据以实现音视频的播放。
本申请实施例还提供了一种音视频播放装置,如图12所示,所述装置包括:
起始位置确定模块1210,可以用于确定目标音视频的音频数据的第一文件起始位置和视频数据的第二文件起始位置;
第一数据读取模块1220,可以用于当所述第一文件起始位置与所述第二文件起始位置间的可存储数据量大于等于预设阈值时,基于双IO通道分别读取所述音频数据和视频数据;
排序模块1230,可以用于根据读取的音频数据和视频数据的解码时间戳对所述读取的音频数据和视频数据进行排序;
第一目标音视频播放模块1240,可以用于基于排序后的音频数据和视频数据播放所述目标音视频。
在一些实施例中,所述第一数据读取模块1220可以包括:
第一IO通道建立模块,用于基于所述第一文件起始位置建立第一IO通道;
第二IO通道建立模块,用于基于所述第二文件起始位置建立第二IO通道;
第一数据读取单元,用于利用所述第一IO通道和所述第二IO通道分别读取所述音频数据和所述音频数据。
在一些实施例中,所述第一目标音视频播放模块1240可以包括:
解码处理单元,用于利用解码器对排序后的音频数据和视频数据进行解码处理;
目标音视频播放单元,用于基于解码处理后的音频数据和视频数据播放所述目标音视频。
在一些实施例中,所述起始位置确定模块1210可以包括:
元数据解析单元,用于对所述目标音视频的元数据进行解析,得到所述目标音视频的文件位置索引;
起始位置确定单元,用于基于所述文件位置索引确定所述确定目标音视频的音频数据的第一文件起始位置和视频数据的第二文件起始位置。
在一些实施例中,所述排序模块1230可以包括:
解码时间戳确定单元,用于确定读取的音频数据和视频数据的解码时间戳;
排序单元,用于将所述读取的音频数据和视频数据,按照所述音频数据和视频数据的解码时间戳的时间先后进行排序。
在一些实施例中,所述装置还包括:
可存储数据量计算模块,用于所述确定目标音视频的音频数据的第一文件起始位置和视频数据的第二文件起始位置之后,计算所述目标音视频的音视频文件中第一文件起始位置和所述第二文件起始位置间的可存储数据量。
在一些实施例中,所述装置还包括:
第二数据读取模块,用于当所述第一文件起始位置与所述第二文件起始位置间的可存储数据量小于预设阈值时,基于单IO通道读取所述音频数据和所述视频数据;
第二目标音视频播放模块,用于基于所述单IO通道读取的音频数据和视频数据播放所述目标音视频。
所述的装置实施例中的装置与方法实施例基于同样地申请构思。
本申请实施例提供了一种音视频播放设备,该音视频播放设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的音视频播放方法。
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本申请实施例所提供的方法实施例可以在客户端(移动终端、计算机终端)、服务器或者类似的运算装置中执行。以运行在客户端上为例,图13是本发明实施例提供的一种客户端的结构示意图,如图13所示,该客户端可以用于实施上述实施例中提供的信息交互方法。具体来讲:
所述客户端可以包括RF(Radio Frequency,射频)电路1310、包括有一个或一个以上计算机可读存储介质的存储器1320、输入单元1330、显示单元1340、传感器1350、音频电路1360、WiFi(wireless fidelity,无线保真)模块1370、包括有一个或者一个以上处理核心的处理器1380、以及电源1390等部件。本领域技术人员可以理解,图13中示出的客户端结构并不构成对客户端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路1310可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器1380处理;另外,将涉及上行的数据发送给基站。通常,RF电路1310包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路1310还可以通过无线通信与网络和其他客户端通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System ofMobilecommunication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(WidebandCode Division Multiple Access,宽带码分多址)、LTE(LongTerm Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。
存储器1320可用于存储软件程序以及模块,处理器1380通过运行存储在存储器1320的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述客户端的使用所创建的数据等。此外,存储器1320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1320还可以包括存储器控制器,以提供处理器1380和输入单元1330对存储器1320的访问。
输入单元1330可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元1330可包括触敏表面1331以及其他输入设备1332。触敏表面1331,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面1331上或在触敏表面1331附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面1331可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1380,并能接收处理器1380发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面1331。除了触敏表面1331,输入单元1330还可以包括其他输入设备1332。具体地,其他输入设备1332可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1340可用于显示由用户输入的信息或提供给用户的信息以及所述客户端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元1340可包括显示面板1341,可选的,可以采用LCD(Liquid CrystalDisplay,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板1341。进一步的,触敏表面1331可覆盖显示面板1341,当触敏表面1331检测到在其上或附近的触摸操作后,传送给处理器1380以确定触摸事件的类型,随后处理器1380根据触摸事件的类型在显示面板1341上提供相应的视觉输出。其中,触敏表面1331与显示面板1341可以两个独立的部件来实现输入和输入功能,但是在某些实施例中,也可以将触敏表面1331与显示面板1341集成而实现输入和输出功能。
所述客户端还可包括至少一种传感器1350,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1341的亮度,接近传感器可在所述客户端移动到耳边时,关闭显示面板1341和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别客户端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于所述客户端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1360、扬声器1361,传声器1362可提供用户与所述客户端之间的音频接口。音频电路1360可将接收到的音频数据转换后的电信号,传输到扬声器1361,由扬声器1361转换为声音信号输出;另一方面,传声器1362将收集的声音信号转换为电信号,由音频电路1360接收后转换为音频数据,再将音频数据输出处理器1380处理后,经RF电路1310以发送给比如另一客户端,或者将音频数据输出至存储器1320以便进一步处理。音频电路1360还可能包括耳塞插孔,以提供外设耳机与所述客户端的通信。
WiFi属于短距离无线传输技术,所述客户端通过WiFi模块1370可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图13示出了WiFi模块1370,但是可以理解的是,其并不属于所述客户端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1380是所述客户端的控制中心,利用各种接口和线路连接整个客户端的各个部分,通过运行或执行存储在存储器1320内的软件程序和/或模块,以及调用存储在存储器1320内的数据,执行所述客户端的各种功能和处理数据,从而对客户端进行整体监控。可选的,处理器1380可包括一个或多个处理核心;优选的,处理器1380可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1380中。
所述客户端还包括给各个部件供电的电源1390(比如电池),优选的,电源可以通过电源管理系统与处理器1380逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1390还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,所述客户端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,客户端的显示单元是触摸屏显示器,客户端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行本发明中方法实施例中的指令。
本申请的实施例还提供了一种存储介质,所述存储介质可设置于服务器之中以保存用于实现方法实施例中一种音视频播放方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述方法实施例提供的音视频播放方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
由上述本申请提供的音视频播放方法、装置、设备或存储介质的实施例可见,本申请中通过对音频数据和视频数据在音视频文件中的存储位置间的距离(可存储数据量)的判断,可以准确的判断出音频数据和视频数据是否交织存储;当音频数据和视频数据非交织存储时,可以创建双IO通道,以分别读取所述音频数据和视频数据;解决网络有效数据传输低下,以及音频数据与视频数据无法同步的问题。且,通过将读取的音频数据和视频数据按照解码时间戳进行排序,可以更好的保证解码播放时,音频数据和视频数据的同步,避免卡顿的现象。当音频数据和视频数据交织存储时,可以直接基于单IO通道按序读取音频数据和视频数据以实现音视频的播放。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种音视频播放方法,其特征在于,所述方法包括:
确定目标音视频的音频数据的第一文件起始位置和视频数据的第二文件起始位置;
当所述第一文件起始位置与所述第二文件起始位置间的可存储数据量大于等于预设阈值时,基于双IO通道分别读取所述音频数据和视频数据;
根据读取的音频数据和视频数据的解码时间戳对所述读取的音频数据和视频数据进行排序;
基于排序后的音频数据和视频数据播放所述目标音视频。
2.根据权利要求1所述的方法,其特征在于,所述基于双IO分别读取所述音频数据和视频数据包括:
基于所述第一文件起始位置建立第一IO通道;
基于所述第二文件起始位置建立第二IO通道;
利用所述第一IO通道和所述第二IO通道分别读取所述音频数据和所述音频数据。
3.根据权利要求1所述的方法,其特征在于,所述基于排序后的音频数据和视频数据播放所述目标音视频包括:
利用解码器对排序后的音频数据和视频数据进行解码处理;
基于解码处理后的音频数据和视频数据播放所述目标音视频。
4.根据权利要求1所述的方法,其特征在于,所述确定目标音视频的音频数据的第一文件起始位置和视频数据的第二文件起始位置包括:
对所述目标音视频的元数据进行解析,得到所述目标音视频的文件位置索引;
基于所述文件位置索引确定所述确定目标音视频的音频数据的第一文件起始位置和视频数据的第二文件起始位置。
5.根据权利要求1所述的方法,其特征在于,所述根据读取的音频数据和视频数据的解码时间戳对所述读取的音频数据和视频数据进行排序包括:
确定读取的音频数据和视频数据的解码时间戳;
将所述读取的音频数据和视频数据,按照所述音频数据和视频数据的解码时间戳的时间先后进行排序。
6.根据权利要求1所述的方法,其特征在于,所述确定目标音视频的音频数据的第一文件起始位置和视频数据的第二文件起始位置之后,所述方法还包括:
计算所述目标音视频的音视频文件中第一文件起始位置和所述第二文件起始位置间的可存储数据量。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一文件起始位置与所述第二文件起始位置间的可存储数据量小于预设阈值时,基于单IO通道读取所述音频数据和所述视频数据;
基于所述单IO通道读取的音频数据和视频数据播放所述目标音视频。
8.一种音视频播放装置,其特征在于,所述装置包括:
起始位置确定模块,用于确定目标音视频的音频数据的第一文件起始位置和视频数据的第二文件起始位置;
第一数据读取模块,用于当所述第一文件起始位置与所述第二文件起始位置间的可存储数据量大于等于预设阈值时,基于双IO通道分别读取所述音频数据和视频数据;
排序模块,用于根据读取的音频数据和视频数据的解码时间戳对所述读取的音频数据和视频数据进行排序;
第一目标音视频播放模块,用于基于排序后的音频数据和视频数据播放所述目标音视频。
9.一种音视频播放设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任一所述的音视频播放方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至7任一所述的音视频播放方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910646845.0A CN110248233B (zh) | 2019-07-17 | 2019-07-17 | 一种音视频播放方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910646845.0A CN110248233B (zh) | 2019-07-17 | 2019-07-17 | 一种音视频播放方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110248233A true CN110248233A (zh) | 2019-09-17 |
CN110248233B CN110248233B (zh) | 2021-11-16 |
Family
ID=67892562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910646845.0A Active CN110248233B (zh) | 2019-07-17 | 2019-07-17 | 一种音视频播放方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110248233B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113225309A (zh) * | 2021-03-19 | 2021-08-06 | 深圳市迅雷网络技术有限公司 | 多媒体文件在线播放方法、设备、服务器及存储介质 |
CN114390335A (zh) * | 2020-10-22 | 2022-04-22 | 华为终端有限公司 | 一种在线播放音视频的方法及电子设备 |
CN114866830A (zh) * | 2022-03-30 | 2022-08-05 | 中国经济信息社有限公司 | 一种音视频同步的方法、装置及计算机可读存储介质 |
CN115359810A (zh) * | 2022-08-11 | 2022-11-18 | 维沃移动通信有限公司 | 数据处理方法、设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101466044A (zh) * | 2007-12-19 | 2009-06-24 | 康佳集团股份有限公司 | 一种流媒体音视频同步播放的方法及其系统 |
CN103686315A (zh) * | 2012-09-13 | 2014-03-26 | 深圳市快播科技有限公司 | 一种音视频同步播放方法及装置 |
US20150181154A1 (en) * | 2013-12-19 | 2015-06-25 | Compal Electronics, Inc. | Method and system for playing video |
CN105898538A (zh) * | 2015-12-14 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 用于安卓平台的播放方法、装置及移动终端设备 |
-
2019
- 2019-07-17 CN CN201910646845.0A patent/CN110248233B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101466044A (zh) * | 2007-12-19 | 2009-06-24 | 康佳集团股份有限公司 | 一种流媒体音视频同步播放的方法及其系统 |
CN103686315A (zh) * | 2012-09-13 | 2014-03-26 | 深圳市快播科技有限公司 | 一种音视频同步播放方法及装置 |
US20150181154A1 (en) * | 2013-12-19 | 2015-06-25 | Compal Electronics, Inc. | Method and system for playing video |
CN105898538A (zh) * | 2015-12-14 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 用于安卓平台的播放方法、装置及移动终端设备 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114390335A (zh) * | 2020-10-22 | 2022-04-22 | 华为终端有限公司 | 一种在线播放音视频的方法及电子设备 |
CN114390335B (zh) * | 2020-10-22 | 2022-11-18 | 华为终端有限公司 | 一种在线播放音视频的方法、电子设备及存储介质 |
EP4216558A4 (en) * | 2020-10-22 | 2024-01-24 | Huawei Technologies Co., Ltd. | METHOD FOR PLAYING AUDIO/VIDEO ONLINE AND ELECTRONIC DEVICE |
JP7534031B2 (ja) | 2020-10-22 | 2024-08-14 | 華為技術有限公司 | オンラインオーディオ/ビデオ再生方法および電子デバイス |
CN113225309A (zh) * | 2021-03-19 | 2021-08-06 | 深圳市迅雷网络技术有限公司 | 多媒体文件在线播放方法、设备、服务器及存储介质 |
CN114866830A (zh) * | 2022-03-30 | 2022-08-05 | 中国经济信息社有限公司 | 一种音视频同步的方法、装置及计算机可读存储介质 |
CN115359810A (zh) * | 2022-08-11 | 2022-11-18 | 维沃移动通信有限公司 | 数据处理方法、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110248233B (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110248233A (zh) | 一种音视频播放方法、装置、设备及存储介质 | |
US20170142451A1 (en) | Video remote-commentary synchronization method and system, and terminal device | |
CN106973321B (zh) | 确定视频卡顿的方法及装置 | |
US11202066B2 (en) | Video data encoding and decoding method, device, and system, and storage medium | |
CN104853081B (zh) | 断点拍摄方法、装置及移动终端 | |
CN104935955B (zh) | 一种传输直播视频流的方法、装置和系统 | |
CN104125511A (zh) | 多媒体数据推送方法及装置 | |
CN104618794A (zh) | 播放视频的方法和装置 | |
CN105025314A (zh) | 多媒体直播方法与装置 | |
CN107995519A (zh) | 多媒体文件播放的方法、装置和存储介质 | |
CN103873883B (zh) | 一种视频播放的方法、装置及终端设备 | |
CN103559731B (zh) | 一种锁屏状态下歌词显示的方法及终端 | |
KR101813437B1 (ko) | 스트리밍 미디어 데이터에 대한 통계치를 수집하기 위한 방법 및 시스템과, 관련 장치 | |
CN106412662A (zh) | 时间戳分配方法及装置 | |
CN104159136A (zh) | 互动信息的获取方法、终端、服务器及系统 | |
CN104519404A (zh) | 图像互换格式文件的播放方法及装置 | |
CN107396193B (zh) | 视频播放的方法和装置 | |
US20210219028A1 (en) | Method and apparatus for selecting audio track from audio and video file | |
US9781380B2 (en) | Method, apparatus and terminal for playing multimedia content | |
CN104134043B (zh) | 对内容进行隐藏、解隐藏的方法、装置及终端 | |
CN104602135A (zh) | 控制全屏播放的方法及装置 | |
CN104869465A (zh) | 视频播放控制方法和装置 | |
CN104093053A (zh) | 播放视频文件的方法、设备及系统 | |
CN105187692A (zh) | 视频拍摄方法及装置 | |
CN103581762A (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 |