CN116112717A - 一种音轨切换方法、装置、设备及存储介质 - Google Patents

一种音轨切换方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116112717A
CN116112717A CN202111330963.4A CN202111330963A CN116112717A CN 116112717 A CN116112717 A CN 116112717A CN 202111330963 A CN202111330963 A CN 202111330963A CN 116112717 A CN116112717 A CN 116112717A
Authority
CN
China
Prior art keywords
audio track
track data
embedded
data
switching
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.)
Pending
Application number
CN202111330963.4A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202111330963.4A priority Critical patent/CN116112717A/zh
Publication of CN116112717A publication Critical patent/CN116112717A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising 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
    • H04N21/43072Synchronising 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 of multiple content streams on the same device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4383Accessing a communication channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/439Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本申请的实施例揭示了一种音轨切换方法、装置、设备及存储介质,该方法包括:根据流媒体对应的内嵌视频数据链接和内嵌音轨数据链接,获取流媒体对应的内嵌视频数据和内嵌音轨数据;同步播放内嵌视频数据和内嵌音轨数据;根据接收到的第一音轨数据切换指令,对内嵌音轨数据进行缓冲;当缓冲的内嵌音轨数据量达到第一预设阈值时,切换播放内嵌视频数据对应的外挂音轨数据,以使外挂音轨数据和内嵌视频数据进行同步播放;无需修改流媒体原播放链接的内容,仅对独立的内嵌音轨数据链接对应的内嵌音轨数据进行切换,降低音轨切换的复杂度,达到易扩展的优势。

Description

一种音轨切换方法、装置、设备及存储介质
技术领域
本申请涉及计算机领域中的流媒体技术,具体而言,涉及一种音轨切换方法、音轨切换装置、电子设备及计算机可读存储介质。
背景技术
流媒体技术指对多媒体信息进行流式传输的技术,通过流媒体技术,使得用户能够在文件下载的过程中观看多媒体信息,减少了客户端的存储空间,也提升了多媒体信息的播放效率。另外,随着技术的发展,为了满足用户对流媒体中音频的不同需求,需要对流媒体中的音轨进行替换。
在现有的技术实现中,由于流媒体中的音频与其他媒体信息是通过复用来实现的流式传输,在对流媒体中的音轨进行替换时,通常对流媒体的媒体流整体进行替换,或对流媒体的链接内容进行修改。然而,在上述音轨替换时,需要在服务器侧预先存储不同的音轨分别与其他媒体信息的合成媒体流,导致音轨切换的复杂度高。
发明内容
为解决上述技术问题,本申请的实施例提供了一种音轨切换方法、音轨切换装置、电子设备、计算机可读存储介质及计算机程序产品,无需修改流媒体原播放链接的内容,仅对独立的内嵌音轨数据链接对应的内嵌音轨数据进行切换,降低音轨切换的复杂度,达到易扩展的优势。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种音轨切换方法,包括:根据流媒体对应的内嵌视频数据链接和内嵌音轨数据链接,获取所述流媒体对应的内嵌视频数据和内嵌音轨数据;同步播放所述内嵌视频数据和所述内嵌音轨数据;根据接收到的第一音轨数据切换指令,对所述内嵌音轨数据进行缓冲;当缓冲的内嵌音轨数据量达到第一预设阈值时,切换播放所述内嵌视频数据对应的外挂音轨数据,以使所述外挂音轨数据和所述内嵌视频数据进行同步播放。
根据本申请实施例的一个方面,提供了一种音轨切换装置,包括:获取模块,用于根据流媒体对应的内嵌视频数据链接和内嵌音轨数据链接,获取所述流媒体对应的内嵌视频数据和内嵌音轨数据;播放模块,用于同步播放所述内嵌视频数据和所述内嵌音轨数据;缓冲模块,用于根据接收到的第一音轨数据切换指令,对所述内嵌音轨数据进行缓冲;切换模块,用于当缓冲的内嵌音轨数据量达到第一预设阈值时,切换播放所述内嵌视频数据对应的外挂音轨数据,以使所述外挂音轨数据和所述内嵌视频数据进行同步播放。
在本申请的一实施例中,所述音轨切换装置还包括确定模块,所述确定模块用于在对所述内嵌音轨数据进行缓冲的过程中,根据所述内嵌视频数据对应的外挂音轨数据链接得到所述外挂音轨数据;从所述外挂音轨数据中确定与缓冲的内嵌音轨数据量达到所述第一预设阈值时相适应的目标播放时间点。
在本申请的一实施例中,所述切换模块具体用于当确定得到所述目标播放时间点时,停止缓冲所述内嵌音轨数据;从所述外挂音轨数据中确定与所述目标播放时间点对应的目标音轨数据帧,以从所述目标音轨数据帧的下一帧开始播放所述外挂音轨数据。
在本申请的一实施例中,所述音轨切换装置还包括生成模块,所述生成模块用于根据所述内嵌音轨数据链接和所述外挂音轨数据对应的外挂音轨数据链接生成音轨切换接口,所述音轨切换接口用于接收携带有外挂标识的所述第一音轨数据切换指令,所述外挂标识与所述外挂音轨数据链接对应。
在本申请的一实施例中,所述缓冲模块还用于根据接收到的第二音轨数据切换指令,对所述外挂音轨数据进行缓冲;所述切换模块还用于当缓冲的外挂音轨数据量达到第二预设阈值时,切换播放所述内嵌数据音轨,以使所述内嵌音轨数据和所述内嵌视频数据进行同步播放。
在本申请的一实施例中,所述确定模块还用于在对所述外挂音轨数据进行缓冲的过程中,根据所述内嵌音轨数据链接得到所述内嵌音轨数据的传输流切片;根据所述内嵌音轨数据的传输流切片与缓冲的外挂音轨数据确定目标传输流切片;当确定得到所述目标传输流切片时,停止缓冲所述外挂音轨数据。
在本申请的一实施例中,所述确定模块具体用于从所述内嵌音轨数据的传输流切片中确定与缓冲的外挂音轨数据量达到所述第二预设阈值时所在的传输流切片,并将确定出的传输流切片作为待切换切片;删除所述待切换切片中与缓冲的外挂音轨数据音轨相重叠的数据,得到所述目标传输流切片,以从所述目标传输流切片开始切换播放所述内嵌音轨数据。
根据本申请实施例的一个方面,提供了一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个被所述一个或多个处理器执行时,使得所述电子设备实现如上所述的音轨切换方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的音轨切换方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现如上所述的音轨切换方法。
在本申请的实施例所提供的技术方案中,流媒体对应有独立的内嵌视频数据链接和独立的内嵌音轨数据链接,进而根据内嵌视频数据链接和内嵌音轨数据链接可获取到流媒体对应的内嵌视频数据和内嵌音轨数据,并同步播放内嵌音轨数据和内嵌视频数据,当需要对播放的内嵌音轨数据进行切换时,无需修改流媒体原播放链接的内容,仅对独立的内嵌音轨数据链接对应的内嵌音轨数据进行切换,以切换播放内嵌视频数据对应的外挂音轨数据,降低音轨切换的复杂度,达到易扩展的优势。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。在附图中:
图1是本申请涉及的一种实施环境的示意图;
图2是本申请的一示例性实施例示出的一种音轨切换方法的流程图;
图3是本申请的一示例性实施例示出的另一种音轨切换方法的流程图;
图4是本申请的一示例性实施例示出的内嵌音轨数据和外挂音轨数据关系的示意图;
图5是本申请的一示例性实施例示出的再一种音轨切换方法的流程图;
图6是图2所示实施例中的在步骤S140之后在一示例性实施例中的流程图;
图7是本申请的另一示例性实施例示出的一种音轨切换方法的流程图;
图8是图7所示实施例中的步骤S520在一示例性实施例中的流程图;
图9是本申请的一示例性实施例示出的内嵌音轨切换外挂音轨的流程图;
图10是本申请的一示例性实施例示出的一种HLS播放链接列表的示意图;
图11是本申请的一示例性实施例示出的一种应用界面的示意图;
图12是本申请的一示例性实施例示出的外挂音轨切换内嵌音轨的流程图;
图13是本申请的一示例性实施例示出的一种音轨切换装置的示意图;
图14示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
还需要说明的是:在本申请中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在此,介绍与本申请涉及的缩略词和关键术语定义:
HLS:(HTTP Live Streaming,基于HTTP的自适应码率流媒体传输协议)是Apple的动态码率自适应技术;
M3U8:M3U8是Unicode版本的M3U,用UTF-8编码。"M3U"和"M3U8"文件都是苹果公司使用的HLS协议格式的基础;HLS playlist文件后缀名;
外挂音轨数据:HLS播放链接列表之外的一路独立音轨数据播放链接对应的音轨数据;
内嵌音轨数据:HLS播放链接列表内部的一路独立音轨数据播放链接对应的音轨数据。
请参阅图1,图1是本申请涉及的一种实施环境的示意图,为实现支撑一个音轨切换应用。该实施环境包括客户端10、服务器20,客户端10和服务器20之间通过有线或者无线网络进行通信。
客户端10,用于根据流媒体对应的内嵌视频数据链接和内嵌音轨数据链接,从服务器20中获取流媒体对应的内嵌视频数据和内嵌音轨数据;同步播放内嵌视频数据和内嵌音轨数据;根据接收到的第一音轨数据切换指令,对内嵌音轨数据进行缓冲;当缓冲的音轨数据量达到第一预设阈值时,切换播放内嵌视频数据对应的外挂音轨数据,以使外挂音轨数据和内嵌视频数据进行同步播放,其中外挂音轨数据可以是从服务器20中获取的。
服务器20,用于将内嵌视频数据和内嵌音轨数据发送给客户端10,还用于将外挂音轨数据发送给客户端10。
其中,客户端10可以是智能手机、平板、笔记本电脑、计算机、智能语音交互设备、智能家电、车载终端等任意能够播放流媒体的电子设备,服务器20可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器,本处不对此进行限制。
可以理解的是,本发明实施例可以应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景,例如客户端为车载终端,车载终端可播放流媒体,流媒体为音乐影片,用户通过智能语音触发内嵌音轨和外挂音轨数据的切换。
如图2所示,图2是根据一示例性实施例示出的一种音轨切换方法的流程图。该方法可以应用于图1所示的实施环境,并由图1所示实施例环境中的客户端10具体执行。该音轨切换方法可以包括步骤S110至步骤S140,详细介绍如下:
S110、根据流媒体对应的内嵌视频数据链接和内嵌音轨数据链接,获取流媒体对应的内嵌视频数据和内嵌音轨数据。
在本申请的一实施例中,流媒体对应有一路内嵌视频数据链接和一路内嵌音轨数据链接,内嵌视频数据链接对应独立的内嵌视频数据,内嵌音轨数据链接对应独立的内嵌音轨数据;可以理解的是,内嵌视频数据与内嵌视频数据对应。其中该内嵌视频数据链接为内嵌视频数据的文件资源路径,客户端根据该内嵌视频数据链接查找服务器上的内嵌视频数据,并从服务器上下载该内嵌视频数据,同理,内嵌音轨数据链接为内嵌音轨数据的文件资源路径,根据该内嵌音轨链接查找服务器上的内嵌音轨数据,并从服务器上下载该内嵌音轨数据。通过内嵌视频数据链接和内嵌音轨链接无需存储一个完整的流媒体,只需要保存两条链接,减少客户端的存储空间。
一示例性的,客户端存储了基于HLS协议的HLS播放链接列表(master playlist),该HLS播放链接列表内包括同一份流媒体的内嵌视频数据链接和内嵌音轨数据链接,可选的,该HLS播放链接列表为M3U8文件。
S120、同步播放内嵌视频数据和内嵌音轨数据。
在本申请的一实施例中,客户端可以为多媒体播放器,多媒体播放器可以从内嵌视频数据和内嵌音轨数据中读取视频帧和音轨帧,并对视频帧和音轨帧进行解码,同步播放视频帧和音轨帧,以实现对流媒体的播放。
S130、根据接收到的第一音轨数据切换指令,对内嵌音轨数据进行缓冲。
值得注意的是,第一音轨数据切换指令用于指示对内嵌音轨数据进行缓冲,并在缓冲完成时切换内嵌音轨数据;其中第一音轨数据切换指令可以是在播放该流媒体的过程中接收到,例如在流媒体播放到00:01:00时,接收到第一音轨数据切换指令,也可以是在播放开始播放流媒体时接收到,例如在流媒体的00:00:00时接收到第一音轨数据切换指令,在此并不进行限定。
示例性的,客户端还包括显示屏,第一音轨数据切换指令是由用户触发显示屏下发的,显示屏响应触发操作,该触发操作可以是单击、双击、长按、重压或滑动,则客户端接收到的触发操作对应的第一音轨数据切换指令可以是单击指令、双击指令、长按指令、重压指令、滑动指令,但并不局限于此;在一其他实施例中,触发操作还可以是语音操作,例如自动播放“切换音轨”的语音,以下发第一音轨数据切换指令。
在本申请的一实施例中,当客户端接收到第一音轨数据切换指令时,就开始对内嵌音轨数据进行缓冲,即客户端接收到第一音轨数据切换指令时,继续从服务器中下载内嵌音轨数据,将下载的内嵌音轨数据存储在缓冲区;例如当流媒体播放到00:01:00时,接收到第一音轨数据切换指令,从00:01:01开始对内嵌音轨数据进行缓冲。在本申请的另一实施例中,该第一音轨数据切换指令还携带有缓冲开始时间点,当客户端接收到第一音轨数据切换指令后,从缓冲开始时间点对内嵌音轨数据进行缓冲;例如当流媒体播放到00:01:00时,接收到第一音轨数据切换指令,第一音轨数据切换指令指示从00:01:02开始对内嵌音轨数据进行缓冲,可以理解的是,客户端为了播放的流畅度,客户端在播放00:01:00时,已经将00:01:01和00:01:02的内嵌音轨数据缓冲好了,因此可从00:01:02开始对内嵌音轨数据进行缓冲。
S140、当缓冲的内嵌音轨数据量达到第一预设阈值时,切换播放内嵌视频数据对应的外挂音轨数据,以使外挂音轨数据和内嵌视频数据进行同步播放。
在本申请的一实施例中,当缓冲区中的内嵌音轨数据量达到第一预设阈值时,从播放内嵌音轨数据切换播放内嵌视频数据对应的外挂音轨数据,且切换完成时,外挂音轨数据和内嵌视频数据同步播放;通过对内嵌音轨数据的缓冲,使得在缓冲过程中可以准备外挂音轨数据,且在缓冲的内嵌音轨数据量达到阈值时,仅需要对内嵌音轨数据进行切换,以切换播放外挂音轨数据,在切换的时候,降低切换复杂度,提高内嵌音轨数据切换到外挂音轨数据的流畅度。其中第一预设阈值可以由用户设置,也可以由客户端设置,还可以根据实际需求进行灵活调整,例如当客户端当前的网速较高时,第一预设阈值小一些;客户端当前的网速较低时,第一预设阈值大一些。
需要说明的是,客户端在切换完成前,已获取了外挂音轨数据,该外挂音轨数据为在流媒体原始的内嵌音轨数据和内嵌视频数据上,添加的用于辅助内嵌视频数据的一路音轨,且外挂音轨数据与内嵌视频数据对应;例如内嵌音轨数据为某中文电影的中文音轨,则外挂音轨数据为某中文电影的外加的英文音轨。
其中客户端获取了一个或多个外挂音轨数据,多个外挂音轨数据对应的音轨互不相同,例如不同的语言类型的音频流(如中文、英文等)对应于不同的音轨;不同的音质的音频流(如杜比、AAC(Advanced Audio Coding,高级音频编码)、MP3(Moving PictureExperts Group Audio Layer III,动态影像专家压缩标准音频层面3)等)也对应于不同的音轨。当客户端获取了多个外挂音轨数据时,第一音轨数据切换指令还携带有外挂音轨标识,即确定切换播放哪个外挂音轨数据。
在一示例中,在根据接收到的第一音轨数据切换指令,对内嵌音轨数据进行缓冲之前,音轨切换方法还包括:根据内嵌音轨数据链接和外挂音轨数据对应的外挂音轨数据链接生成音轨切换接口,音轨切换接口用于接收携带有外挂标识的第一音轨数据切换指令,外挂标识与外挂音轨数据链接对应。通过生成音轨切换接口,并接收携带有外挂标识的第一音轨数据切换指令,使得客户端能对应找到对应的外挂音轨数据链接,保证客户端切换播放的外挂音轨数据可靠性。
客户端根据内嵌音轨数据链接和一个(或多个)外挂音轨数据对应的一个(或多个)外挂音轨数据链接生成一个音轨切换接口,在一示例中,客户端可以展示该音轨切换接口对应的音轨切换界面,该音轨切换界面显示在上述显示屏中,用户可通过显示屏显示的音轨切换界面选择想要切换到哪个音轨,例如用户选择想要切换到英文音轨,点击“英文”,则音轨切换界面对应的音轨切换接口会接收到携带有英文标识的第一音轨数据切换指令,客户端会根据该英文标识确定对应的外挂音轨数据链接,进而切换播放该外挂音轨数据对应的外挂音轨数据;可以理解的是,第一音轨数据切换指令携带的外挂标识具有唯一性,即外挂标识和外挂音轨数据链接一一对应,客户端可以根据该外挂标识确定出唯一对应的外挂音轨数据链接。
图3是本申请的一示例性实施例示出的另一种音轨切换方法的流程图。
如图3所示,音轨切换方法还包括:
S210、在对内嵌音轨数据进行缓冲的过程中,根据内嵌视频数据对应的外挂音轨数据链接得到外挂音轨数据。
在本申请的一实施例中,外挂音轨数据是根据外挂音轨数据链接获取的,外挂音轨数据链接为一路独立的音轨数据链接,外挂音轨数据链接可以是基于HLS协议的链接,也可以是一个可以得到完整音轨数据的链接;其中该外挂音轨数据链接可以是用户从网页中获取的,也可以是服务器预先发送给客户端;客户端预先存储了该外挂音轨数据链接,进而在对内嵌音轨数据进行缓冲的过程中,根据该外挂音轨数据链接查找服务器上的外挂音轨数据,并从服务器中下载解析得到外挂音轨数据。
需要说明的是,客户端得到的外挂音轨数据可以是视频数据对应的完整音轨数据;也可以是接收到第一音轨数据切换指令时,未播视频数据对应的全部音轨数据,例如当视频数据播放到00:01:00时,接收到第一音轨数据切换指令,则客户端得到是00:01:01开始的全部外挂音轨数据;还可以是接收到第一音轨数据切换指令时,未播视频数据对应的部分音轨数据,当视频数据播放到00:01:00时,接收到第一音轨数据切换指令,则客户端得到是00:01:01-00:05:00的部分外挂音轨数据,在此并不进行限定。
S220、从外挂音轨数据中确定与缓冲的内嵌音轨数据量达到第一预设阈值时相适应的目标播放时间点。
在本申请的一实施例中,记录缓冲的内嵌音轨数据量达到第一预设阈值时对应在内嵌音轨数据中的播放时刻,从外挂音轨数据中确定与记录的播放时刻同步的音轨时间点,将该音轨时间点作为目标播放时间点,即缓冲的内嵌音轨数据量达到第一预设阈值时,就可以确定从外挂音轨数据中确定出目标播放时间点,进而后续可根据目标播放时间点直接播放对应的外挂音轨数据。例如如图4所示,缓冲的内嵌音轨数据量达到第一预设阈值,即缓冲完成时,内嵌音轨数据可以播放到00:01:05,则从外挂音轨数据中确定出00:01:05开始的音轨时间点,将该00:01:05作为外挂音轨数据的目标播放时间点。可以理解的是,步骤S210中得到的外挂音轨数据包含了缓冲的内嵌音轨数据量达到第一预设阈值时所对应的音轨数据。
在本实施例中,通过在内嵌音轨数据进行缓冲的过程中,下载解析得到外挂音轨数据,为切换播放外挂音轨数据做好准备,以减少后续切换播放外挂音轨数据的切换时间,且在外挂音轨数据中确定出内嵌音轨数据缓冲完成时对应的目标播放点,以便于后续根据目标播放时间点直接播放对应的外挂音轨数据,提高切换的流程度。
图5是是本申请的一示例性实施例示出的再一种音轨切换方法的流程图。如图5所示,在确定得到外挂音轨数据的目标播放时间点时,切换播放内嵌视频数据对应的外挂音轨数据的过程包括:
S310、当确定得到目标播放时间点时,停止缓冲内嵌音轨数据。
可以理解的是,当确定得到目标播放时间点时,表示外挂音轨数据已经准备好播放,内嵌音轨数据可以播放到缓冲的内嵌音轨数据量达到第一预设阈值的时间点,此时停止缓冲内嵌音轨数据,即不再从服务器中下载内嵌音轨数据。
S320、从外挂音轨数据中确定与目标播放时间点对应的目标音轨数据帧,以从目标音轨数据帧的下一帧开始播放外挂音轨数据。
在本申请实施例中,外挂音轨数据的每一个播放时间点均存在对应的音轨数据帧,因此客户端可以从外挂音轨数据中确定出目标播放时间点对应的目标音轨数据帧。
一示例性的,当缓冲的内嵌音轨数据量达到第一预设阈值时,从外挂音轨数据中确定出目标音轨数据帧,此时内嵌音轨数据继续播放,直到播放到缓冲的内嵌音轨数据的最后时刻,即播放到外挂音轨数据的目标播放时间点对应的时刻,然后切换到外挂音轨数据,并从外挂音轨数据的目标音轨数据帧的下一帧开始播放外挂音轨数据,以完成音轨切换。例如图4中,缓冲的音轨数据量达到第一预设阈值时,内嵌音轨数据可以播放到00:01:05,该00:01:05作为外挂音轨数据的目标播放时间点,可确定目标播放时间点对应的目标音轨数据帧A,内嵌音轨数据继续播放到00:01:05,然后00:01:05下一时刻播放目标音轨数据帧A的下一帧。
需要说明的是,步骤S310和步骤S320不存在顺序限制,可以是S310在步骤S320之前进行,也可以是S310在步骤S320之后进行,还可以是S310和步骤S320同时进行。
在一示例中,当外挂音轨数据链接是基于HLS协议的链接,如stream_audio_english.m3u8,客户端根据内嵌视频数据对应的外挂音轨数据链接得到外挂音轨数据的传输流TS切片,搜索缓冲的内嵌音轨数据量达到第一预设阈值的时刻所在的当前切片,丢弃内嵌音轨数据与外挂音轨数据的当前切片重叠的部分数据;当内嵌音轨播放至缓冲的最后一个数据,切换播放外挂音轨数据的丢弃重叠数据后的当前切片。
以上介绍的是从内嵌音轨切换到外挂音轨的方法实施例;在此介绍从外挂音轨切换到内嵌音轨的方法实施例;如图6所示,图6是图2所示实施例中的在步骤S140之后在一示例性实施例中的流程图。如图6所示,在切换播放内嵌视频数据对应的外挂音轨数据,以使外挂音轨数据和内嵌视频数据进行同步播放之后,方法还包括:
S410、根据接收到的第二音轨数据切换指令,对外挂音轨数据进行缓冲;
第一音轨数据切换指令用于指示对内嵌音轨数据进行缓冲,并在缓冲完成时切换外挂音轨数据;该第二音轨数据切换指令是在播放流媒体的过程中接收到的;第二音轨数据切换指令是由用户触发显示界面下发的,显示界面响应触发操作,该触发操作可以是单击、双击、长按、重压或滑动,则客户端接收到的触发操作对应的第二音轨数据切换指令可以是单击指令、双击指令、长按指令、重压指令、滑动指令,但并不局限于此;在一其他实施例中,触发操作还可以是语音操作,例如自动播放“切换音轨”的语音,以下发第二音轨数据切换指令。在一示例中,第二音轨数据切换指令与第一音轨数据切换指令对应的触发操作可以相同,也可以不同。
在本申请的一实施例中,客户端通过音轨切换接口接收第二音轨数据切换指令,由于内嵌音轨数据只有一个,则第二音轨数据切换指令无需携带标识;在另一实施例中,当内嵌音轨数据有多个时,第二音轨数据切换指令携带有内嵌标识,以确定切换播放哪个内嵌音轨数据。
与内嵌音轨数据切换外挂音轨数据的过程相同,当接收到第二音轨数据切换指令时,开始对外挂音轨数据进行缓冲,具体请参加步骤S130的过程,在次不再一一赘述。
S420、当缓冲的外挂音轨数据量达到第二预设阈值时,切换播放内嵌数据音轨,以使内嵌音轨数据和内嵌视频数据进行同步播放。
在本申请的一实施例中,当缓冲区中的外挂音轨数据量达到第二预设阈值时,从播放外挂视频数据切换至播放内嵌音轨数据,且切换完成时,外挂音轨数据和内嵌视频数据同步播放。第二预设阈值可以由用户设置,也可以由客户端设置,还可以根据实际需求进行灵活调整,例如当客户端当前的网速较高时,第二预设阈值小一些;客户端当前的网速较低时,第二预设阈值大一些;其中第二预设阈值可以与第一预设阈值相同,也可以不同。
图7是本申请的另一示例性实施例示出的一种音轨切换方法的流程图。
如图7所示,音轨切换方法还包括:
S510、在对外挂音轨数据进行缓冲的过程中,根据内嵌音轨数据链接得到内嵌音轨数据的传输流切片。
需要说明的是,本申请实施例的内嵌音轨数据链接是流媒体对应的链接,该流媒体是采用以流的方式在网络中分段传送的媒体,因此内嵌音轨数据链接是HLS协议的链接,在对外挂音轨数据进行缓冲的过程中,根据内嵌音轨数据链接查找服务器上的内嵌音轨数据,服务器上存储的是一系列内嵌音轨片段资源,即传输流(TS)切片,客户端并从服务器中按顺序下载内嵌音轨数据的TS切片,例如当流媒体播放到01:01:00时,接收到第二音轨数据切换指令,客户端根据内嵌音轨数据链接按与接收到第二音轨数据切换指令对应的顺序下载得到TS切片1和TS切片2,该TS切片1是01:00:01-01:02:00,TS切片2是01:02:01-01:04:00。
S520、根据内嵌音轨数据的传输流切片与缓冲的外挂音轨数据确定目标传输流切片。
在本申请的一实施例中,当客户端获取得到内嵌音轨数据的TS切片,从获取到的TS切片中确定与缓冲的外挂音轨数据相适应的TS切片,根据确定出的TS切片和缓冲的外挂音轨数据确定目标TS切片。
S530、当确定得到目标传输流切片时,停止缓冲外挂音轨数据。
可以理解的是,当确定得到目标TS切片时,表示内嵌音轨数据已经准备好播放,外挂音轨数据可以播放到缓冲的外挂音轨数据量达到第二预设阈值的时间点,此时停止缓冲外挂音轨数据。
图8是图7所示实施例中的步骤S520在一示例性实施例中的流程图。如图7所示,确定目标TS切片的过程包括:
S521、从内嵌音轨数据的传输流切片中确定与缓冲的外挂音轨数据量达到第二预设阈值时所在的传输流切片,并将确定出的传输流切片作为待切换切片。
在本申请的一实施例中,记录缓冲的外挂音轨数据量达到第二预设阈值时在外挂音轨数据中的播放时刻,从内嵌音轨数据的传输流切片中确定与记录的播放时刻所在的TS切片,例如缓冲的外挂音轨数据量达到第二预设阈值的时刻为01:01:10,TS切片1为01:00:01-01:02:00,TS切片2是01:02:01-01:04:00,则缓冲的外挂音轨数据量达到第二预设阈值的时刻所在的TS切片为TS切片1,将TS切片1作为待切换切片。
S522、删除待切换切片中与缓冲的外挂音轨数据相重叠的数据,得到目标传输流切片,以从目标传输流切片开始切换播放内嵌音轨数据。
得到待切换切片之后,删除待切换切片中与缓冲的外挂音轨数据相重叠的部分数据,例如删除TS切片1中01:00:01-01:01:10的音轨数据,得到目标TS切片,进而当内嵌音轨数据播放到01:01:10时,从下一时刻播放该目标TS切片中的音轨数据,即从01:01:11开始播放内嵌音轨数据。
一示例性的,内嵌音轨数据的每一个播放时间点均存在对应的内嵌音轨数据帧,因此还可以确定目标TS切片开始时刻对应的内嵌音轨数据帧,当内嵌音轨数据播放到01:01:10时,下一时刻播放该内嵌音轨数据帧。
为了便于理解,本申请的一实施例以具体的应用场景对音轨切换方法进行说明,具体对内嵌音轨切换到外挂音轨的过程进行说明,其中如图9所示,多媒体播放器包括应用界面、播放控制模块、播放解析模块和外挂音轨模块。
S901、用户想要播放流媒体时,通过应用界面通知播放控制模块打开流媒体的HLS播放链接列表(master playlist)。
S902、播放控制模块通过播放解析模块对HLS播放链接列表进行解析,得到独立的内嵌视频数据链接和内嵌音轨数据链接。
图10示出了一种HLS播放链接列表的示意图,如图10所示,HLS播放链接列表包括内嵌视频数据链接stream_640x360.m3u8和内嵌音轨数据链接stream_audio_chinese.m3u8;播放解析模块还根据内嵌视频数据链接和内嵌音轨数据获取内嵌视频数据和内嵌音轨数据。
S903、用户通过应用界面通知播放控制模块添加外挂音轨链接(pure audioplaylist)。
可以理解的是,此时添加外挂音轨链接,并没有打开外挂音轨链接,其可以是客户端向服务器请求外挂音轨链接,并保存该外挂音轨链接,将外挂音轨链接添加显示在应用界面上。
S904、同步播放内嵌视频数据链接对应的内嵌视频数据和内嵌音轨数据链接对应的内嵌音轨数据。
S905、用户通过应用界面选择并通知播放控制模块即将切换的音轨。
如图11所示,应用界面1101上显示有音轨切换界面1102,音轨切换界面与根据内嵌音轨数据链接和外挂音轨数据链接生成的音轨切换接口1103对应,在该音轨切换界面1102中展示了内嵌音轨数据标识1102a和外挂音轨数据标识1102b,用户可以点击选择对应的音轨数据标识,确定即将切换的音轨,进而应用界面根据用户的点击操作生成音轨数据切换指令,该音轨数据切换指令携带有音外挂标识。
S906、播放控制模块根据外挂标识判定即将切换的外挂音轨。
S907、播放控制模块对内嵌音轨数据进行缓冲,等待缓冲的内嵌音轨数据量达到第一预设阈值后开始切换。
S908、在缓冲的过程中,播放控制模块通知外挂音轨模块打开外挂对应的外挂音轨链接,以下载并解析的外挂音轨数据。
S909、外挂音轨模块通过播放解析模块对外挂音轨数据进行解析,并搜索到缓冲完成时间。
S910、播放控制模块通知播放解析模块停止下载并解析内嵌独立音轨数据。
S911、播放控制模块从内嵌音轨数据切换到外挂音轨数据,并通知应用界面。
上述步骤S908时内嵌音轨数据缓冲过程中进行的,步骤S909-S911均是与内嵌音轨数据缓冲完成时同步进行的,应用界面展示“切换完成”文字以告知用户音轨切换完成。
为了便于理解,本申请的另一实施例以具体的应用场景对音轨切换方法进行说明,具体对外挂音轨切换到内嵌音轨的过程进行说明,其中如图12所示,多媒体播放器包括应用界面、播放控制模块、播放解析模块和外挂音轨模块。
S1201、用户想要播放流媒体时,通过应用界面通知播放控制模块打开流媒体的HLS播放链接列表(master playlist)。
S1202、播放控制模块通过播放解析模块对HLS播放链接列表进行解析,得到独立的内嵌视频数据链接和内嵌音轨数据链接。
S1203、用户通过应用界面通知播放控制模块添加外挂音轨数据链接(pure audioplaylist)。
S1204、同步播放内嵌视频数据链接对应的内嵌视频数据和外挂音轨数据链接对应的外挂音轨数据。
在本示例中,添加外挂音轨链接后,播放控制模块下载并解析得到外挂音轨数据,进而可同步播放内嵌视频数据和外挂音轨数据。
S1205、用户通过应用界面并通知播放控制模块选择即将切换的音轨。
S1206、播放控制模块判定即将切换的内嵌音轨。
S1207、播放控制模块对外挂音轨数据进行缓冲,等待缓冲的外挂音轨数据量达到第二预设阈值后开始切换。
步骤S1201~S1207与上述步骤S901~S907的逻辑相同,在此不再一一赘述。
S1208、在缓冲的过程中,播放控制模块通知外挂音轨模块关闭外挂音轨链接。
S1209、播放控制模块通知播放解析模块对内嵌音轨数据进行下载解析。
S1210、播放解析模块下载并解析内嵌独立音轨数据,并搜索到缓冲完成时间所在的当前切片。
S1211、播放解析模块丢弃内嵌独立音轨的当前切片中与外挂独立音轨相重叠的部分数据。
S1212、播放控制模块从缓冲完成时间开始切换,以从外挂音轨数据切换到内嵌音轨数据,并通知应用界面。
本实施例提供的音轨切换方法,由于独立的内嵌视频链接和内嵌音轨链接在多清晰度情况下,可以不用每条不同清晰度的视频链接都带同样的音轨而造成存储冗余,因此在独立的内嵌视频链接和内嵌音轨链接的基础上,本实施例提供的技术方案支持外挂音轨数据链接,用户可以无感知哪些是外挂音轨,哪些是内嵌音轨,在后期新增新语种音轨时,无需修改原播放链接的内容,达到易扩展的优势。
值得注意的是,通过以上的实施方式的描述,本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。例如切换内嵌字幕和外挂字幕。具体的,根据流媒体对应的内嵌视频数据链接和内嵌字幕数据链接,获取流媒体对应的内嵌视频数据和内嵌字幕数据,同步播放内嵌视频数据和内嵌字幕数据,根据接收到的第一字幕数据切换指令,对内嵌字幕数据进行缓冲,当缓冲的内嵌字幕数据量达到第一预设阈值时,切换播放内嵌视频数据对应的外挂字幕数据,以使外挂字幕数据和内嵌视频数据进行同步播放,具体过程逻辑请参加上述对音轨切换的方法,在此不再一一赘述。
又例如,切换内嵌音轨和外挂音轨的同时,切换内嵌字幕和外挂字幕。具体的,根据流媒体对应的内嵌视频数据链接、内嵌音轨数据链接、内嵌字幕数据链接,获取流媒体对应的内嵌视频数据、内嵌音轨数据和内嵌字幕数据,同步播放内嵌视频数据、内嵌音轨数据和内嵌字幕数据,根据接收到的第一数据切换指令,对内嵌音轨数据和内嵌字幕数据进行缓冲,当缓冲的内嵌音轨数据和内嵌字幕数据量均达到第一预设阈值时,切换播放内嵌视频数据对应的外挂字幕数据和外挂音轨数据,以使外挂字幕数据、外挂音轨数据和内嵌视频数据进行同步播放,具体过程逻辑请参加上述对音轨切换的方法,在此不再一一赘述。
又例如切换外挂视频和内嵌视频。具体的,根据流媒体对应的内嵌视频数据链接和内嵌音轨数据链接,获取流媒体对应的内嵌视频数据和内嵌字幕数据,同步播放内嵌视频数据和内嵌字幕数据,根据接收到的第一视频数据切换指令,对内嵌视频数据进行缓冲,当缓冲的内嵌视频数据量达到第一预设阈值时,切换播放内嵌音轨数据对应的外挂视频数据,以使外挂视频数据和内嵌音轨数据进行同步播放,具体过程逻辑请参加上述对音轨切换的方法,在此不再一一赘述。
介绍本申请的装置实施例,可以用于执行本申请上述实施例中的数据处理方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的数据处理方法的实施例。
图13示出了根据本申请的一个实施例的音轨切换装置的框图,音轨切换装置,包括获取模块1310、播放模块1320、缓冲模块1330和切换模块1340;
获取模块1310,根据流媒体对应的内嵌视频数据链接和内嵌音轨数据链接,获取流媒体对应的内嵌视频数据和内嵌音轨数据;
播放模块1320,同步播放内嵌视频数据和内嵌音轨数据;
缓冲模块1330,根据接收到的第一音轨数据切换指令,对内嵌音轨数据进行缓冲;
切换模块1340,当缓冲的内嵌音轨数据量达到第一预设阈值时,切换播放内嵌视频数据对应的外挂音轨数据,以使外挂音轨数据和内嵌视频数据进行同步播放。
在本申请的一个实施例中,基于前述方案,音轨切换装置还包括确定模块,确定模块用于在对内嵌音轨数据进行缓冲的过程中,根据内嵌视频数据对应的外挂音轨数据链接得到外挂音轨数据;从外挂音轨数据中确定与缓冲的内嵌音轨数据量达到第一预设阈值时相适应的目标播放时间点。
在本申请的一个实施例中,基于前述方案,切换模块1340具体用于当确定得到目标播放时间点时,停止缓冲内嵌音轨数据;从外挂音轨数据中确定与目标播放时间点对应的目标音轨数据帧,以从目标音轨数据帧的下一帧开始播放外挂音轨数据。
在本申请的一个实施例中,基于前述方案,音轨切换装置还包括生成模块,生成模块用于根据内嵌音轨数据链接和外挂音轨数据对应的外挂音轨数据链接生成音轨切换接口,音轨切换接口用于接收携带有外挂标识的第一音轨数据切换指令,外挂标识与外挂音轨数据链接对应。
在本申请的一个实施例中,基于前述方案,缓冲模块1330还用于根据接收到的第二音轨数据切换指令,对外挂音轨数据进行缓冲;切换模块还用于当缓冲的外挂音轨数据量达到第二预设阈值时,切换播放内嵌数据音轨,以使内嵌音轨数据和内嵌视频数据进行同步播放。
在本申请的一个实施例中,基于前述方案,确定模块还用于在对外挂音轨数据进行缓冲的过程中,根据内嵌音轨数据链接得到内嵌音轨数据的传输流切片;根据内嵌音轨数据的传输流切片与缓冲的外挂音轨数据确定目标传输流切片;当确定得到目标传输流切片时,停止缓冲外挂音轨数据。
在本申请的一个实施例中,基于前述方案,在本申请的一实施例中,确定模块具体用于从内嵌音轨数据的传输流切片中确定与缓冲的外挂音轨数据量达到第二预设阈值时所在的传输流切片,并将确定出的传输流切片作为待切换切片;删除待切换切片中与缓冲的外挂音轨数据音轨相重叠的数据,得到目标传输流切片,以从目标传输流切片开始切换播放内嵌音轨数据。
本实施例提供的音轨切换装置可以在不修改流媒体的原始播放链接的情况下,支持新添加的外挂音轨和/或字幕,仅对独立的内嵌音轨/内嵌字幕进行切换,以播放外挂音轨/字幕,降低切换的复杂度,达到易扩展的优势。
需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
本申请的实施例还提供了一种电子设备,包括一个或多个处理器,以及存储装置,其中,存储装置,用于存储一个或多个程序,当一个或多个被一个或多个处理器执行时,使得所述电子设备实现如上所述的音轨切换方法。
图14示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图14示出的电子设备的计算机系统1400仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图14所示,计算机系统1400包括中央处理单元(Central Processing Unit,CPU)1401,其可以根据存储在只读存储器(Read-Only Memory,ROM)1402中的程序或者从储存部分1408加载到随机访问存储器(Random Access Memory,RAM)1403中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 1403中,还存储有系统操作所需的各种程序和数据。CPU 1401、ROM 1402以及RAM 1403通过总线1404彼此相连。输入/输出(Input/Output,I/O)接口1405也连接至总线1404。
以下部件连接至I/O接口1405:包括键盘、鼠标等的输入部分1406;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1407;包括硬盘等的储存部分1408;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1409。通信部分1409经由诸如因特网的网络执行通信处理。驱动器1410也根据需要连接至I/O接口1405。可拆卸介质1411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1410上,以便于从其上读出的计算机程序根据需要被安装入储存部分1408。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1409从网络上被下载和安装,和/或从可拆卸介质1411被安装。在该计算机程序被中央处理单元(CPU)1401执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述的方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供如前所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。

Claims (10)

1.一种音轨切换方法,其特征在于,包括:
根据流媒体对应的内嵌视频数据链接和内嵌音轨数据链接,获取所述流媒体对应的内嵌视频数据和内嵌音轨数据;
同步播放所述内嵌视频数据和所述内嵌音轨数据;
根据接收到的第一音轨数据切换指令,对所述内嵌音轨数据进行缓冲;
当缓冲的内嵌音轨数据量达到第一预设阈值时,切换播放所述内嵌视频数据对应的外挂音轨数据,以使所述外挂音轨数据和所述内嵌视频数据进行同步播放。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在对所述内嵌音轨数据进行缓冲的过程中,根据所述内嵌视频数据对应的外挂音轨数据链接得到所述外挂音轨数据;
从所述外挂音轨数据中确定与缓冲的内嵌音轨数据量达到所述第一预设阈值时相适应的目标播放时间点。
3.根据权利要求2所述的方法,其特征在于,所述当缓冲的内嵌音轨数据量达到第一预设阈值时,切换播放所述内嵌视频数据对应的外挂音轨数据,包括:
当确定得到所述目标播放时间点时,停止缓冲所述内嵌音轨数据;
从所述外挂音轨数据中确定与所述目标播放时间点对应的目标音轨数据帧,以从所述目标音轨数据帧的下一帧开始播放所述外挂音轨数据。
4.根据权利要求1所述的方法,其特征在于,所述根据接收到的第一音轨数据切换指令,对所述内嵌音轨数据进行缓冲之前,所述方法还包括:
根据所述内嵌音轨数据链接和所述外挂音轨数据对应的外挂音轨数据链接生成音轨切换接口,所述音轨切换接口用于接收携带有外挂标识的所述第一音轨数据切换指令,所述外挂标识与所述外挂音轨数据链接对应。
5.根据权利要求1-4任一项所述的方法,其特征在于,在所述切换播放所述内嵌视频数据对应的外挂音轨数据,以使所述外挂音轨数据和所述内嵌视频数据进行同步播放之后,所述方法还包括:
根据接收到的第二音轨数据切换指令,对所述外挂音轨数据进行缓冲;
当缓冲的外挂音轨数据量达到第二预设阈值时,切换播放所述内嵌数据音轨,以使所述内嵌音轨数据和所述内嵌视频数据进行同步播放。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在对所述外挂音轨数据进行缓冲的过程中,根据所述内嵌音轨数据链接得到所述内嵌音轨数据的传输流切片;
根据所述内嵌音轨数据的传输流切片与缓冲的外挂音轨数据确定目标传输流切片;
当确定得到所述目标传输流切片时,停止缓冲所述外挂音轨数据。
7.根据权利要求6所述的方法,其特征在于,所述根据所述内嵌音轨数据的传输流切片与缓冲的外挂音轨数据确定目标传输流切片,包括:
从所述内嵌音轨数据的传输流切片中确定与缓冲的外挂音轨数据量达到所述第二预设阈值时所在的传输流切片,并将确定出的传输流切片作为待切换切片;
删除所述待切换切片中与缓冲的外挂音轨数据音轨相重叠的数据,得到所述目标传输流切片,以从所述目标传输流切片开始切换播放所述内嵌音轨数据。
8.一种音轨切换装置,其特征在于,包括:
获取模块,用于根据流媒体对应的内嵌视频数据链接和内嵌音轨数据链接,获取所述流媒体对应的内嵌视频数据和内嵌音轨数据;
播放模块,用于同步播放所述内嵌视频数据和所述内嵌音轨数据;
缓冲模块,用于根据接收到的第一音轨数据切换指令,对所述内嵌音轨数据进行缓冲;
切换模块,用于当缓冲的内嵌音轨数据量达到第一预设阈值时,切换播放所述内嵌视频数据对应的外挂音轨数据,以使所述外挂音轨数据和所述内嵌视频数据进行同步播放。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1-7中的任一项所述的方法。
CN202111330963.4A 2021-11-10 2021-11-10 一种音轨切换方法、装置、设备及存储介质 Pending CN116112717A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111330963.4A CN116112717A (zh) 2021-11-10 2021-11-10 一种音轨切换方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111330963.4A CN116112717A (zh) 2021-11-10 2021-11-10 一种音轨切换方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116112717A true CN116112717A (zh) 2023-05-12

Family

ID=86254926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111330963.4A Pending CN116112717A (zh) 2021-11-10 2021-11-10 一种音轨切换方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116112717A (zh)

Similar Documents

Publication Publication Date Title
US20170311006A1 (en) Method, system and server for live streaming audio-video file
CN111316652A (zh) 使用对齐编码内容片段的个性化内容流
CN105681912A (zh) 一种视频播放方法和装置
CN107895016B (zh) 一种播放多媒体的方法和装置
WO2020155964A1 (zh) 音视频的切换方法、装置、计算机设备及可读存储介质
CN104065979A (zh) 一种动态显示和视频内容相关联信息方法及系统
US20150106730A1 (en) Framework for screen content sharing system with generalized screen descriptions
CN113767639B (zh) 接收媒体数据的方法、装置和非易失性计算机可读介质
US20220060532A1 (en) Method for transmitting resources and electronic device
CN113748659B (zh) 接收会话的媒体数据的方法、装置和非易失性计算机可读介质
CN112423081B (zh) 一种视频数据处理方法、装置、设备及可读存储介质
CN113661692B (zh) 接收媒体数据的方法、装置和非易失性计算机可读存储介质
US11490169B2 (en) Events in timed metadata tracks
US20130242189A1 (en) Method and system for providing synchronized playback of media streams and corresponding closed captions
JP2023520651A (ja) メディア・ストリーミング方法及び装置
CN111818279A (zh) 字幕的生成方法、展示方法及交互方法
CN112188256B (zh) 信息处理方法、信息提供方法、装置、电子设备及存储介质
CN116112717A (zh) 一种音轨切换方法、装置、设备及存储介质
CN111869225B (zh) 信息处理装置、信息处理方法及非暂时性计算机可读存储介质
JP2023519240A (ja) Httpによる動的適応ストリーミングのための方法及び装置
CN113364728B (zh) 媒体内容接收方法、装置、存储介质和计算机设备
CN111800649A (zh) 存储视频的方法和装置以及生成视频的方法和装置
KR102659938B1 (ko) Http를 통한 동적 적응 스트리밍을 위한 방법 및 장치
CN115462063B (zh) 接收媒体数据的方法、设备及存储介质
US20230276105A1 (en) Information processing apparatus, information processing apparatus, and program

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