CN112866794A - 一种音轨切换方法及设备 - Google Patents
一种音轨切换方法及设备 Download PDFInfo
- Publication number
- CN112866794A CN112866794A CN201911101123.3A CN201911101123A CN112866794A CN 112866794 A CN112866794 A CN 112866794A CN 201911101123 A CN201911101123 A CN 201911101123A CN 112866794 A CN112866794 A CN 112866794A
- Authority
- CN
- China
- Prior art keywords
- audio
- audio track
- target
- media
- media stream
- 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
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/439—Processing of audio elementary streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/268—Signal distribution or switching
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例提供了一种音轨切换方法及设备;该方法包括:当接收到服务设备发送的预设媒体流时,读取预设媒体流以播放流媒体;预设媒体流为播放的流媒体对应的音频流和其他媒体流复用的媒体流;当接收到针对播放的流媒体的音轨切换指令时,向服务设备发送音轨切换请求,并从预设媒体流中,确定读取到的当前音频帧和当前其他媒体帧;当前音频帧与当前其他媒体帧对应;接收服务设备针对音轨切换请求发送的目标音轨;从目标音轨中,读取与当前音频帧对应的当前目标音频帧,并同步解码播放当前目标音频帧和当前其他媒体帧,直至满足切换截止条件时,完成播放的流媒体的音轨切换。通过本发明实施例,能够降低音轨切换的复杂度。
Description
技术领域
本发明涉及计算机领域中的流媒体技术,尤其涉及一种音轨切换方法及设备。
背景技术
流媒体技术指对多媒体信息进行流式传输的技术,通过流媒体技术,使得用户能够在文件下载的过程中观看多媒体信息,减少了客户端的存储空间,也提升了多媒体信息的播放效率。另外,随着技术的发展,为了满足用户对流媒体中音频的不同需求,需要对多媒体信息中的音轨进行替换。
一般来说,由于多媒体信息中的音频与其他媒体信息是通过复用来实现的流式传输;因此,在对多媒体信息中的音轨进行替换时,通常对多媒体信息的媒体流的整体进行替换。然而,在上述音轨替换时,需要在服务器侧预先存储不同的音轨分别与其他媒体信息的合成媒体流,如此,音轨切换的复杂度高。
发明内容
本发明实施例提供一种音轨切换方法及设备,能够降低音轨切换的复杂度。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种音轨切换方法,应用于播放设备,包括:
当接收到服务设备发送的预设媒体流时,读取所述预设媒体流以播放流媒体;所述预设媒体流为播放的流媒体对应的音频流和其他媒体流复用的媒体流;
当接收到针对所述播放的流媒体的音轨切换指令时,向所述服务设备发送音轨切换请求,并从所述预设媒体流中,确定读取到的当前音频帧和当前其他媒体帧;所述当前音频帧与所述当前其他媒体帧对应;
接收所述服务设备针对所述音轨切换请求发送的目标音轨;所述目标音轨为所述音轨切换请求针对所述预设媒体流所请求切换的音频流;
从所述目标音轨中,读取与所述当前音频帧对应的当前目标音频帧,并同步解码播放所述当前目标音频帧和所述当前其他媒体帧,直至满足切换截止条件时,完成所述播放的流媒体的音轨切换。
本发明实施例还提供一种音轨切换方法,应用于服务设备,包括:
向播放设备发送预设媒体流,以使所述播放设备通过读取所述预设媒体流以播放流媒体;所述预设媒体流为播放的流媒体对应的音频流和其他媒体流复用的媒体流;
接收所述播放设备发送的音轨切换请求;所述音轨切换请求用于请求对预设媒体流中的音频流进行切换;
响应所述音轨切换请求,获取目标音轨;所述目标音轨为所述音轨切换请求针对所述预设媒体流所请求切换的音频流;
向所述播放设备发送所述目标音轨,以使所述播放设备根据所述目标音轨切换所述预设媒体流中的音频流,完成所述播放的流媒体的音轨切换。
本发明实施例提供一种播放装置,包括:
媒体流读取模块,用于当接收到服务装置发送的预设媒体流时,读取所述预设媒体流以播放流媒体;所述预设媒体流为播放的流媒体对应的音频流和其他媒体流复用的媒体流;
切换请求模块,用于当接收到针对所述播放的流媒体的音轨切换指令时,向所述服务装置发送音轨切换请求,并从所述预设媒体流中,确定读取到的当前音频帧和与所述当前音频帧对应的当前其他媒体帧,所述当前音频帧与所述当前其他媒体帧对应;
音轨接收模块,用于接收所述服务装置针对所述音轨切换请求发送的目标音轨;所述目标音轨为所述音轨切换请求针对所述预设媒体流所请求切换的音频流;
音轨切换模块,用于从所述目标音轨中,读取与所述当前音频帧对应的当前目标音频帧,并同步解码播放所述当前目标音频帧和所述当前其他媒体帧,直至满足切换截止条件时,完成所述播放的流媒体的音轨切换。
本发明实施例提供一种服务装置,包括:
媒体流发送模块,用于向播放装置发送预设媒体流,以使所述播放装置通过读取所述预设媒体流以播放流媒体;所述预设媒体流为播放的流媒体对应的音频流和其他媒体流复用的媒体流;
请求接收模块,用于接收所述播放装置发送的音轨切换请求;所述音轨切换请求用于请求对预设媒体流中的音频流进行切换;
音轨获取模块,用于响应所述音轨切换请求,获取目标音轨;所述目标音轨为所述音轨切换请求针对所述预设媒体流所请求切换的音频流;
音轨发送模块,用于向所述播放装置发送所述目标音轨,以使所述播放装置根据所述目标音轨切换所述预设媒体流中的音频流,完成所述播放的流媒体的音轨切换。
本发明实施例提供一种播放设备,包括:
第一存储器,用于存储可执行指令;
第一处理器,用于执行所述第一存储器中存储的可执行指令时,实现应用于所述播放设备的音轨切换方法。
本发明实施例提供一种服务设备,包括:
第二存储器,用于存储可执行指令;
第二处理器,用于执行所述第二存储器中存储的可执行指令时,实现应用于所述服务设备的音轨切换方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于引起第一处理器执行时,实现本发明实施例提供的应用于播放设备的方法。
本发明实施例还提供一种存储介质,存储有可执行指令,用于引起第二处理器执行时,实现本发明实施例提供的应用于服务设备的方法。
本发明实施例具有以下有益效果:由于对播放的流媒体进行音轨切换时,是从服务设备获取仅是音频流的目标音轨,并利用目标音轨对播放的流媒体的预设媒体流中的音频流进行的替换,而预设媒体流中的其他媒体仍进行解码播放;因此,实现了一种通过目标音轨仅对预设媒体流中的音频流替换的音轨切换方案,从而降低了音轨切换的复杂度。
附图说明
图1是一种音视频复用的流媒体的传输示意图;
图2是本发明实施例提供的音轨切换系统100的一个可选的架构示意图;
图3是本发明实施例提供的终端400的结构示意图;
图4是本发明实施例提供的服务器200的结构示意图;
图5是本发明实施例提供的音轨切换方法的一个可选的流程示意图;
图6是本发明实施例提供的音轨切换方法的另一个可选的流程示意图;
图7是本发明实施例提供的接收音轨切换指令的示例性示意图;
图8是本发明实施例提供的音轨切换系统100的另一个可选的架构示意图;
图9是本发明实施例提供的区块链网络600中区块链的结构示意图;
图10是本发明实施例提供的区块链网络600的功能架构示意图;
图11为本发明实施例提供的音轨切换的一个示例性应用示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本发明实施例所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本发明实施例中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)流媒体技术,是一种媒体传送方式,指将一连串的媒体数据压缩后,以流的方式在网络中分段传送,实现在网络上实时传输影音以供观赏的一种技术与过程;而如果不使用流媒体技术,就必须在使用前下载整个媒体文件;采用流媒体技术播放的媒体称为流媒体,比如,音频流、视频流、文本流、图像流、动画流等。
2)多媒体,是多种媒体的综合,包括文本、音频和图像等多种媒体形式;一般在在计算机系统中,多媒体指组合两种或两种以上媒体的一种人机交互式信息交流和传播媒体。另外,多媒体技术,指通过计算机对文本、音频和图像等各种信息进行存储和管理,使用户能够通过多种感官跟计算机进行实时信息交流的技术;而多媒体播放器,指通过下载和解码多媒体实现多媒体的播放的工具,这里的播放指呈现多媒体的过程,比如,将文本或图像输出到屏幕,将音频输出到扬声器。
3)PTS(Presentation Time Stamp,显示时间戳),用于指示多媒体播放器播放多媒体的数据帧的时间;另外,在多媒体的流式播放场景中,PTS用于实现两种或两种以上媒体同步,比如,在音视频混合的多媒体的流式播放场景中,PTS用于实现音视频同步。
4)区块链(Blockchain),由区块(Block)形成的加密的、链式的交易的存储结构。
5)区块链网络(Blockchain Network),通过共识的方式将新区块纳入区块链的一系列的节点的集合。
通常流媒体在传输的过程中,是将流媒体对应的至少两种媒体复用传输的,比如,音视频流媒体在传输的过程中,音频和视频是合在一起传输的(即音视频复用)。参见图1,图1是一种音视频复用的流媒体的传输示意图,如图1所示,后台服务器1-1侧向终端播放器1-2传输音视频流1-3;其中,音视频流1-3是由音频帧a和视频帧v组成的媒体流;终端播放器1-2将接收到的音视频流1-3进行解析,分离出音频帧a和视频帧v,将分离出的音频帧a组成音频1-31,将分离出的视频帧v组成视频1-32,进而终端播放器1-2侧的解码器1-21对音频1-31和视频1-32分别解码播放。
一般来说,为了对播放的流媒体进行音轨切换,通常在服务器侧预先存储不同的音轨分别与流媒体中其他媒体信息的合成媒体流(其他媒体信息指流媒体中指音频之外的媒体信息,比如,视频或文本等);当终端播放器接收到用户的音轨切换操作进行音轨切换时,利用合成媒体流替换流媒体对应的整个媒体流,以实现音轨切换。也就说,上述实现音轨切换的过程中,服务器侧需要合成并存储每个音轨与流媒体中其他媒体信息,因此,音轨切换的流程复杂,存储在服务器上合成媒体流占用的存储空间。
另外,对应fmp4格式的流媒体,服务器对流媒体中的至少两种媒体的传输是独立进行的,服务器侧对流媒体中的至少两种媒体也是独立存储的;在进行音轨切换时,虽然能够实现减少服务器存储空间的情况下仅替换音轨,但需要服务器支持fmp4格式的流媒体,因此,对服务器的要求高,通用性低。
基于此,本发明实施例提供一种音轨切换方法及设备,能够针对至少两种媒体复用的媒体流进行音轨替换时,降低音轨替换的复杂度,减少存储空间的占用。下面说明本发明实施例提供的设备的示例性应用,本发明实施例提供的设备可以实施为智能手机、平板电脑、笔记本电脑等各种类型的用户终端,也可以实施为服务器。下面,将说明本发明实施例中的播放设备实施为终端,服务设备实施为服务器时的示例性应用。
参见图2,图2是本发明实施例提供的音轨切换系统100的一个可选的架构示意图,为实现支撑一个音轨切换应用,终端400(播放设备)通过网络300连接服务器200(服务设备),网络300可以是广域网或者局域网,又或者是二者的组合。
终端400,用于通过网络300接收服务器200发送的预设媒体流,并读取预设媒体流以播放流媒体;还用于接收针对播放的流媒体的音轨切换指令,并确定从预设媒体流中读取到的当前音频帧和与当前音频帧对应的当前其他媒体帧,以及通过网络300向服务器200发送音轨切换请求;还用于通过网络300接收服务器200针对音轨切换请求发送的目标音轨,以及从目标音轨中,读取与当前音频帧对应的当前目标音频帧,并解码播放当前目标音频帧和当前其他媒体帧,直至满足切换截止条件时,完成播放的流媒体的音轨切换。
服务器200,用于通过网络向终端400发送预设媒体流,以使终端400通过读取预设媒体流以播放流媒体;预设媒体流为播放的流媒体对应的媒体流;还用于通过网络300接收终端400发送的音轨切换请求;音轨切换请求用于请求对预设媒体流中的音频流进行切换;并响应音轨切换请求,获取目标音轨;目标音轨为音轨切换请求所请求切换的音频流;以及通过网络300向终端400发送目标音轨,以使终端400根据目标音轨切换预设媒体流中的音频流,完成播放的流媒体的音轨切换。
需要说明的是,本发明实施例也可结合区块链技术实现,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出。
参见图3,图3是本发明实施例提供的终端400的结构示意图,图3所示的终端400包括:至少一个第一处理器410、第一存储器450、至少一个第一网络接口420和第一用户接口430。终端400中的各个组件通过第一总线系统440耦合在一起。可理解,第一总线系统440用于实现这些组件之间的连接通信。第一总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为第一总线系统440。
第一处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
第一用户接口430包括使得能够呈现媒体内容的一个或多个第一输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。第一用户接口430还包括一个或多个第一输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
第一存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的第一存储器450旨在包括任意适合类型的存储器。第一存储器450可选地包括在物理位置上远离第一处理器410的一个或多个存储设备。
在一些实施例中,第一存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
第一操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
第一网络通信模块452,用于经由一个或多个(有线或无线)第一网络接口420到达其他计算设备,示例性的第一网络接口420包括:蓝牙、无线相容性认证(Wi-Fi)、和通用串行总线(USB,Universal Serial Bus)等;
第一显示模块453,用于经由一个或多个与第一用户接口430相关联的第一输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
第一输入处理模块454,用于对一个或多个来自一个或多个第一输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的播放装置可以采用软件方式实现,图3示出了存储在第一存储器450中的播放装置455,其可以是程序和插件等形式的软件,包括以下软件模块:媒体流读取模块4551、切换请求模块4552、音轨接收模块4553和音轨切换模块4554,将在下文中说明各个模块的功能。
参见图4,图4是本发明实施例提供的服务器200的结构示意图,图4所示的服务器200包括:至少一个第二处理器210、第二存储器250、至少一个第二网络接口220和第二用户接口230。服务器200中的各个组件通过第二总线系统240耦合在一起。可理解,第二总线系统240用于实现这些组件之间的连接通信。第二总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为第二总线系统240。
第二处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
第二用户接口230包括使得能够呈现媒体内容的一个或多个第二输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。第二用户接口230还包括一个或多个第二输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
第二存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器,易失性存储器可以是随机存取存储器。本发明实施例描述的第二存储器250旨在包括任意适合类型的存储器。第二存储器250可选地包括在物理位置上远离第二处理器210的一个或多个存储设备。
在一些实施例中,第二存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
第二操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
第二网络通信模块252,用于经由一个或多个(有线或无线)第二网络接口220到达其他计算设备,示例性的第二网络接口220包括:蓝牙、无线相容性认证、和通用串行总线等;
第二显示模块253,用于经由一个或多个与第二用户接口230相关联的第二输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
第二输入处理模块254,用于对一个或多个来自一个或多个第二输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的服务装置可以采用软件方式实现,图4示出了存储在第二存储器250中的服务装置255,其可以是程序和插件等形式的软件,包括以下软件模块:媒体流发送模块2551、请求接收模块2552、音轨获取模块2553、音轨发送模块2554和数据获取模块2555,将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的播放装置和服务装置可以采用硬件方式实现,作为示例,本发明实施例提供的播放装置和服务装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的音轨切换方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application SpecificIntegrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
下面,将结合本发明实施例提供的播放设备实施为终端,服务设备实时为服务器的示例性应用,说明本发明实施例提供的音轨切换方法。
参见图5,图5是本发明实施例提供的音轨切换方法的一个可选的流程示意图,将结合图5示出的步骤进行说明。
S101、服务设备向播放设备发送预设媒体流,以使播放设备通过读取预设媒体流以播放流媒体;预设媒体流为播放的流媒体对应的音频流和其他媒体流复用的媒体流。
在本发明实施例中,服务设备中存储着媒体流集合,从而当接收到播放设备发送的媒体流请求时,能够从媒体流集合中选择与媒体流请求对应的媒体流,并将选择的与媒体流请求对应的媒体流作为预设媒体流向播放设备发送,以使播放设备通过读取预设媒体流以播放流媒体。
需要说明的是,媒体流请求用于请求获取预设媒体流,因此,媒体流请求中携带着预设媒体流标识,使得服务设备在接收到媒体流请求时,能够从媒体流请求中获取到预设媒体流标识,进而从媒体流集合中查找到与预设媒体流标识对应的媒体流,也就完成了上述的从媒体流集合中选择与媒体流请求对应的媒体流的过程,也就获得了预设媒体流。而预设媒体流指播放设备请求播放的流媒体对应的音频流和其他媒体流复用的媒体流,也就是说,在预设媒体流中,音频流和其他媒体流是合在一起向播放设备传输的。
还需要说明的是,服务设备用于为播放设备的播放功能提供服务,比如,当播放设备为客户端播放器时,服务设备则为客户端播放器所对应的服务器。另外,服务设备采用流媒体技术,将播放设备所请求的预设媒体流向播放设备发送。
S102、当播放设备接收到服务设备发送的预设媒体流时,读取预设媒体流以播放流媒体。
在本发明实施例中,当服务设备向播放设备发送了预设媒体流之后,此时,播放设备也就接收到了服务设备发送的预设媒体流;而当播放设备接收到该预设媒体流时,就能够从该媒体流中进行媒体帧的读取和解码,来实现流媒体的播放了。
需要说明的是,播放设备可以为多媒体播放器,其中,设置有解析模块和解码器,解析模块用于从预设媒体流中读取媒体帧,解码器用于对读取的媒体帧进行解码播放,以实现流媒体的播放。另外,播放设备中还设置有图形界面,通过该图形界面能够接收到用户播放流媒体的操作,进而根据该播放流媒体的操作生成预设媒体流请求,向服务设备发送该预设媒体流请求以请求预设媒体流进行播放,完成对用户播放流媒体的操作的响应。
S103、当播放设备接收到针对播放的流媒体的音轨切换指令时,向服务设备发送音轨切换请求,并从预设媒体流中,确定读取到的当前音频帧当前其他媒体帧;当前音频帧和当前其他媒体帧对应。
在本发明实施例中,通过播放设备的图形界面,还能够接收到用户针对播放的流媒体进行的切换音轨的操作,此时,播放设备也就接收到了针对播放的流媒体的音轨切换指令;在播放设备接收到该音轨切换指令时,由于该音轨切换指令用于指示对播放的流媒体进行音轨的切换,因此,播放设备根据该音轨切换指令的指示,生成用于请求对预设媒体流中的音频流进行切换的请求,即音轨切换请求,以通过音轨切换请求,从服务设备获取所请求切换的音轨,进而实现音轨切换;又由于服务设备中存储着支持该音轨切换的音轨,因此,播放设备将音轨切换请求发送至服务设备,以获取所请求切换的音轨。
需要说明的是,播放的流媒体所对应的预设媒体流中,包括至少两种媒体流,而该至少两种媒体流中有一种为音频流,对于至少两种媒体流中除音频流之外的至少一种媒体流,称为其他媒体流(比如,视频流或文本流)。另外,预设媒体流中的音频流由音频帧组成,预设媒体流中的其他媒体流由其他媒体帧组成;由于播放设备是要在接收到音轨切换指令的当前时刻进行音轨切换,即从预设媒体流中当前读取的音频帧开始进行替换,因此,当服务设备在确定接收到了音轨切换指令时,为了确定要切换的音轨的音频帧,需要确定接收到音轨切换指令时从预设媒体流中读取到的当前音频帧和与当前音频帧对应的当前其他媒体帧;也就是说,当前音频帧为播放设备接收到音轨切换指令时从预设媒体流中读取出的音频帧,当前其他媒体帧为播放设备接收到音轨切换指令时从预设媒体流中读取出的与当前音频帧同步的其他媒体帧。另外,当前音频帧属于预设媒体流中的音频流,当前音频帧属于预设媒体流中的其他媒体流。
这里,音频帧和其他媒体帧分别对应存在显示时间戳PTS,从而当前音频帧与当前其他媒体帧对应,指当前音频帧的PTS和其他媒体帧的PTS对应,即当前音频帧的PTS和其他媒体帧同步。
相应地,当执行完S103之后,即播放设备向服务器设备发送音轨切换请求之后,此时,服务设备也就接收到了播放设备发送的音轨切换请求。
S104、服务设备响应音轨切换请求,获取目标音轨;目标音轨为音轨切换请求针对预设媒体流所请求切换的音频流。
在本发明实施例中,由于音轨切换请求为播放设备向服务设备发送的用于对预设媒体流中的音频流进行替换的请求,因此,服务设备在接收到该音轨切换请求之后,响应该音轨切换请求,获取所请求切换的音轨,也就获得了目标音轨;这里,目标音轨为音轨切换请求针对预设媒体流所请求切换的音频流。
S105、服务设备向播放设备发送目标音轨,以使播放设备根据目标音轨切换预设媒体流中的音频流,完成播放的流媒体的音轨切换。
需要说明的是,由于目标音轨是服务设备为响应播放设备发送的音轨切换请求而获得的,因此,当服务设备完成了目标音轨的获取之后,将该目标音轨发送至播放设备,以完成对音轨切换请求的响应。
这里,由于目标音轨为对预设媒体的音频流进行替换的音频流,因此,服务设备将目标音轨发送至播放设备,能够使得播放设备根据目标音轨切换预设媒体流中的音频流,进而完成播放的流媒体的音轨切换。
相应地,当执行完S105之后,即服务设备向播放设备发送目标音轨之后,此时,播放设备也就接收到了服务设备针对音轨切换请求发送的目标音轨。
S106、播放设备从目标音轨中,读取与当前音频帧对应的当前目标音频帧,并同步解码播放当前目标音频帧和当前其他媒体帧,直至满足切换截止条件时,完成播放的流媒体的音轨切换。
需要说明的是,目标音轨中的音频流也是由音频帧组成的;为了实现音轨切换后音频的同步,需要从目标音轨中,确定与当前音频帧对应的音频帧,即当前目标音频帧。这里,每个组成目标音轨的音频帧均对应存在显示时间戳PTS,从而当前音频帧与当前目标音频帧对应,指当前音频帧的PTS和当前目标音频帧的PTS对应。
接下来,由于当前音频帧与当前目标音频帧对应,当前音频帧与当前其他媒体帧对应,因此,当前目标音频帧和当前其他媒体帧对应;又由于播放设备用目标音轨中的音频帧替换预设媒体流中的音频帧,因此,播放设备解析出当前音频帧,并根据当前音频帧确定了对应的当前目标音频帧之后,就不再对当前音频帧进行解码播放了,而是对当前目标音频帧进行解码播放,同时,解码播放对应的当前其他媒体帧;也就是说,当前目标音频帧和当前其他媒体帧的解码播放是同步进行的。
在本发明实施例中,播放设备持续从目标音轨中读取与预设媒体流中的音频帧对应的音频帧进行解码播放,直至满足切换截止条件时,也就完成了播放的流媒体的音轨切换。
这里,切换截止条件指终止预设媒体流中的音频流向目标音轨切换的条件,比如,读取到预设媒体流的音频流的结束标识,又比如,接收到了新的音轨切换指令。
可以理解的是,播放设备通过从服务设备获得指定的目标音轨,利用目标音轨仅替换预设媒体流中的音频流,实现了对复用形式的流媒体仅替换音频流的音轨切换方案,功耗小;另外,服务设备也无需进行不同音轨与其他媒体流的合成与存储,简化了音轨切换流程,减少了存储空间的占用。
进一步地,参见图6,图6是本发明实施例提供的音轨切换方法的另一个可选的流程示意图,如图6所示,在本发明实施例中,S106还可以通过S1061-S1064实现;即播放设备从目标音轨中,读取与当前音频帧对应的当前目标音频帧,并同步解码播放当前目标音频帧和当前其他媒体帧,直至满足切换截止条件时,完成播放的流媒体的音轨切换,包括S1061-S1064,下面将结合各步骤进行说明。
S1061、播放设备从预设媒体流中,获取当前音频帧的显示时间戳,得到当前显示时间戳。
在本发明实施例中,在预设媒体流中,组成预设媒体流的音频流中的每个音频帧均对应存在显示时间戳PTS,因此,当前音频帧,作为当前从预设媒体流的音频流中读取出的音频帧,在预设媒体流中同样存在对应的显示时间戳;从而播放设备能够从预设媒体流中,获取当前音频帧的显示时间戳,此时,也就得到了当前音频帧的显示时间戳,即当前显示时间戳。
S1062、播放设备获取目标音轨的显示时间戳集合,并从显示时间戳集合中,查找与当前显示时间戳对应的显示时间戳,得到目标显示时间戳。
在本发明实施例中,由于目标音轨中的每个音频帧均存在对应的显示时间戳,从而播放设备能够从目标音轨中获得各音频帧对应的显示时间戳所构成的集合,即显示时间戳集合;从而,播放设备能够从显示时间戳集合中查找到与当前显示时间戳对应的显示时间戳,即目标显示时间戳。
S1063、播放设备从目标音轨中,获取与目标显示时间戳对应的音频帧,得到当前目标音频帧,并同步解码播放当前目标音频帧和当前其他媒体帧。
在本发明实施例中,由于显示时间戳集合中的每个显示时间戳均与目标音轨中的一个音频帧对应,而目标显示时间戳为显示时间戳集合中与当前显示时间戳对应的一个显示时间戳;因此,播放设备能够从目标音轨中获取到与该目标显示时间戳对应的音频帧,即目标音频帧。
接下来,由于播放设备已经读取到了当前需要解码播放的当前目标音频帧和当前其他媒体帧,因此,也就能够对当前目标音频帧和当前其他媒体帧进行同步解码播放了。
S1064、播放设备根据当前显示时间戳和目标显示时间戳,持续从预设媒体流和目标音轨中读取音频帧,直至满足切换截止条件时,完成播放的流媒体的音轨切换。
在本发明实施例中,播放设备完成了当前目标音频帧和当前其他媒体帧的读取与解码播放之后,为实现播放的流媒体的连续播放,持续从预设媒体流和目标音轨中读取音频帧并解码播放,直至满足切换截止条件时,停止读取,也就完成了播放的流媒体的音轨切换;而播放设备持续从预设媒体流和目标音轨中读取音频帧的同时,还会持续从预设媒体流中读取其他媒体帧。
需要说明的是,播放设备持续从预设媒体流和目标音轨中读取音频帧时,是根据当前显示时间戳和目标显示时间戳的比较结果进行的。由于预设媒体流中的音频帧与目标音轨中的音频帧并不是一一对应的,这里,当前显示时间戳和目标显示时间戳的比较结果有三种:当前显示时间戳小于目标显示时间戳、当前显示时间戳等于目标显示时间戳和当前显示时间戳大于目标显示时间戳;因此,播放设备针对该三种情况分别从预设媒体流和目标音轨中进行音频帧的读取。
继续参见图6,进一步地,在本发明实施例中,针对第一种情况,即当前显示时间戳小于目标显示时间戳的情况,S1064还可以通过S10641-S10643实现;也就是说,播放设备根据当前显示时间戳和目标显示时间戳,持续从预设媒体流和目标音轨中读取音频帧,直至满足切换截止条件时,完成播放的流媒体的音轨切换,包括S10641-S10643,下面将结合各步骤进行说明。
S10641、当当前显示时间戳小于目标显示时间戳时,播放设备从预设媒体流中,读取下一音频帧和下一其他媒体帧,并解码播放下一其他媒体帧;下一音频帧和下一其他媒体帧对应。
在本发明实施例中,当当前显示时间戳小于目标显示时间戳时,表明播放设备所读取的当前音频帧滞后于当前目标音频帧,此时,需要从预设媒体流中读取下一音频帧,以使从预设媒体流中读取的音频帧和从目标音轨中读取的音频帧达到同步。另外,播放设备从预设媒体流中读取下一音频帧的同时,还从预设媒体流中读取出了与下一音频帧同步的下一其他媒体帧,并解码播放该下一其他媒体帧。
需要说明的是,这里,播放设备并不对读取出的下一音频帧进行解码播放。
S10642、播放设备从预设媒体流中,获取下一音频帧的显示时间戳,得到下一显示时间戳。
需要说明的是,播放设备完成下一音频帧的读取之后,为了确定后续的读取方式,从预设媒体流中获取下一音频帧的显示时间戳,即下一显示时间戳,以根据下一显示时间戳和目标显示时间戳来确定后续音频帧的读取方式。
S10643、播放设备根据下一显示时间戳和目标显示时间戳,持续从预设媒体流和目标音轨中读取音频帧,直至满足切换截止条件时,完成播放的流媒体的音轨切换。
在本发明实施例中,播放设备获得了下一显示时间戳之后,根据下一显示时间戳和目标显示时间戳的比较结果,持续从预设媒体流和目标音轨中读取音频帧,直至满足切换截止条件时,停止读取,此时,也就完成了播放的流媒体的音轨切换。
继续参见图6,进一步地,在本发明实施例中,针对第二种情况,即当前显示时间戳等于目标显示时间戳的情况,S1064还可以通过S10644-S10647实现;也就是说,播放设备根据当前显示时间戳和目标显示时间戳,持续从预设媒体流和目标音轨中读取音频帧,直至满足切换截止条件时,完成播放的流媒体的音轨切换,包括S10644-S10647,下面将结合各步骤进行说明。
S10644、当当前显示时间戳等于目标显示时间戳时,播放设备从预设媒体流中,读取下一音频帧和下一其他媒体帧,并从目标音轨中,读取下一目标音频帧;下一音频帧和下一其他媒体帧对应。
在本发明实施例中,当当前显示时间戳等于目标显示时间戳时,表明播放设备所读取的当前音频帧与当前目标音频帧是同步的,此时,从预设媒体流和目标音轨中均进行音频帧的读取:播放设备从预设媒体流中,读取下一音频帧和与下一音频帧同步的下一其他媒体帧,并从目标音轨中,读取下一目标音频帧。
S10645、播放设备同步解码播放下一目标音频帧和下一其他媒体帧。
需要说明的是,播放设备读取到了下一目标音频帧和下一其他媒体帧之后,就能够对下一目标音频帧和下一其他媒体帧进行同步解码播放了。这里,播放设备并不对下一音频帧进行解码播放,而是对用于替换下一音频帧的下一其他媒体帧进行解码播放。
S10646、播放设备从预设媒体流中,获取下一音频帧的显示时间戳,得到下一显示时间戳,并从目标音轨中,获取下一目标音频帧的显示时间戳,得到下一目标显示时间戳。
需要说明的是,播放设备获得了下一音频帧和下一目标音频帧之后,为了实现同步切换和同步播放,获取下一音频帧的显示时间戳即下一显示时间戳,并获取下一目标音频帧的显示时间戳即下一目标显示时间戳,以根据下一显示时间戳和下一目标显示时间戳确定后续音频帧的读取方式。
S10647、播放设备根据下一显示时间戳和下一目标显示时间戳,持续从预设媒体流和目标音轨中读取音频帧,直至满足切换截止条件时,完成播放的流媒体的音轨切换。
在本发明实施例中,播放设备获得了下一显示时间戳和下一目标显示时间戳之后,根据下一显示时间戳和下一目标显示时间戳的比较结果,持续从预设媒体流和目标音轨中读取音频帧,直至满足切换截止条件时,停止读取,此时,也就完成了播放的流媒体的音轨切换。
继续参见图6,进一步地,在本发明实施例中,针对第三种情况,即当前显示时间戳大于目标显示时间戳的情况,S1064还可以通过S10648-S106410实现,也就是说,播放设备根据当前显示时间戳和目标显示时间戳,持续从预设媒体流和目标音轨中读取音频帧,直至满足切换截止条件时,完成播放的流媒体的音轨切换,包括S10648-S106410,下面将结合各步骤进行说明。
S10648、当当前显示时间戳大于目标显示时间戳时,播放设备从目标音轨中,读取下一目标音频帧,并解码播放下一目标音频帧。
在本发明实施例中,当当前显示时间戳大于目标显示时间戳时,表明播放设备所读取的当前目标音频帧滞后于当前音频帧,此时,需要从目标音轨中读取下一目标音频帧,并解码播放下一目标音频帧,以使从预设媒体流中读取的音频帧和从目标音轨中读取的音频帧达到同步。
S10649、播放设备从目标音轨中,获取下一目标音频帧的显示时间戳,得到下一目标显示时间戳。
需要说明的是,播放设备完成下一目标音频帧的读取之后,为了确定后续的读取方式,从目标音轨中获取下一目标音频帧的显示时间戳,即下一目标显示时间戳,以根据下一目标显示时间戳和当前显示时间戳来确定后续音频帧的读取方式。
S106410、播放设备根据当前显示时间戳和下一目标显示时间戳,持续从预设媒体流和目标音轨中读取音频帧,直至满足切换截止条件时,完成播放的流媒体的音轨切换。
在本发明实施例中,播放设备获得了下一目标显示时间戳之后,根据下一目标显示时间戳和当前显示时间戳的比较结果,持续从预设媒体流和目标音轨中读取音频帧,直至满足切换截止条件时,停止读取,此时,也就完成了播放的流媒体的音轨切换。
这里,下一音频帧属于预设媒体流中的音频流,下一其他媒体帧属于预设媒体流中的其他媒体流。
可以理解的是,播放设备根据从预设媒体流中读取的音频帧的PTS和从目标音轨中读取的音频帧的PTS,确定后续音频帧的读取方式,以实现从预设媒体流中读取的音频帧和从目标音轨中读取的音频帧同步,保证了播放的流媒体的播放效果。
进一步地,在本发明实施例中,在S101之前,还包括S107;也就是说,服务设备向播放设备发送预设媒体流之前,该音轨切换方法还包括S107,下面对S107进行说明。
S107、服务设备获取预设媒体流和预设音轨集合;预设音轨集合为预设媒体流对应的至少一个音频流所构成的集合。
在本发明实施例中,由于服务设备用于向播放设备的播放功能提供服务,因此,在播放设备进行预设媒体流的读取之后,服务设备需能够获得该预设媒体流;另外,由于播放设备针对该预设媒体流提供音轨切换功能,因此,服务设备还需要预先存储着与该预设媒体流对应的至少一个音轨,即预设音轨集合。这里,预设音轨集合为预设媒体流对应的至少一个音频流所构成的集合。
相应地,本发明实施例中的S104可通过S1041-S1042实现;即服务设备响应音轨切换请求,获取目标音轨,包括S1041-S1042,下面将结合各步骤进行说明。
S1041、服务设备从音轨切换请求中,获取目标音轨标识。
需要说明的是,由于音轨切换请求用于请求获取所切换的音轨,因此,音轨切换请求中携带着该所切换的音轨的标识,即目标音轨标识;从而,服务设备能够从音轨切换请求中,获取到目标音轨标识。
S1042、服务设备从预设音轨集合中,获取与目标音轨标识对应的预设音轨,得到目标音轨。
在本发明实施例中,由于服务设备中预先存储着预设音轨集合,因此,当获得了目标音轨标识之后,将该目标音轨标识与预设音轨集合中的每个预设音轨的标识一一对比,将预设音轨集合中与目标音轨标识匹配的标识所对应的预设音轨,作为目标音轨。
相应地,本发明实施例S103中的当播放设备接收到针对播放的流媒体的音轨切换指令时,向服务设备发送音轨切换请求,包括S1031-S1032,下面将结合各步骤进行说明。
S1031、当播放设备接收到音轨切换指令时,从音轨切换指令中,获取目标音轨标识。
在本发明实施例中,用户通过播放设备的图形界面进行音轨切换的操作时(如图7所示,当用户点击“杜比音效”时),播放设备也就接收到了音轨切换指令,并且该音轨切换指令中携带着用户期望切换的音轨即目标音轨标识,因此,播放设备能够从音轨切换指令中,获取到目标音轨标识。
S1032、播放设备将目标音轨标识携带在音轨切换请求中,并向服务设备发送音轨切换请求。
在本发明实施例中,播放设备从音轨切换指令获得了目标音轨标识之后,将该目标音轨标识携带在音轨切换请求中,并向服务设备发送该音轨切换请求,以使服务设备根据该音轨切换请求获取与目标音轨标识对应的目标音轨。
进一步地,在本发明实施例中,服务设备为区块链网络中的节点,服务设备通过从区块链网络中获取预设媒体流和目标音轨向播放设备发送,以实现音轨切换。
参见图8,图8是本发明实施例提供的音轨切换系统100的另一个可选的架构示意图,包括区块链网络600(示例性示出了共识节点610-1至共识节点610-3)、认证中心700和业务主体500,下面分别进行说明。
区块链网络600的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何业务主体的电子设备例如用户终端和服务器,都可以在不需要授权的情况下接入区块链网络600;以联盟链为例,业务主体在获得授权后其下辖的电子设备(例如终端/服务器)可以接入区块链网络600,此时,成为区块链网络600中的客户端节点。
在一些实施例中,客户端节点可以只作为区块链网络600的观察者,即提供支持业务主体发起交易(例如,用于上链存储数据或查询链上数据)功能,对于区块链网络600的共识节点的功能,例如排序功能、共识服务和账本功能等,客户端节点可以缺省或者有选择性(例如,取决于业务主体的具体业务需求)地实施。从而,可以将业务主体的数据和业务处理逻辑最大程度迁移到区块链网络600中,通过区块链网络600实现数据和业务处理过程的可信和可追溯。
区块链网络600中的共识节点接收来自不同业务主体(例如图8中示出的业务主体500)的客户端节点(例如,图8中示出的归属于业务主体500的客户端节点510,客户端节点510即为本发明实施例中的服务设备)提交的交易,执行交易以更新账本或者查询账本,执行交易的各种中间结果或最终结果可以返回业务主体的客户端节点中显示。
下面以多个业务主体接入区块链网络以实现音轨切换及音轨切换中数据的管理为例,说明区块链网络的示例性应用。
继续参见图8,管理环节涉及的业务主体500可以是提供播放的流媒体的系统,从认证中心700进行登记注册获得各自的数字证书,数字证书中包括业务主体的公钥、以及认证中心700对业务主体的公钥和身份信息签署的数字签名,用来与业务主体针对交易的数字签名一起附加到交易中,并被发送到区块链网络,以供区块链网络从交易中取出数字证书和签名,验证消息的可靠性(即是否未经篡改)和发送消息的业务主体的身份信息,区块链网络会根据身份进行验证,例如是否具有发起交易的权限。业务主体下辖的电子设备(例如终端或者服务器)运行的客户端都可以向区块链网络600请求接入而成为客户端节点。
业务主体500的客户端节点510用于从区块链网络中获取预设媒体流和目标音轨,并将预设媒体流和目标音轨发送至终端400,以使播放设备利用目标音轨替换从预设媒体流中读取出的音频流,实现音轨切换。
其中,预设媒体流和目标音轨是由业务主体500的客户端节点510存储至区块链网络600中的;而将预设媒体流和目标音轨发送至区块链网络600的操作,可以预先在客户端节点510设置业务逻辑,当产生预设媒体流和目标音轨时,客户端节点510将预设媒体流和目标音轨自动发送至区块链网络600,也可以由业务主体500的业务人员在客户端节点510中登录,手动打包预设媒体流和目标音轨,并将其发送至区块链网络600。在发送时,客户端节点510根据预设媒体流和目标音轨生成对应更新操作的交易,在交易中指定了实现更新操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了客户端节点510的数字证书、签署的数字签名(例如,使用客户端节点510的数字证书中的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络600中的共识节点。
区块链网络600中的共识节点中接收到交易时,对交易携带的数字证书和数字签名进行验证,验证成功后,根据交易中携带的业务主体500的身份,确认业务主体500是否是具有交易权限,数字签名和权限验证中的任何一个验证判断都将导致交易失败。验证成功后签署共识节点自己的数字签名(例如,使用共识节点610-1的私钥对交易的摘要进行加密得到),并继续在区块链网络600中广播。
区块链网络600中的共识节点接收到验证成功的交易后,将交易填充到新的区块中,并进行广播。区块链网络600中的共识节点广播的新区块时,会对新区块进行共识过程,如果共识成功,则将新区块追加到自身所存储的区块链的尾部,并根据交易的结果更新状态数据库,执行新区块中的交易:对于提交更新预设媒体流及目标音轨的交易,在状态数据库中添加包括预设媒体流及目标音轨的键值对。
业务主体500的业务人员在客户端节点510中登录,输入查询请求,客户端节点510根据查询请求查询操作的交易,在交易中指定了实现查询操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了客户端节点510的数字证书、签署的数字签名(例如,使用客户端节点510的数字证书中的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络600中的共识节点。其中,查询操作用于从区块链网络中查询预设媒体流和目标音轨;比如,客户端节点510接收都终端400发送的音轨切换请求时,触发查询操作。
区块链网络600中的共识节点中接收到交易,对交易进行验证、区块填充及共识一致后,将填充的新区块追加到自身所存储的区块链的尾部,并根据交易的结果更新状态数据库,执行新区块中的交易;比如,对于提交的查询某个预设媒体流的交易,从状态数据库中查询预设媒体流对应的键值对,并返回交易结果。
值得说明的是,在图8中示例性地示出了将预设媒体流和目标音轨直接上链的过程,但在另一些实施例中,对于预设媒体流和目标音轨的数据量较大的情况,客户端节点510可将预设媒体流的哈希以及目标音轨的哈希成对上链,将原始的预设媒体流和目标音轨存储于分布式文件系统或数据库。客户端节点510从分布式文件系统或数据库获取到预设媒体流和目标音轨后,可结合区块链网络600中对应的哈希进行校验,从而减少上链操作的工作量。
作为区块链的示例,参见图9,图9是本发明实施例提供的区块链网络600中区块链的结构示意图,每个区块的头部既可以包括区块中所有交易的哈希值,同时也包含前一个区块中所有交易的哈希值,新产生的交易的记录被填充到区块并经过区块链网络中节点的共识后,会被追加到区块链的尾部从而形成链式的增长,区块之间基于哈希值的链式结构保证了区块中交易的防篡改和防伪造。
下面说明本发明实施例提供的区块链网络的示例性的功能架构,参见图10,图10是本发明实施例提供的区块链网络600的功能架构示意图,包括应用层601、共识层602、网络层603、数据层604和资源层605,下面分别进行说明。
资源层605封装了实现区块链网路600中的各个共识节点的计算资源、存储资源和通信资源。
数据层604封装了实现账本的各种数据结构,包括以文件系统中的文件实现的区块链,键值型的状态数据库和存在性证明(例如区块中交易的哈希树)。
网络层603封装了点对点(P2P,Point to Point)网络协议、数据传播机制和数据验证机制、接入认证机制和业务主体身份管理的功能。
其中,P2P网络协议实现区块链网络600中共识节点之间的通信,数据传播机制保证了交易在区块链网络600中的传播,数据验证机制用于基于加密学方法(例如数字证书、数字签名、公/私钥对)实现共识节点之间传输数据的可靠性;接入认证机制用于根据实际的业务场景对加入区块链网络600的业务主体的身份进行认证,并在认证通过时赋予业务主体接入区块链网络600的权限;业务主体身份管理用于存储允许接入区块链网络600的业务主体的身份、以及权限(例如能够发起的交易的类型)。
共识层602封装了区块链网络600中的共识节点对区块达成一致性的机制(即共识机制)、交易管理和账本管理的功能。共识机制包括POS、POW和DPOS等共识算法,支持共识算法的可插拔。
交易管理用于验证节点610接收到的交易中携带的数字签名,验证业务主体的身份信息,并根据身份信息判断确认其是否具有权限进行交易(从业务主体身份管理读取相关信息);对于获得接入区块链网络600的授权的业务主体而言,均拥有认证中心颁发的数字证书,业务主体利用自己的数字证书中的私钥对提交的交易进行签名,从而声明自己的合法身份。
账本管理用于维护区块链和状态数据库。对于取得共识的区块,追加到区块链的尾部;执行取得共识的区块中的交易,当交易包括更新操作时更新状态数据库中的键值对,当交易包括查询操作时查询状态数据库中的键值对并向业务主体的客户端节点返回查询结果。支持对状态数据库的多种维度的查询操作,包括:根据区块序列号(例如交易的哈希值)查询区块;根据区块哈希值查询区块;根据交易序列号查询区块;根据交易序列号查询交易;根据业务主体的账号(序列号)查询业务主体的账号数据;根据通道名称查询通道中的区块链。
应用层601封装了区块链网络能够实现的各种业务,包括交易的溯源、存证和验证等。
可以理解的是,服务设备作为区块链网络中的节点,从区块链网络中获取预设媒体流和目标音轨向播放设备提供音轨切换的数据,保证了预设媒体流和目标音轨的数据有效性,提升了音轨切换的准确性。
下面,将说明本发明实施例在一个实际的应用场景中的示例性应用。
参见图11,图11为本发明实施例提供的音轨切换的一个示例性应用示意图,如图11所示,终端播放器11-1(播放设备)当前播放的多媒体11-11(播放的流媒体)为音视频复用的流媒体,该多媒体11-11对应的媒体流为音视频媒体流11-12,且音视频媒体流11-12中v为视频帧(其他媒体帧),a为音频帧;当用户通过图形界面点击了“杜比音效”之后,后台服务器11-2(服务设备)向终端播放器11-1发送杜比音效对应的单独音轨11-13(目标音轨),且音轨11-13中a为音频帧。另外,由于用户点击“杜比音效”时,终端播放器11-1读取到音视频媒体流11-12的11-121位置和11-122位置,从而终端播放器11-1在音轨11-13中查找与11-121位置处的音频帧(当前音频帧)的PTS对应的音频帧,也就查找到了11-131位置处的音频帧(当前目标音频帧),从而将从11-122位置处读取的视频帧(当前其他媒体帧)和从11-131位置处读取的音频帧通过解码器11-12解码进行播放。接下来,终端播放器11-1对比11-121位置处音频帧的PTS和11-131位置处音频帧的PTS,当前者大于后者时,从音轨11-13读取下一音频帧并进行解码播放;当前者等于后者时,从音视频媒体流11-12和音轨11-13中均读取音频帧,但解码播放音轨11-13中读取出的音频帧;当前者小于后者时,从音视频媒体流11-12中读取下一音频帧;如此,持续读取音频帧,直至读取到音视频媒体流11-12的结束标识时,也就完成了多媒体11-11的音轨切换。
下面继续说明本发明实施例提供的播放装置455的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在第一存储器450的播放装置455中的软件模块可以包括:
媒体流读取模块4551,用于当接收到服务装置发送的预设媒体流时,读取所述预设媒体流以播放流媒体;所述预设媒体流为播放的流媒体对应的音频流和其他媒体流复用的媒体流;
切换请求模块4552,用于当接收到针对所述播放的流媒体的音轨切换指令时,向所述服务装置发送音轨切换请求,并从所述预设媒体流中,确定读取到的当前音频帧和当前其他媒体帧;所述当前音频帧与所述当前其他媒体帧对应;
音轨接收模块4553,用于接收所述服务装置针对所述音轨切换请求发送的目标音轨;所述目标音轨为所述音轨切换请求针对所述预设媒体流所请求切换的音频流;
音轨切换模块4554,用于从所述目标音轨中,读取与所述当前音频帧对应的当前目标音频帧,并同步解码播放所述当前目标音频帧和所述当前其他媒体帧,直至满足切换截止条件时,完成所述播放的流媒体的音轨切换。
进一步地,所述音轨切换模块4554,还用于从所述预设媒体流中,获取所述当前音频帧的显示时间戳,得到当前显示时间戳;获取所述目标音轨的显示时间戳集合,并从所述显示时间戳集合中,查找与所述当前显示时间戳对应的显示时间戳,得到目标显示时间戳;从所述目标音轨中,获取与所述目标显示时间戳对应的音频帧,得到所述当前目标音频帧,并同步解码播放所述当前目标音频帧和所述当前其他媒体帧;根据所述当前显示时间戳和所述目标显示时间戳,持续从所述预设媒体流和所述目标音轨中读取音频帧,直至满足所述切换截止条件时,完成所述播放的流媒体的音轨切换。
进一步地,所述音轨切换模块4554,还用于当所述当前显示时间戳小于所述目标显示时间戳时,从所述预设媒体流中,读取下一音频帧和下一其他媒体帧,并解码播放所述下一其他媒体帧;所述下一音频帧和所述下一其他媒体帧对应;从所述预设媒体流中,获取所述下一音频帧的显示时间戳,得到下一显示时间戳;根据所述下一显示时间戳和所述目标显示时间戳,持续从所述预设媒体流和所述目标音轨中读取音频帧,直至满足所述切换截止条件时,完成所述播放的流媒体的音轨切换。
进一步地,所述音轨切换模块4554,还用于当所述当前显示时间戳等于所述目标显示时间戳时,从所述预设媒体流中,读取下一音频帧和下一其他媒体帧,并从所述目标音轨中,读取下一目标音频帧;所述下一音频帧和所述下一其他媒体帧对应;同步解码播放所述下一目标音频帧和所述下一其他媒体帧;从所述预设媒体流中,获取所述下一音频帧的显示时间戳,得到下一显示时间戳,并从所述目标音轨中,获取所述下一目标音频帧的显示时间戳,得到下一目标显示时间戳;根据所述下一显示时间戳和所述下一目标显示时间戳,持续从所述预设媒体流和所述目标音轨中读取音频帧,直至满足所述切换截止条件时,完成所述播放的流媒体的音轨切换。
进一步地,所述音轨切换模块4554,还用于当所述当前显示时间戳大于所述目标显示时间戳时,从所述目标音轨中,读取下一目标音频帧,并解码播放所述下一目标音频帧;从所述目标音轨中,获取所述下一目标音频帧的显示时间戳,得到下一目标显示时间戳;根据所述当前显示时间戳和所述下一目标显示时间戳,持续从所述预设媒体流和所述目标音轨中读取音频帧,直至满足所述切换截止条件时,完成所述播放的流媒体的音轨切换。
本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被第一处理器执行时,将引起第一处理器执行本发明实施例提供的应用于播放设备的音轨切换方法。
下面继续说明本发明实施例提供的服务装置255的实施为软件模块的示例性结构,在一些实施例中,如图4所示,存储在第二存储器250的服务装置255中的软件模块可以包括:
媒体流发送模块2551,用于向播放装置发送预设媒体流,以使所述播放装置通过读取所述预设媒体流以播放流媒体;所述预设媒体流为播放的流媒体对应的音频流和其他媒体流复用的媒体流;
请求接收模块2552,用于接收所述播放装置发送的音轨切换请求;所述音轨切换请求用于请求对预设媒体流中的音频流进行切换;
音轨获取模块2553,用于响应所述音轨切换请求,获取目标音轨;所述目标音轨为所述音轨切换请求针对所述预设媒体流所请求切换的音频流;
音轨发送模块2554,用于向所述播放装置发送所述目标音轨,以使所述播放装置根据所述目标音轨切换所述预设媒体流中的音频流,完成所述播放的流媒体的音轨切换。
进一步地,所述服务装置255还包括数据获取模块2555,用于获取所述预设媒体流和预设音轨集合;所述预设音轨集合为所述预设媒体流对应的至少一个音频流所构成的集合。
相应地,所述音轨获取模块2553,还用于从所述音轨切换请求中,获取目标音轨标识;从所述预设音轨集合中,获取与所述目标音轨标识对应的预设音轨,得到所述目标音轨。
进一步地,所述服务设备为区块链网络中的节点。
本发明实施例还提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被第二处理器执行时,将引起第二处理器执行本发明实施例提供的应用于服务设备的音轨切换方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本发明实施例,由于对播放的流媒体进行音轨切换时,是从服务设备获取仅是音频流的目标音轨,并利用目标音轨对播放的流媒体的预设媒体流中的音频流进行的替换,而预设媒体流中的其他媒体仍进行解码播放;因此,实现了一种通过目标音轨仅对预设媒体流中的音频流替换的音轨切换方案,从而降低了音轨切换的复杂度。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (10)
1.一种音轨切换方法,应用于播放设备,其特征在于,包括:
当接收到服务设备发送的预设媒体流时,读取所述预设媒体流以播放流媒体;所述预设媒体流为播放的流媒体对应的音频流和其他媒体流复用的媒体流;
当接收到针对所述播放的流媒体的音轨切换指令时,向所述服务设备发送音轨切换请求,并从所述预设媒体流中,确定读取到的当前音频帧和当前其他媒体帧;所述当前音频帧与所述当前其他媒体帧对应;
接收所述服务设备针对所述音轨切换请求发送的目标音轨;所述目标音轨为所述音轨切换请求针对所述预设媒体流所请求切换的音频流;
从所述目标音轨中,读取与所述当前音频帧对应的当前目标音频帧,并同步解码播放所述当前目标音频帧和所述当前其他媒体帧,直至满足切换截止条件时,完成所述播放的流媒体的音轨切换。
2.根据权利要求1所述的方法,其特征在于,所述从所述目标音轨中,读取与所述当前音频帧对应的当前目标音频帧,并同步解码播放所述当前目标音频帧和所述当前其他媒体帧,直至满足切换截止条件时,完成所述播放的流媒体的音轨切换,包括:
从所述预设媒体流中,获取所述当前音频帧的显示时间戳,得到当前显示时间戳;
获取所述目标音轨的显示时间戳集合,并从所述显示时间戳集合中,查找与所述当前显示时间戳对应的显示时间戳,得到目标显示时间戳;
从所述目标音轨中,获取与所述目标显示时间戳对应的音频帧,得到所述当前目标音频帧,并同步解码播放所述当前目标音频帧和所述当前其他媒体帧;
根据所述当前显示时间戳和所述目标显示时间戳,持续从所述预设媒体流和所述目标音轨中读取音频帧,直至满足所述切换截止条件时,完成所述播放的流媒体的音轨切换。
3.根据权利要求2所述的方法,其特征在于,所述根据所述当前显示时间戳和所述目标显示时间戳,持续从所述预设媒体流和所述目标音轨中读取音频帧,直至满足所述切换截止条件时,完成所述播放的流媒体的音轨切换,包括:
当所述当前显示时间戳小于所述目标显示时间戳时,从所述预设媒体流中,读取下一音频帧和下一其他媒体帧,并解码播放所述下一其他媒体帧;所述下一音频帧和所述下一其他媒体帧对应;
从所述预设媒体流中,获取所述下一音频帧的显示时间戳,得到下一显示时间戳;
根据所述下一显示时间戳和所述目标显示时间戳,持续从所述预设媒体流和所述目标音轨中读取音频帧,直至满足所述切换截止条件时,完成所述播放的流媒体的音轨切换。
4.根据权利要求2所述的方法,其特征在于,所述根据所述当前显示时间戳和所述目标显示时间戳,持续从所述预设媒体流和所述目标音轨中读取音频帧,直至满足所述切换截止条件时,完成所述播放的流媒体的音轨切换,包括:
当所述当前显示时间戳等于所述目标显示时间戳时,从所述预设媒体流中,读取下一音频帧和与下一其他媒体帧,并从所述目标音轨中,读取下一目标音频帧;所述下一音频帧和所述下一其他媒体帧对应;
同步解码播放所述下一目标音频帧和所述下一其他媒体帧;
从所述预设媒体流中,获取所述下一音频帧的显示时间戳,得到下一显示时间戳,并从所述目标音轨中,获取所述下一目标音频帧的显示时间戳,得到下一目标显示时间戳;
根据所述下一显示时间戳和所述下一目标显示时间戳,持续从所述预设媒体流和所述目标音轨中读取音频帧,直至满足所述切换截止条件时,完成所述播放的流媒体的音轨切换。
5.根据权利要求2所述的方法,其特征在于,所述根据所述当前显示时间戳和所述目标显示时间戳,持续从所述预设媒体流和所述目标音轨中读取音频帧,直至满足所述切换截止条件时,完成所述播放的流媒体的音轨切换,包括:
当所述当前显示时间戳大于所述目标显示时间戳时,从所述目标音轨中,读取下一目标音频帧,并解码播放所述下一目标音频帧;
从所述目标音轨中,获取所述下一目标音频帧的显示时间戳,得到下一目标显示时间戳;
根据所述当前显示时间戳和所述下一目标显示时间戳,持续从所述预设媒体流和所述目标音轨中读取音频帧,直至满足所述切换截止条件时,完成所述播放的流媒体的音轨切换。
6.一种音轨切换方法,应用于服务设备,其特征在于,包括:
向播放设备发送预设媒体流,以使所述播放设备通过读取所述预设媒体流以播放流媒体;所述预设媒体流为播放的流媒体对应的音频流和其他媒体流复用的媒体流;
接收所述播放设备发送的音轨切换请求;所述音轨切换请求用于请求对预设媒体流中的音频流进行切换;
响应所述音轨切换请求,获取目标音轨;所述目标音轨为所述音轨切换请求针对所述预设媒体流所请求切换的音频流;
向所述播放设备发送所述目标音轨,以使所述播放设备根据所述目标音轨切换所述预设媒体流中的音频流,完成所述播放的流媒体的音轨切换。
7.根据权利要求6所述的方法,其特征在于,所述向播放设备发送预设媒体流之前,所述方法还包括:
获取所述预设媒体流和预设音轨集合;所述预设音轨集合为所述预设媒体流对应的至少一个音频流所构成的集合;
相应地,所述响应所述音轨切换请求,获取目标音轨,包括:
从所述音轨切换请求中,获取目标音轨标识;
从所述预设音轨集合中,获取与所述目标音轨标识对应的预设音轨,得到所述目标音轨。
8.根据权利要求6或7所述的方法,其特征在于,所述服务设备为区块链网络中的节点。
9.一种播放设备,其特征在于,包括:
第一存储器,用于存储可执行指令;
第一处理器,用于执行所述第一存储器中存储的可执行指令时,实现权利要求1至5任一项所述的方法。
10.一种服务设备,其特征在于,包括:
第二存储器,用于存储可执行指令;
第二处理器,用于执行所述第二存储器中存储的可执行指令时,实现权利要求6至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911101123.3A CN112866794B (zh) | 2019-11-12 | 2019-11-12 | 一种音轨切换方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911101123.3A CN112866794B (zh) | 2019-11-12 | 2019-11-12 | 一种音轨切换方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112866794A true CN112866794A (zh) | 2021-05-28 |
CN112866794B CN112866794B (zh) | 2022-06-07 |
Family
ID=75984399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911101123.3A Active CN112866794B (zh) | 2019-11-12 | 2019-11-12 | 一种音轨切换方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112866794B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114125576A (zh) * | 2021-11-29 | 2022-03-01 | 广州繁星互娱信息科技有限公司 | 多媒体资源的同步方法和装置、存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110217025A1 (en) * | 2010-03-02 | 2011-09-08 | Cisco Technology, Inc. | Auxiliary audio transmission for preserving synchronized playout with paced-down video |
CN102347042A (zh) * | 2010-07-28 | 2012-02-08 | Tcl集团股份有限公司 | 一种音轨切换方法、系统及音视频文件播放设备 |
CN104967901A (zh) * | 2015-06-29 | 2015-10-07 | 腾讯科技(北京)有限公司 | 媒体播放中的音轨切换方法和媒体播放设备 |
-
2019
- 2019-11-12 CN CN201911101123.3A patent/CN112866794B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110217025A1 (en) * | 2010-03-02 | 2011-09-08 | Cisco Technology, Inc. | Auxiliary audio transmission for preserving synchronized playout with paced-down video |
CN102347042A (zh) * | 2010-07-28 | 2012-02-08 | Tcl集团股份有限公司 | 一种音轨切换方法、系统及音视频文件播放设备 |
CN104967901A (zh) * | 2015-06-29 | 2015-10-07 | 腾讯科技(北京)有限公司 | 媒体播放中的音轨切换方法和媒体播放设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114125576A (zh) * | 2021-11-29 | 2022-03-01 | 广州繁星互娱信息科技有限公司 | 多媒体资源的同步方法和装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112866794B (zh) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110597774B (zh) | 一种文件分享方法、系统、装置、计算设备及终端设备 | |
CN106796688B (zh) | 区块链的权限控制方法、装置、系统及节点设备 | |
US11853447B2 (en) | Media streaming | |
US11887619B2 (en) | Method and apparatus for detecting similarity between multimedia information, electronic device, and storage medium | |
CN110555321B (zh) | 智能家居系统中的数据处理方法、装置及存储介质 | |
CN102362269A (zh) | 实时内核 | |
CN108512814B (zh) | 媒体数据处理方法、装置和系统 | |
CN101281690A (zh) | 一种教学辅助装置、系统及教学辅助方法 | |
US20100042840A1 (en) | Content sharing system and method | |
WO2020155964A1 (zh) | 音视频的切换方法、装置、计算机设备及可读存储介质 | |
CN112492401B (zh) | 基于视频的互动方法、装置、计算机可读介质及电子设备 | |
CN113259590B (zh) | 一种视频数据处理方法、装置、计算机设备及存储介质 | |
CN111177246A (zh) | 一种业务数据的处理方法及装置 | |
CN112492329B (zh) | 直播方法和装置 | |
CN112866794B (zh) | 一种音轨切换方法及设备 | |
CN106231393B (zh) | 视频信息的处理方法、装置和系统 | |
CN111178896B (zh) | 乘车支付方法、装置及存储介质 | |
CN112804563B (zh) | 媒体文件的播放方法、装置及存储介质 | |
CN113596591B (zh) | 视频的播放方法、装置、设备及计算机可读存储介质 | |
CN111324271B (zh) | 一种多媒体信息处理方法、装置、电子设备及存储介质 | |
WO2020177468A1 (zh) | 内容展示的控制方法、装置、服务器及存储介质 | |
CN113449267A (zh) | 特权管理方法及装置 | |
CN111464823B (zh) | 虚拟礼物的交换方法、装置、电子设备及存储介质 | |
US20230334726A1 (en) | Blockchain-based data processing method and apparatus, device, storage medium, and program product | |
CN115208681A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40047505 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |