CN109788357A - 一种播放媒体文件的方法及装置 - Google Patents

一种播放媒体文件的方法及装置 Download PDF

Info

Publication number
CN109788357A
CN109788357A CN201811320041.3A CN201811320041A CN109788357A CN 109788357 A CN109788357 A CN 109788357A CN 201811320041 A CN201811320041 A CN 201811320041A CN 109788357 A CN109788357 A CN 109788357A
Authority
CN
China
Prior art keywords
resource
resources
original
media file
score
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
Application number
CN201811320041.3A
Other languages
English (en)
Other versions
CN109788357B (zh
Inventor
张彪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei Jie Fa Technology Co Ltd
Original Assignee
Hefei Jie Fa Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hefei Jie Fa Technology Co Ltd filed Critical Hefei Jie Fa Technology Co Ltd
Priority to CN201811320041.3A priority Critical patent/CN109788357B/zh
Publication of CN109788357A publication Critical patent/CN109788357A/zh
Priority to US16/438,488 priority patent/US11463493B2/en
Application granted granted Critical
Publication of CN109788357B publication Critical patent/CN109788357B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/438Presentation of query results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种播放媒体文件的方法。该方法包括:判断是否需要资源替代;以及当需要资源替代时,从备选资源集中选择替代资源,以替代所述媒体文件中原始资源进行播放。本发明还提供了相应的装置。本发明中,当当前媒体文件的播放出现问题时,通过从备选资源集中选择替代资源,以替代原始资源进行播放,实时并有效改善当前媒体文件的播放,保持较佳播放效果,而无需改变播放媒体文件的硬件组件和软件组件。

Description

一种播放媒体文件的方法及装置
技术领域
本发明的所公开实施例涉及多媒体技术领域,且更具体而言,涉及一种播放媒体文件的方法及装置。
背景技术
播放音频或视频等媒体文件时,会出现此文件中的音频或视频不被播放平台支持,或者播放平台支持但播放质量低,例如,音频的音质较差、视频的分辨率较低、播放不流畅、数据错误等。
如图1所示,为播放媒体文件的常规处理流程,包括解析、解码、同步控制和输出。其中,解析和解码可以由软件组件和硬件组件来完成,解码包括视频解码和音频解码。同步控制由软件完成,用于将视频和音频解码后的声音和画面同步。输出由输出设备完成,例如,显示设备和声音输出设备。在此常规播放流程中,在出现不支持的媒体文件时不能继续播放,或者在支持的媒体文件播放质量低时,仍然继续播放。可以看出,出现上述情况,播放效果差,给用户的体验不佳。
发明内容
本发明的目的在于,提供一种播放媒体文件的方法及装置,以在出现上述播放问题时,保持较佳播放效果,而不改变常规播放处理流程中的硬件组件及软件组件。
本发明解决上述技术问题所采用的一技术方案是提供了一种播放媒体文件的方法。该方法包括:判断是否需要资源替代;以及当需要资源替代时,从备选资源集中选择替代资源,以替代所述媒体文件中原有资源进行播放。
本发明解决上述技术问题所采用的另一技术方案是提供了一种播放媒体文件的装置。该装置包括处理器和存储器,所述存储器存储有指令,所述指令在执行时使得所述处理器执行上述的播放媒体文件的方法。
本发明的有益效果有:当前媒体文件的播放出现问题时,通过从备选资源集中选择替代资源,以替代原有资源进行播放,实时并有效改善当前媒体文件的播放,保持较佳播放效果,而无需改变播放媒体文件的硬件组件和软件组件。
附图说明
图1是播放媒体文件的常规处理流程的流程图。
图2是本发明第一实施例的播放媒体文件的方法的流程图。
图3是本发明第二实施例的播放媒体文件的方法的流程图。
图4是本发明第三实施例的播放媒体文件的方法的流程图。
图5是本发明第四实施例的播放媒体文件的方法的流程图。
图6是本发明第五实施例的播放媒体文件的方法的流程图。
图7是本发明第六实施例的播放媒体文件的方法的流程图。
图8是本发明第七实施例的播放媒体文件的方法的流程图。
图9是本发明第八实施例的播放媒体文件的方法的流程图。
图10是本发明实施例的播放媒体文件的装置的结构示意图。
具体实施方式
为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明的技术方案做进一步详细描述。
如图2所示,是本发明第一实施例的播放媒体文件的方法的流程图。该方法可以在终端上实施。该终端可以为移动终端,例如智能手机、平板电脑等,或者固定终端,例如计算机、服务器等。该方法包括以下步骤:
步骤S21:判断是否需要资源替代。
资源替代可以是事件触发的。用于资源替代的触发事件可以称为资源替代触发事件。资源替代触发事件可以包括预设条件没有被满足,例如,当前媒体文件的原有资源的分数小于阈值分数,当前媒体文件的播放效果不佳,比如播放当前媒体文件中的音频或视频出现错误、播放当前媒体文件中的音频或视频不流畅等。资源替代触发事件也可以包括接收用户指令,例如,用户根据自行判断而需要资源替代。
步骤S22:当需要资源替代时,从备选资源集中选择替代资源,以替代媒体文件中原有资源进行播放。
当资源替代触发事件发生时,从备选资源集中选择替代资源进行播放,而不播放媒体文件中的原有资源,其中从备选资源集中选择的替代资源为备选资源集中分数最高的资源。替代资源可以包括视频资源和/或音频资源和/或字幕资源。例如,当前媒体文件的视频分辨率低于特定值,资源替代触发事件发生,从备选资源集中选择一视频资源,替代当前媒体文件的原有视频资源,从而该视频资源替代原有视频资源进行替代播放。
备选资源集中包括与原有资源内容相同且比原有资源的分数更高的多个资源。该备选资源集可以是预先定义的,也可以是在执行步骤S22时通过资源探测而建立或更新的。
步骤S21可以在播放媒体文件的过程中执行,此时,当资源替代不需要时,采用图1中的处理流程,继续媒体文件的播放。步骤S21 也可以在播放媒体文件之前执行,即没有播放媒体文件时执行步骤S21,此时,当资源替代不需要时,直接采用图1中的处理流程播放该媒体文件。
根据上述实施例,当当前媒体文件的播放出现问题时,通过从备选资源集中选择替代资源,以替代原有资源进行播放,实时并有效改善当前媒体文件的播放,保持较佳播放效果,而无需改变播放媒体文件的硬件组件和软件组件。
如图3所示,是本发明第二实施例的播放媒体文件的方法的流程图,在上述播放媒体文件的方法第一实施例的基础上,步骤S21可以包括如下步骤:
步骤S211:判断预定义条件是否被满足。
预定义条件可以包括原有资源的分数是否小于阈值分数和/或原有资源是否出现播放异常。在一示例中,预定义条件为音频的分数小于阈值分数,表明媒体文件的音质差。在另一示例中,预定义条件可以为接收到用户指令。
原有资源的分数是根据原有资源本身以及平台是否支持原有资源的解析、解码或输出对原有资源进行评分而得到的。在一示例中,可以在步骤S211之前对媒体文件进行评分,具体地,根据各个资源本身以及平台是否支持其解析、解码或输出,对解析得到的各个资源进行评分,相关说明详见下述实施例,在此不再说明。
播放异常包括以下中任一项:资源的运行错误影响播放、资源的处理出错率大于或等于预定义值、资源的数据消耗速率波动大于或等于预定义值、资源的数据输出率与根据播放倍速计算得到的速率不一致。其中,资源的处理出错率大于或等于预定义值,表示媒体文件中存在较多的错误。资源的数据消耗速率波动大于或等于预定义值,表示输出不流畅。如果在输出流畅的情况下,资源的数据输出率与根据播放倍速计算得到的速率不一致,表示播放过慢或过快。
步骤S212:当预定义条件被满足时,确定需要资源替代。
预定义条件被满足,例如,原有资源的分数小于阈值分数,或者原有资源出现播放异常,或者原有资源的分数小于阈值分数且原有资源出现播放异常,则表示资源替代触发事件发生,需要资源替代,进而执行替代播放。
如图4所示,是本发明第三实施例的播放媒体文件的方法的流程图,在上述实施例的播放媒体文件的方法的基础上,该方法还可以包括以下步骤:
步骤S23:执行资源探测,以建立备选资源集。
执行资源探测可以在后台执行。对于不同的资源,其资源探测是独立执行的,例如,音频、视频和字幕的探测是相互独立执行。
本步骤S23可以在步骤S21之前执行,也可以在执行步骤S22时执行。
步骤S24:监测备选资源集,并在备选资源集中的备选资源数量小于预定值时执行资源探测,以更新备选资源集。
监测备选资源集包括监测备选资源集中的备选资源数量和/或监测备选资源集中备选资源的有效性。监测备选资源集可以间隔一定时间执行一次。
当备选资源集中的备选资源数量小于预定值,执行资源探测流程,进而更新备选资源集;当备选资源数量达到预定值,停止资源探测流程。在一示例中,监测备选资源集中备选资源的有效性包括备选资源是否自备选资源集中移除。若某个备选资源已自备选资源集中移除,备选资源数量减少,此时,执行资源探测流程,并且将该移除的备选资源加入备选资源黑名单。
注意的是,步骤S23和步骤S24的顺序是示意的,不一定按照此顺序执行,例如,步骤S23和步骤S24可以同时执行。
根据本实施例,通过资源探测,建立备选资源集及更新备选资源集,并通过监测备选资源集,保持备选资源集有效。
如图5所示,是本发明第四实施例的播放媒体文件的方法的流程图,在上述实施例的播放媒体文件的方法的基础上,执行资源探测包括如下步骤:
步骤S511:获取媒体文件的属性信息和特征信息。
媒体文件的属性信息可以包括媒体文件的名称和媒体文件的路径。媒体文件的特征信息可以包括媒体文件解码后的若干特定位置处的数据。例如,可以先读取媒体文件的若干特定位置处的数据,然后将若干位置处的数据进行解码,并提取解码后数据的特征,以此作为特征信息。又例如,可以直接将解码后的若干数据作为特征信息。
步骤S512:根据属性信息和/或特征信息,自本地和/或外部获取多个新资源。
外部可以指的是网络和/或互联共享,互联共享包括局域共享、特定协议共享和特定服务器地址等。在一示例中,可以按照特定顺序获取资源,例如,先本地再外部的顺序。在另一示例中,可以直接自特定位置获取新资源,例如,直接自特定服务器地址获取新资源。
在一示例中,根据属性信息获取新资源可以是直接根据媒体文件的名称从本地或外部来获取。在另一示例中,根据属性信息和特征信息获取新资源可以是先根据媒体文件的名称从本地或外部获取若干资源,然后将获取的资源与媒体文件的特征信息进行相似比较,将相似度达到特定条件的资源作为所需获取的新资源。
步骤S513:根据资源本身以及平台是否支持资源的解析、解码或输出,对多个新资源分别进行评分,以分别得到多个新资源的分数。
在一示例中,在对资源进行评分之前,还包括:判断平台是否支持资源的编码和资源的数据是否按照特定封装格式封装;若平台支持资源的编码且资源的数据按照特定封装格式封装,则对该资源进行评分,否则,直接将该资源的分数判定为0,并将该资源加入备选资源黑名单。
在一示例中,对新资源进行评分包括:依次判断新资源是否为已解析的数据和已解码的数据,若新资源不为已解析的数据,则根据平台对新资源的解码和输出的支持情况,获得新资源的分数,若新资源为已解析且已解码的数据,则根据平台对新资源的输出的支持情况,获得新资源的分数。进一步地,在一示例中,根据平台对新资源的解码和输出的支持情况,获得新资源的分数包括:
根据如下公式计算出新资源的分数:
其中,S为新资源的分数;si是数据来源的系数且小于或等于1,且所有数据来源的系数之和为1;M是资源参数的个数,且大于或等于1;qm是资源参数的值,Qm是平台所支持的资源参数的上限值,以及Km是资源参数的权重,且所有资源参数的权重之和为1,即数据来源表示资源的来源,即资源是来自本地,或来自于外部,假如从本地、网络和互联共享进行探测,则存在3个数据来源的系数,即分别为s1、s2、s3,可以将这三个系数分别设置为小于 1且其和等于1的数值。资源参数包括采样率、帧率、码率、分辨率等。例如,资源为视频资源时,资源参数包括帧率、码率、分辨率。又例如,资源为音频资源时,资源参数包括采样率。又例如,资源为字幕资源时,资源参数包括编码、语言匹配、地理位置匹配。此时,资源参数可以是对资源进行解码的解码参数以及对资源进行输出的输出设备参数,例如,帧率和分辨率。根据平台对新资源的输出的支持情况,获得新资源的分数包括:在一示例中,根据上述公式计算出新资源的分数。此时,资源参数可以仅是对新资源进行输出的输出设备参数,例如,分辨率。
步骤S514:将分数大于或等于阈值分数的新资源设置为备选资源,并添加到备选资源集中。
在一示例中,当备选资源集中的备选资源数量小于预定值时,此时,若分数大于或等于阈值分数的新资源的数量大于备选资源集中所需的数量,则将分数大于或等于阈值分数的新资源按照其分数的高低依次设置为备选资源,并添加到备选资源集中,直到备选资源集中当前的备选资源数量达到预定值。
在一示例中,将分数大于或等于阈值分数的新资源设置为备选资源包括:给分数大于或等于阈值分数的新资源建立备选资源条目,其中备选资源条目包括评分信息、路径信息、标识信息、附加信息和文件信息。评分信息即为备选资源的分数。路径信息为备选资源所属文件的路径。标识信息用于标识备选资源的类型,例如,视频、音频或字幕。在一示例中,标识信息可以用二进制值表示,例如,00表示备选资源的类型为视频,01表示备选资源的类型为音频,以及10表示备选资源的类型为字幕。附加信息包括用于获取资源的协议及服务描述信息,服务描述信息包括最大速率和支持的操作比如否支持请求扩大带宽,是否支持多通路传输等。文件信息可以包括采样率、码率等。也就是说,备选资源集中每个备选资源的格式为评分信息、路径信息、标识信息、附加信息和文件信息。
如图6所示,是本发明第五实施例的播放媒体文件的方法的流程图,在上述实施例的播放媒体文件的方法的基础上,对原有资源或新资源进行评分包括如下步骤:
步骤S611:判断原有资源或新资源是否已解析的数据。
若原有资源或新资源不为已解析的数据,则执行步骤S612,若原有资源或新资源为已解析的数据,则执行步骤S616。
步骤S612:判断平台是否可解析原有资源或新资源。
若平台可解析原有资源或新资源,则执行步骤S613,若平台不可解析原有资源或新资源,则执行步骤S615。
步骤S613:对原有资源或新资源进行解析,以获得解析数据。
步骤S614:根据平台对解析数据的解码和输出的支持情况,获得原有资源或新资源的分数。具体地,根据平台对解码和输出的支持情况而获得原有资源或新资源的分数,可以根据如下公式计算出原有资源或新资源的分数:
其中,S为原有资源或新资源的分数;si是数据来源的系数且小于或等于1,且所有数据来源的系数之和为1;M是资源参数的个数,且大于或等于1;qm是资源参数的值,Qm是平台所支持的资源参数的上限值,以及Km是资源参数的权重,且所有资源参数的权重之和为1,即此时,资源参数可以是对原有资源或新资源进行解码的解码参数以及对原有资源或新资源进行输出的输出设备参数,例如,帧率和分辨率。
步骤S615:原有资源或新资源的分数判定为0;
步骤S616:判断原有资源或新资源是否为已解码的数据。
若原有资源或新资源为已解码的数据,则执行步骤S617,若原有资源或新资源不为已解码的数据,则执行步骤S614。
步骤S617:根据平台对原有资源或新资源的输出的支持情况,获得原有资源或新资源的分数。具体地,根据平台对原有资源或新资源的输出的支持情况而获得原有资源或新资源的分数包括:根据如下公式计算出原有资源或新资源的分数:
其中,S为原有资源或新资源的分数;si是数据来源的系数且小于或等于1,且所有数据来源的系数之和为1;M是资源参数的个数,且大于或等于1;qm是资源参数的值,Qm是平台所支持的资源参数的上限值,以及Km是资源参数的权重,且所有资源参数的权重之和为1,即此时,资源参数可以是对原有资源或新资源进行输出的输出设备参数,例如,分辨率。
如图7所示,是本发明第六实施例的播放媒体文件的方法的流程图,在上述实施例的播放媒体文件的方法的基础上,该方法还包括以下步骤:
步骤S25:监测替代资源的播放。
监测替代资源的播放可以与步骤S22同时执行。
步骤S26:若监测到替代资源的播放异常,重新自备选资源集中选择另一替代资源以重新进行替代播放。
播放异常包括以下中任一项:资源的运行错误影响播放、资源的处理出错率大于或等于预定义值、资源的数据消耗速率波动大于或等于预定义值、资源的数据输出率与根据播放倍速计算得到的速率不一致。其中,资源的处理出错率大于或等于预定义值,表示媒体文件中存在较多的错误。资源的数据消耗速率波动大于或等于预定义值,表示输出不流畅。如果在输出流畅的情况下,资源的数据输出率与根据播放倍速计算得到的速率不一致,表示播放过慢或过快。
步骤S27:将出现播放异常的替代资源自备选资源集移除并加入备选资源黑名单中。
备选资源黑名单中的资源不再用作替代资源进行替代播放。
步骤S28:调整出现播放异常的替代资源所对应的数据来源的系数以及播放异常所对应的资源参数的权重,以在执行资源探测时避免探测与出现播放异常的替代资源相同或相似的新资源。
在一示例中,监测到当前替代资源播放异常时,调整出现播放异常的替代资源所对应的数据来源的系数以及播放异常所对应的资源参数的权重,具体地,先适当调低数据来源的系数si,然后适当调低播放异常所对应的资源参数的权重Km,并将其他的资源参数的权重 Km适当调高,以保证所有资源参数的权重Km之和为1。
根据本实施例,通过监测当前替代资源的播放,实现自动切换到有效的替代资源以进行替代播放,并且通过将播放异常的替代资源加入备选资源黑名单,防止重复选择和监测。
如图8所示,是本发明第七实施例的播放媒体文件的方法的流程图,在上述播放媒体文件的方法第一实施例的基础上,步骤S22中替代媒体文件中原有资源进行播放包括如下步骤:
步骤S221:判断替代资源是否为已解析的数据。
若从备选资源集中选择的替代资源不为已解析的数据,则跳转到步骤S222;若否,则跳转到步骤S226。
步骤S222:对替代资源进行解析。
步骤S223:获取解析后的替代资源的预定位置,其中预定位置位于原有资源的当前播放位置之后,或为原有资源的当前播放位置,或为原始资源或替代资源的起始位置。例如,在播放媒体文件时用替代资源替代原有资源的情景中,如果原有资源仍处于播放中,则预定位置位于原有资源的当前播放位置之后,如果原有资源没有处于播放中,则预定位置为原有资源的当前播放位置。对于在播放媒体文件之前用替代资源替代原有资源的情景中,预定位置为原始资源或替代资源的起始位置。
步骤S224:自预定位置对替代资源进行解码。
步骤S225:将解码后的替代资源放入缓冲区以待输出。
步骤S226:判断替代资源是否为已解码的数据。
若替代资源不为已解码的数据,则跳转到步骤S223,否则,跳转到步骤S227。
步骤S227:获取替代资源的预定位置,其中,对于播放后替换的场景,如果原有资源仍在播放,预定位置位于原有资源的当前播放位置之后,否则,预定位置就是当前的播放位置。对于播放前替换的场景,预定位置是资源起始位置。
步骤S228:自预定位置将替代资源放入缓冲区以待输出。
上述步骤S222与步骤S226的执行顺序不一定按照上述顺序来执行,可以先执行步骤S226,再执行步骤S222,也可以同时执行步骤 S222和S226。
如图9所示,是本发明第八实施例的播放媒体文件的方法的流程图,在上述播放媒体文件的方法第七实施例的基础上,步骤S22中替代媒体文件中原有资源进行播放还包括如下步骤:
步骤S229:判断原有资源的播放流程是否已停止。
在播放的处理流程中,当原有资源的解析、解码、同步控制和输出中任一项停止时,表示原有视频的播放流程停止。
若原有资源的播放流程未停止,则执行步骤S230,若原有资源的播放流程已停止,则直接执行步骤S231。
步骤S230:将原有资源输出到预定位置,停止播放原有资源,并输出缓冲区中的替代资源。将原有资源输出到预定位置是指采用图1 的处理流程播放到预定位置,此时停止播放,即不再对原有资源进行解析、解码、输出等处理。
步骤S231:直接输出缓冲区中的替代资源。
注意的是,音频资源和视频资源的播放状态独立监控。在输出缓冲区中的替代资源之前,需要同步控制替代资源与媒体文件中的其他路的资源。也就是说,替代资源替代原有资源的角色,在播放过程中,同样存在同步控制这一处理,这与播放媒体文件的常规处理流程中的同步控制相同,在此不做详细描述。
如图10所示,是本发明的播放媒体文件的装置实施例的结构示意图,该装置用于一终端,包括存储器1010、处理器1020、输出设备1030以及总线1040。
存储器1010可以包括只读存储器和随机存取存储器,并向处理器1020提供指令和数据。存储器1010的一部分还可以包括非易失性随机存取存储器(NVRAM)。
存储器1010存储有如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:操作指令,包括各种操作指令,用于实现各种操作;操作系统,包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
输出设备1030包括显示设备,例如阴极射线管(cathode ray tube, CRT)或液晶显示器(liquid crystal display,LCD)等,以及扬声器或类似的音频输出设备。一些实施例包括诸如同时用作输入设备和输出设备的触摸屏等设备。
具体的应用中,终端的各个组件通过总线1040耦合在一起,其中总线1040除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线1040。
在一实施例中,处理器1020通过调用存储器1010存储的指令,结合输出设备1030可以执行如下操作:
判断是否需要资源替代。
当需要资源替代时,从备选资源集中选择替代资源,以替代媒体文件中原有资源进行播放。
具体地,在一实施例中,处理器1020在指令被执行时可以执行:判断预定义条件是否被满足;当预定义条件被满足时,确定需要资源替代。其中预设条件包括原有资源的分数是否小于阈值分数和/或原有资源是否出现播放异常;其中原有资源的分数是根据原有资源本身以及平台是否支持原有资源的解析、解码或输出对原有资源进行评分而得到的;以及其中播放异常包括以下中任一项:资源的运行错误影响播放、资源的处理出错率大于或等于预定义值、资源的数据消耗速率波动大于或等于预定义值和资源的数据输出率与根据播放倍速计算得到的速率不一致。
具体地,在一实施例中,处理器1020在指令被执行时还可以执行:执行资源探测,以建立备选资源集;以及监测备选资源集,并在备选资源集中的备选资源数量小于预定值时执行资源探测,以更新备选资源集。
具体地,在一实施例中,处理器1020在指令被执行时可以执行:获取媒体文件的属性信息和特征信息;根据属性信息和/或特征信息,自本地和/或外部获取多个新资源;根据资源本身以及平台是否支持资源的解析、解码或输出,对多个新资源分别进行评分,以分别得到多个新资源的分数;以及将分数大于或等于阈值分数的新资源设置为备选资源,并添加到备选资源集中。
具体地,在一实施例中,处理器1020在指令被执行时可以执行:对原有资源或新资源进行评分包括:依次判断所述原有资源或新资源是否为已解析的数据和已解析的数据;若所述原有资源或新资源不为已解析的数据,则根据平台对所述原有资源或新资源的解码和输出的支持情况,获得所述原有资源或新资源的分数;若所述原有资源或新资源为已解析且已解码的数据,则根据平台对所述原有资源或新资源的输出的支持情况,获得所述原有资源或新资源的分数。
具体地,在一实施例中,根据平台对所述原有资源或新资源的解码和输出或平台对所述原有资源或新资源的输出的支持情况获得原有资源或新资源的分数包括:根据如下公式计算出原有资源或新资源的分数:
其中,S为原有资源或新资源的分数;si是数据来源的系数且小于或等于1,且所有数据来源的系数之和为1;M是资源参数的个数,且大于或等于1;qm是资源参数的值,Qm是平台所支持的资源参数的上限值,以及Km是资源参数的权重,且所有资源参数的权重之和为1。
具体地,在一实施例中,处理器1020在指令被执行时还可以执行:监测替代资源的播放;若监测到替代资源出现播放异常,重新从备选资源集中选择另一替代资源以重新进行替代播放;将出现播放异常的替代资源自备选资源集移除并加入备选资源黑名单中;以及调整出现播放异常的替代资源所对应的数据来源的系数以及播放异常所对应的资源参数的权重,以在执行资源探测时避免探测与出现播放异常的替代资源相同或相似的新资源。
具体地,在一实施例中,处理器1020在指令被执行时可以执行:依次判断替代资源是否为已解析的数据和已解码的数据;若替代资源为已解析的数据且为已解码的数据,则获取替代资源的预定位置,并自预定位置将替代资源放入缓冲区以待输出;其中,预定位置位于原有资源的当前播放位置之后,或为原有资源的当前播放位置,或为原始资源或替代资源的起始位置。
具体地,在一实施例中,处理器1020在指令被执行时还可以执行:判断原有资源的播放流程是否已停止;若原有资源的播放流程未停止,则将原始资源输出到预定位置,停止播放原始资源,并通过输出设备1030输出缓冲区中的替代资源;以及若原有资源的播放流程停止,则通过输出设备1030直接输出缓冲区中的替代资源。
对于根据本实施例的播放媒体文件的装置中的各个组件的功能的具体描述,请参考上述播放媒体文件方法的相应实施例的相关描述。
上述本发明实施例揭示的方法可以应用于处理器1020中,或者由处理器1020实现。处理器1020可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器 1020中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1020可以是通用处理器、数字信号处理器(DSP)、专用集成电路 (ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1010,处理器1020读取存储器1010中的信息,结合其硬件完成上述方法的步骤。
所属领域的技术人员易知,可在保持本发明的教示内容的同时对装置及方法作出诸多修改及变动。因此,以上公开内容应被视为仅受随附权利要求书的范围的限制。

Claims (10)

1.一种播放媒体文件的方法,其特征在于,包括:
判断是否需要资源替代;以及
当需要资源替代时,从备选资源集中选择替代资源,以替代所述媒体文件中原有资源进行播放。
2.如权利要求1中所述的方法,其特征在于,所述判断是否需要资源替代包括:
判断预设条件是否被满足;以及
若所述预设条件被满足,则确定需要所述资源替代;
其中所述预设条件包括所述原有资源的分数是否小于阈值分数和/或所述原有资源是否出现播放异常。
3.如权利要求2中所述的方法,其特征在于,还包括:
执行资源探测,以建立所述备选资源集;以及
监测所述备选资源集,并在所述备选资源集中的备选资源数量小于预定值时执行所述资源探测,以更新所述备选资源集。
4.如权利要求3中所述的方法,其特征在于,执行所述资源探测包括:
获取所述媒体文件的属性信息和特征信息;
根据所述属性信息和/或所述特征信息,自本地和/或外部获取多个新资源;
根据资源本身以及平台是否支持资源的解析、解码或输出,对所述多个新资源分别进行评分,以分别得到所述多个新资源的分数;以及
将分数大于或等于阈值分数的新资源设置为备选资源,并添加到所述备选资源集中。
5.如权利要求4中所述的方法,其特征在于,
对所述原有资源或新资源进行评分包括:
依次判断所述原有资源或新资源是否为已解析的数据和已解码的数据;
若所述原有资源或新资源不为已解析的数据,则根据平台对所述原有资源或新资源的解码和输出的支持情况,获得所述原有资源或新资源的分数;
若所述原有资源或新资源为已解析且已解码的数据,则根据平台对所述原有资源或新资源的输出的支持情况,获得所述原有资源或新资源的分数。
6.如权利要求5中所述的方法,其特征在于,根据平台对所述原有资源或新资源的解码和输出或平台对所述原有资源或新资源的输出的支持情况,获得所述原有资源或新资源的分数包括:
根据如下公式计算出所述原有资源或新资源的分数:
其中,S为所述原有资源或新资源的分数;si是数据来源的系数且小于或等于1,且所有数据来源的系数之和为1;M是资源参数的个数,且大于或等于1;qm是资源参数的值,Qm是平台所支持的资源参数的上限值,以及Km是资源参数的权重,且所有资源参数的权重之和为1。
7.如权利要求6中所述的方法,其特征在于,还包括:
监测所述替代资源的播放;
若监测到所述替代资源出现所述播放异常,重新从所述备选资源集中选择另一替代资源以重新进行替代播放;
将出现所述播放异常的所述替代资源自所述备选资源集移除并加入备选资源黑名单中;以及
调整出现播放异常的所述替代资源所对应的所述数据来源的系数以及所述播放异常所对应的资源参数的权重,以在执行所述资源探测时避免探测与出现播放异常的所述替代资源相同或相似的新资源。
8.如权利要求1中所述的方法,其特征在于,所述替代所述媒体文件中原有资源进行播放包括:
依次判断所述替代资源是否为已解析的数据和已解码的数据;
若所述替代资源为已解析的数据且为已解码的数据,则获取所述替代资源的所述预定位置,并自所述预定位置将所述替代资源放入缓冲区以待输出;
其中,所述预定位置位于所述原有资源的当前播放位置之后,或为所述原有资源的当前播放位置,或为所述原始资源或替代资源的起始位置。
9.如权利要求8中所述的方法,其特征在于,所述替代所述媒体文件中原有资源进行播放还包括:
判断所述原有资源的播放流程是否已停止;
若所述原有资源的播放流程未停止,则将所述原始资源输出到所述预定位置,停止播放所述原始资源,并输出所述缓冲区中的所述替代资源;以及
若所述原有资源的播放流程停止,则直接输出所述缓冲区中的所述替代资源。
10.一种播放媒体文件的装置,其特征在于,包括处理器和存储器,所述存储器存储有指令,所述指令在执行时使得所述处理器执行如权利要求1-9中任一项所述的播放媒体文件的方法。
CN201811320041.3A 2018-11-07 2018-11-07 一种播放媒体文件的方法及装置 Active CN109788357B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811320041.3A CN109788357B (zh) 2018-11-07 2018-11-07 一种播放媒体文件的方法及装置
US16/438,488 US11463493B2 (en) 2018-11-07 2019-06-12 Method and apparatus for playing media file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811320041.3A CN109788357B (zh) 2018-11-07 2018-11-07 一种播放媒体文件的方法及装置

Publications (2)

Publication Number Publication Date
CN109788357A true CN109788357A (zh) 2019-05-21
CN109788357B CN109788357B (zh) 2022-04-15

Family

ID=66496355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811320041.3A Active CN109788357B (zh) 2018-11-07 2018-11-07 一种播放媒体文件的方法及装置

Country Status (2)

Country Link
US (1) US11463493B2 (zh)
CN (1) CN109788357B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112014595A (zh) * 2019-05-30 2020-12-01 合肥杰发科技有限公司 加速度计及其制作方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104125229A (zh) * 2014-07-31 2014-10-29 合一网络技术(北京)有限公司 流媒体的播放方法与播放装置
CN104244069A (zh) * 2014-09-15 2014-12-24 深圳润华创视科技有限公司 网络视频播放方法、存储方法、播放设备、服务端及系统
CN104394475A (zh) * 2014-11-28 2015-03-04 乐视致新电子科技(天津)有限公司 一种流媒体文件的播放方法及媒体播放器
CN104661088A (zh) * 2013-11-22 2015-05-27 乐视网信息技术(北京)股份有限公司 一种视频源切换方法及装置
CN105472443A (zh) * 2016-01-13 2016-04-06 杭州当贝网络科技有限公司 一种直播源控制方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9912718B1 (en) * 2011-04-11 2018-03-06 Viasat, Inc. Progressive prefetching
US8854958B2 (en) * 2011-12-22 2014-10-07 Cygnus Broadband, Inc. Congestion induced video scaling
EP3100464B1 (en) * 2014-01-29 2020-11-18 Koninklijke KPN N.V. Establishing a streaming presentation of an event
CN104304475A (zh) 2014-10-25 2015-01-28 杨人代 巴旦木果奶的制备方法
US10178043B1 (en) * 2014-12-08 2019-01-08 Conviva Inc. Dynamic bitrate range selection in the cloud for optimized video streaming
WO2016187592A1 (en) * 2015-05-21 2016-11-24 Viviso Inc. Apparatus and method for replacing conventional commercials with targeted advertisements in online live streams
US10277928B1 (en) * 2015-10-06 2019-04-30 Amazon Technologies, Inc. Dynamic manifests for media content playback

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104661088A (zh) * 2013-11-22 2015-05-27 乐视网信息技术(北京)股份有限公司 一种视频源切换方法及装置
CN104125229A (zh) * 2014-07-31 2014-10-29 合一网络技术(北京)有限公司 流媒体的播放方法与播放装置
CN104244069A (zh) * 2014-09-15 2014-12-24 深圳润华创视科技有限公司 网络视频播放方法、存储方法、播放设备、服务端及系统
CN104394475A (zh) * 2014-11-28 2015-03-04 乐视致新电子科技(天津)有限公司 一种流媒体文件的播放方法及媒体播放器
CN105472443A (zh) * 2016-01-13 2016-04-06 杭州当贝网络科技有限公司 一种直播源控制方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112014595A (zh) * 2019-05-30 2020-12-01 合肥杰发科技有限公司 加速度计及其制作方法
CN112014595B (zh) * 2019-05-30 2022-10-28 武汉杰开科技有限公司 加速度计及其制作方法

Also Published As

Publication number Publication date
US11463493B2 (en) 2022-10-04
US20200145470A1 (en) 2020-05-07
CN109788357B (zh) 2022-04-15

Similar Documents

Publication Publication Date Title
CN109257631B (zh) 视频轮播播放方法、装置、计算机设备及存储介质
US20100145488A1 (en) Dynamic transrating based on audio analysis of multimedia content
CN108495164B (zh) 音视频同步处理方法及装置、计算机装置及存储介质
US10225613B2 (en) Method and apparatus for video playing processing and television
CN106973317A (zh) 多媒体数据处理方法、多媒体数据提供方法、装置及系统
CN105472443A (zh) 一种直播源控制方法及系统
US11595731B2 (en) Implementation method and system of real-time subtitle in live broadcast and device
CN103092467B (zh) 一种视频预览的方法及装置
WO2017181597A1 (zh) 视频播放方法及装置
CN108322817A (zh) 一种音效模式切换方法、装置及电子设备
US20220353227A1 (en) Message processing method, apparatus and electronic device
CN107333163A (zh) 一种视频处理方法及装置、一种终端及存储介质
CN104168431A (zh) 一种音量调节方法、装置和一种机顶盒
CN103475927A (zh) 在线视频实时变速播放方法及系统
CN111510755A (zh) 音视频的切换方法、装置、计算机设备及可读存储介质
CN107770624A (zh) 一种直播过程中多媒体文件的播放方法、装置及存储介质
CN110996157A (zh) 一种视频播放方法、装置、电子设备及机器可读存储介质
CN111416995A (zh) 一种基于场景识别的内容推送方法、系统及智能终端
CN110933459B (zh) 赛事视频的剪辑方法、装置、服务器以及可读存储介质
CN108156500B (zh) 多媒体数据时间修正方法、计算机装置、计算机可读存储介质
CN104113778A (zh) 一种视频流解码方法及装置
CN106331820A (zh) 音视频的同步处理方法和装置
CN109788357A (zh) 一种播放媒体文件的方法及装置
CN104778217B (zh) 一种歌曲拼接算法及装置
CN111352605A (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