CN116582697A - 音频传输方法、装置、终端、存储介质及程序产品 - Google Patents

音频传输方法、装置、终端、存储介质及程序产品 Download PDF

Info

Publication number
CN116582697A
CN116582697A CN202310404715.2A CN202310404715A CN116582697A CN 116582697 A CN116582697 A CN 116582697A CN 202310404715 A CN202310404715 A CN 202310404715A CN 116582697 A CN116582697 A CN 116582697A
Authority
CN
China
Prior art keywords
audio
stream
streams
audio stream
played
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
CN202310404715.2A
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.)
Guangzhou Shiyinlian Software Technology Co ltd
Guangzhou Fanxing Huyu IT Co Ltd
Original Assignee
Guangzhou Shiyinlian Software Technology Co ltd
Guangzhou Fanxing Huyu IT 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 Guangzhou Shiyinlian Software Technology Co ltd, Guangzhou Fanxing Huyu IT Co Ltd filed Critical Guangzhou Shiyinlian Software Technology Co ltd
Priority to CN202310404715.2A priority Critical patent/CN116582697A/zh
Publication of CN116582697A publication Critical patent/CN116582697A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/233Processing of audio elementary streams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请实施例公开了一种音频传输方法、装置、终端、存储介质及程序产品,属于音频技术领域,该方法包括:采集至少两路音频流,其中,不同音频流对应不同音轨,且不同音频流具有不同音频内容;对所述至少两路音频流进行音频编码,得到编码音频流,其中,不同音频流对应所述编码音频流中的不同声道;向服务器传输所述编码音频流,以便所述服务器将所述编码音频流传输至拉流端。采用本申请实施例所提供的方案,能够在播放端实现仅播放多路音轨中的一路音轨,并能够基于用户需求进行播放音轨的切换。

Description

音频传输方法、装置、终端、存储介质及程序产品
技术领域
本申请实施例涉及音频技术领域,特别涉及一种音频传输方法、装置、终端、存储介质及程序产品。
背景技术
随着无线通信技术的发展,直播逐渐成为用户进行娱乐的方式之一。
相关技术中,推流端在进行音频采集后,会将采集到的人声音频与纯音乐音频进行混合,得到混音音频后对其进行处理、编码以及推流,发射端将编码得到的编码音频推送到服务端后,拉流端从服务端获取该编码音频并进行解码后,向用户播放混合音频。
然而,采用相关技术所提供的方案,推流端仅能向服务器推送一路音频流,拉流端只能够从服务器拉取这一路音频流,仅能向用户播放混合音频。
发明内容
本申请实施例提供了一种音频传输方法、装置、终端、存储介质及程序产品。所述技术方案如下:
一方面,本申请实施例提供了一种音频传输方法,所述方法用于推流端,所述方法包括:
采集至少两路音频流,其中,不同音频流对应不同音轨,且不同音频流具有不同音频内容;
对所述至少两路音频流进行音频编码,得到编码音频流,其中,不同音频流对应所述编码音频流中的不同声道;
向服务器传输所述编码音频流,以便所述服务器将所述编码音频流传输至拉流端。
另一方面,本申请实施例提供了一种音频播放方法,所述方法用于拉流端,所述方法包括:
从服务器处拉取编码音频流;
对所述编码音频流进行解码,得到至少两路待播放音频流,其中,不同待播放音频流对应不同声道和音轨,且不同待播放音频流具有不同音频内容;
基于所述至少两路待播放音频流播放目标音频,所述目标音频为单音轨或混合音轨音频。
另一方面,本申请实施例提供了一种音频传输装置,所述装置用于推流端,所述装置包括:
采集模块,用于采集至少两路音频流,其中,不同音频流对应不同音轨,且不同音频流具有不同音频内容;
编码模块,用于对所述至少两路音频流进行音频编码,得到编码音频流,其中,不同音频流对应所述编码音频流中的不同声道;
传输模块,用于向服务器传输所述编码音频流,以便所述服务器将所述编码音频流传输至拉流端。
另一方面,本申请实施例提供了一种音频播放装置,所述装置用于拉流端,所述装置包括:
拉取模块,用于从服务器处拉取编码音频流;
解码模块,用于对所述编码音频流进行解码,得到至少两路待播放音频流,其中,不同待播放音频流对应不同声道和音轨,且不同待播放音频流具有不同音频内容;
播放模块,用于基于所述至少两路待播放音频流播放目标音频,所述目标音频为单音轨或混合音轨音频。
另一方面,本申请实施例提供了一种终端,所述终端包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如上述方面所述的音频传输方法,或,音频播放方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如上述方面所述的音频传输方法,或,音频播放方法。
另一方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的音频传输方法,或,音频播放方法。
本申请实施例中,推流端对采集到的对应不同音轨的至少两路音频流进行编码,得到编码音频流,并且,不同音频流对应编码音频流中的不同声道,最后再向服务器传输编码音频流。推流端将不同音轨的音频流作为编码音频流中不同的声道,即为将不同音轨对应于不同声道,并且,在推流端保持不同音频流之间的独立传输,不将不同音轨的音频流进行混合,能够使得推流端根据用户需求播放对应音轨的音频,并且,能够实现播放音轨的切换。此外,由于本申请实施例采用的音频传输协议并未发生改变,因此推流端与拉流端均具有较强的兼容性,适用于直播场景下进行不同音轨的播放。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个示例性实施例提供的实施环境示意图;
图2示出了本申请一个示例性实施例提供的音频传输方法的流程图;
图3示出了本申请一个示例性实施例提供的音频播放方法的流程图;
图4示出了本申请一个示例性实施例提供的推流端播放音频的示意图;
图5示出了本申请一个示例性实施例提供的推流端播放目标音频的流程图;
图6示出了本申请一个示例性实施例提供的播放目标音频的示意图;
图7示出了本申请一个示例性实施例提供的推流端播放音频的示意图;
图8示出了本申请一个示例性实施例提供的直播场景下音频传输链路结构的示意图;
图9示出了本申请一个实施例提供的音频传输装置的结构框图;
图10示出了本申请一个实施例提供的音频播放装置的结构框图;
图11示出了本申请一个示例性实施例提供的终端的结构方框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1示出了本申请一个示例性实施例提供的实施环境示意图。该实施环境可以包括:推流端110、拉流端120以及服务器130。
推流端110可以是智能手机、平板电脑、个人计算机等电子设备,拉流端120可以是智能手机、平板电脑、个人计算机、可穿戴式设备等电子设备。图1中以推流端110为电脑,拉流端为智能手机为例进行说明。
本申请实施例中,推流端110具有与服务器进行数据通信的功能,其中,推流端与服务器之间可以通过无线方式建立通信连接,进而通过该通信连接进行数据通信。该通信连接可以为蓝牙连接、无线保真(Wireless Fidelity,WiFi)连接或移动数据网络连接等等,本申请实施例并不对此进行限定。
在一些实施例中,推流端110还与摄像头、麦克风等外部设备进行连接,该连接方式可以为通用串行总线(Universal Serial Bus,USB),I/O接口以及蓝牙连接等方式。并且,推流端可以根据该连接获取摄像头,麦克风等设备采集的环境图像数据及音频数据等。
在另一些实施例中,推流端110内部可能设置有摄像头、麦克风等设备,推流端同样可以通过这些设备环境图像数据及音频数据等。
本申请实施例中,推流端110用于对采集到的至少两路音频流进行处理、编码以及推送,将编码后的音频数据通过通信连接推送到服务器,以使拉流端获取到该音频数据。
服务器130包括源站和CDN(Content Delivery Network,内容分发网络),服务器130可以与多个推流端110相连接,用于接收来自推流端110的音视频数据,然后将音频数据分发至各个拉流端120。并且,服务器与拉流端120之间也建立有无线通信连接,拉流端120通过该通信连接从服务器拉取音频流。该通信连接可以为蓝牙连接、无线保真(WirelessFidelity,WiFi)连接或移动数据网络连接等等,本申请实施例并不对此进行限定。
本申请实施例中,拉流端120用于从服务器拉取编码后的音频数据流,经过解码后,播放该音频数据流对应的音频。并且,在拉流端播放目标音频时,拉流端可以根据解码后至少两路音频流对应的声道,在至少两路音频流中进行切换,或者,拉流端可以同时播放不同声道音频流对应的音频,即为播放混合音频。
示意性的,如图1所示,拉流端120为智能手机,推流端110为电脑,并且推流端110设置有外围设备麦克风140以及外部声卡150。麦克风140用于采集环境音频,声卡150用于对外部音频进行处理。此外推流端还具有一路电脑音频输入声卡150,声卡150还用于对电脑音频以及环境音频进行混合,得到混合音频,并将该混合音频输入推流端110。例如,在直播场景中,推流端110通过麦克风140采集到的环境音频为主播的人声音频,电脑音频为推流端110播放的歌曲音频。推流端110能够采集到两路音频流,其中一路为电脑音频流,另一路为混合音频流,混合音频即为人声混歌曲音频。推流端110对两路音频进行编码得到编码音频流。且电脑音频流与混合音频流分别对应编码音频流中不同的声道。推流端110将得到的编码音频流传输至服务器130以使服务器130对该编码音频流进行缓存、传输。
对应的,拉流端120从服务器130拉取编码音频流,并对该编码音频流进行解码,得到至少两路待播放音频流。并且基于用户需求播放待播放音频流对应的目标音频,目标音频可能为单音轨音频或混合音轨音频。
图2示出了本申请一个示例性实施例提供的音频传输方法的流程图,该方法包括:
步骤201,采集至少两路音频流。
其中,不同音频流对应不同音轨,且不同音频流具有不同音频内容。
推流端采集音频流可以通过麦克风采集环境中的音频,并且可以直接采集电脑音频,该电脑音频可能是电脑正在播放的音频。
可以采集至少两路音频流,并且不同音频流对应的音轨不同,音轨之间一般是独立的,例如,在一首歌曲中会具有多种不同的乐器,每种单独的乐器的声音就是一个音轨。
并且,由于不同音频流对应音轨是独立的,因此,不同音频流中的音频流内容是独立的,不同音频的音频内容是不同的,例如,第一音频流的音频内容为架子鼓的音频,第二音频流的音频内容钢琴的音频。
在直播场景中,至少两路音频流可能为人声音频流、歌曲音频流等、乐器音频流以及音效音频流等。
步骤202,对至少两路音频流进行音频编码,得到编码音频流。
其中,不同音频流对应编码音频流中的不同声道,一个音轨通常包括多个声道,常见的为2声道格式和6声道格式(即为5.1声道格式)。由于不同音频对应不同音轨,因此,一路音频流可能对应于多个声道,例如一路音频流对应左右两个声道。
在直播场景中,两路音频流分别为歌曲音频流以及人声音频流进行编码,则人声音频流与歌曲音频流对应编码音频流中不同的声道,例如,采用5.1声道格式,包括左声道、右声道、中央声道、左环绕声道、右环绕声道,则人声音频流对应人声音轨,该人声音轨对应左声道和右声道,歌曲音频流对应歌曲音轨,该歌曲音轨对应左环绕声道与右环绕声道。
可选的,若在直播场景下,两路音频流分别为歌曲音频流以及人声音频流,例如采用2声道格式,2声道格式仅包含左声道和右声道,则人声音频流对应人声音轨,该人声音轨对应左声道,歌曲音频流对应歌曲音轨,该歌曲音轨对应右声道。
其中,音频编码可以是波形编码、参数编码或混合编码,并且,波形编码的话音质量较高,编码率较高,参数编码的编码率很低,但其话音质量不佳,混合编码是将波形编码与参数编码相结合,因此编码率与话音质量介于以上二者之间。
具体的,本申请实施例中对至少两路音频流进行编码可以采用AAC(AdvancedAudio Coding,高级音频编码)以及PCM(Pulse-Code Modulation,脉冲调制编码)等方式进行编码。
推流端对至少两路音频流进行编码的过程主要包括音频采样、音频量化以及音频编码。其中音频采样是从时间上连续变化的模拟信号去除若干具有代表性的样本值。采样得到的样本值的幅值人事一个连续的模拟量,需要对其进行量化处理,将其转化为有限个离散值,因此需要对其进行音频量化。在进行量化后,音频信号还未变为数字信号,则需要通过编码将其转化为数字脉冲。
示意性的,采用AAC方式进行编码,支持更多种采样率和比特率、支持1个到48个音轨、支持15个低频音轨、具有多种语言的兼容能力。AAC量化和编码使用一种两层嵌套循环算法,以权衡码率和失真之间的矛盾。最后,进行比特流封装,得到压缩后的编码音频流。
步骤203,向服务器传输编码音频流,以便服务器将编码音频流传输至拉流端。
在推流端得到编码后的编码音频流后,会将视频推流到服务器,以便服务器对编码音频流进行分发。
其中,服务器包含CDN,能够有效缩短时延,CDN的核心思想为将内容缓存在终端用户附近,即为拉流端附近。在直播场景中,CDN采用缓存服务器对编码音频流以及视频流进行缓存,并进行分发。
综上所述,本申请实施例中,推流端对采集到的对应不同音轨的至少两路音频流进行编码,得到编码音频流,并且,不同音频流对应编码音频流中的不同声道,最后再向服务器传输编码音频流。推流端将不同音轨的音频流作为编码音频流中不同的声道,即为将不同音轨对应于不同声道,并且,在推流端保持不同音频流之间的独立传输,不将不同音轨的音频流进行混合,能够使得推流端根据用户需求播放对应音轨的音频,并且,能够实现播放音轨的切换。此外,由于本申请实施例采用的音频传输协议并未发生改变,因此推流端与拉流端均具有较强的兼容性,适用于直播场景下进行不同音轨的播放。
在一些实施例中,用户在观看直播时具有仅播放歌曲,屏蔽主播声音的需求,因此在直播场景下,推流端采集至少两路音频流中包括人声音频流以及歌曲音频流。并且人声音频流对应人声音轨,歌曲音频流对应歌曲音轨。推流端对包括人声音频流以及歌曲音频流的至少两路音频流进行音频编码,得到编码音频流,人声音频流与歌曲音频流分别对应编码音频流中的不同声道。随后,推流端向服务器传输编码音频流。采用本申请实施例所提供的方案,能够在直播场景中,在拉流端将采集到的人声音频流以及歌曲音频流进行解码,并且解码后的不同音频流对应不同的声道,能够使拉流端在进行解码时得到不同声道对应的不同音频流,即人声音频流与歌曲音频流相互独立,能够满足用户仅播放歌曲屏蔽主播声音,或屏蔽歌曲仅听主播声音的需求。
需要说明的是,本申请实施例中所涉及的直播场景下人声音频,主要是指主播的声音,往往通过麦克风采集环境声音得到,而歌曲音频中可能包括歌手的歌声和伴奏,往往是直接将电脑所播放的音频流数据作为采集到的歌曲音频流,例如,用户同时观看两个视频,其中一个主播在讲话,另一个主播在唱歌,在直播中均在播放音乐,其中主播所讲话的音频以及主播唱歌的音频均属于人声音频,而直播中所播放的音乐属于歌曲音频。
本申请提供的方案,能够使拉流端根据用户播放不同音轨对应音频的需求,播放对应音频,并且进行播放不同音轨音频的切换。例如,推流端的两路音频流分别为不同的歌曲,推流端对着两路音频流进行编码后发送到接收端,接收端能够根据用户需求播放这两首歌曲的任意一首,或同时播放两首音乐。再例如,推流端采集多路音频流分别为不同乐器的音频流,多种乐器音频混合即为合奏音乐,则推流端对其进行编码并将其推送至服务器后,则拉流端可以根据用户需求播放不同乐器的音频,或播放混合音频。
此外本申请实施例提供的方案,对于直播场景下,能够实时根据用户需求播放不同音轨的音频。例如,直播场景下,推流端获取到两路音频流为人声音频流与歌曲音频流,用户会具有只听歌曲屏蔽主播声音大的需求,因此,采用本申请实施例所提供的方案,能够根据用户的需求,仅播放歌曲音频。并且本实施例提供的方案兼容性较强,适用于直播所采用的传输协议,具有很好的适配性。
在推流端,推流端采集到至少两路音频流后,会对至少两路音频流进行音频编码。在进行编码的过程中,为使不同音频流对应编码音频流中不同声道,因此,推流端首先按照声道格式对至少两路音频流进行合并,得到合并音频流,再对合并音频流进行编码。
其中声道格式使用于指示数据帧中不同声道对应音频数据的排列方式,如表1所示,其中示出了不同声道对应的声道格式。
表1
其中,声道格式中不同的声道顺序即为不同数据帧中对应音频数据的排流顺序,从左至右的声道优先级依次降低。
例如,推流端采集到了人声音频流以及歌曲音频流,采用5声道,其中人声音频流对应L+R声道,歌曲音频流对应LS+RS声道,C声道为静音。因此,在进行合并时,需要根据声道格式,首先取静音C的数据,再取一帧人声音频流的数据,对应L+R声道,最后再取一帧歌曲音频流的数据,对应LS+RS声道的,将这三种数据进行合并,得到一帧合并音频流,并将该帧合并音频流进行音频编码。
在一种可能的实施方式中,为使拉流端进行播放时不同音频保持同步,则需要合并后数据帧中的不同音频流保持同步,因此,在推流端采集至少两路音频流时,应当使至少两路音频流的采样频率相同,并且至少两路音频流的采样时刻同步,使得在进行合并时,每一帧合并音频流中所包含的至少两路音频流的数据帧保持同步,从而使推流端进行播放时不同音频保持同步播放。
在另一种可能的实施方式中,由于在不同场景中,在拉流端用户具有播放需求的音轨可能不同,因此,在不同场景中,至少两路音频流的优先级也有所不同。例如,用户在收听有声小说时,往往会具有仅播放人声,屏蔽背景音乐的需求;而在用户观看音乐直播时,往往会具有屏蔽主播人声,仅播放音乐的需求。因此,在推流端,不同音频流的优先级不同。
而在声道格式所规定的不同声道也具有不同的优先级。由于不同的声道的设置、作用不同,例如5声道或5.1声道中,左右声道与左右环绕声道作为其主要声道,其效果在于人耳的左右两侧以及环绕的作用,因此,其听感效果更为明显,其效果比中央声道要强烈很多,因此,在5声道或5.1声道中,左声道、右声道、左环绕声道以及右环绕声道的声道优先级更高。此外,对于左右声道以及左右环绕声道而言,左声道的音频流能够携带更多的信息量,因此,在5声道以及5.1声道中,左声道与右声道的声道优先级更高。
因此,推流端在对至少两路路音频流进行合并时,基于至少两路音频流的音频优先级,以及声道格式所表征的声道优先级,对至少两路音频流进行合并,得到合并音频流。并且,至少两路音频流中高音频优先级音频流对应声道的声道优先级高于低音频优先级音频流对应声道的声道优先级。
音频优先级与声道优先级相对应能够保证在接收端能够获取到具有高音频优先级的有音频流的音频质量更好,更有利于单独播放该音频流对应音频。
在得到合并音频流后,推流端对合并音频流进行音频编码,得到编码音频流,具体编码方式可以参照上述步骤203,本实施例对此不进行赘述。
在一种可能的实施方式中,为保证在拉流端对不同音频流进行混音时,能够使混音融合效果更佳,在进行音频编码之前,推流端需要对至少两路音频流进行音频前处理,以使得至少两路音频流的能来那个保持在同一水平。
其中,音频前处理用于使至少两路音频流的能量保持一致,以使得在拉流端进行混频后同时播放多路音频流对应的混合音频时,能够使不同音频的音量大致相同。例如,在直播场景中,推流端采集到两路音频流为人声音频流与歌曲音频流,对两路音频流进行前处理,则对应的拉流端同时播放人声音频以及歌曲音频时,能够使人声音频以及歌曲音频的能量大致向相同,避免出现相较与人声音频,歌曲音频音量很大或歌曲音频音量很小的情况。
为使不同音频流之间的能量保持一致,前处理中可以采用AGC(AutomaticGeneration Control,自动增益控制)算法或压扩算法实现。
示意性的,采用压扩算法是将一段音频流等分成不同的帧,帧的长度范围可以在50ms到100ms之间,随后再对每个帧进行一系列拉伸或压缩等处理。最后再将这些帧叠加成一个合成信号。并且采用该算法能够有效减低声道间干扰,提高拉流端拉取到的音频流的信噪比。
此外,前处理还能够去除音频中的干扰,可以采用回声消除、噪声抑制等处理。
在直播场景中,拉流端可能为移动终端或电脑,在拉流端为移动终端的情况下,拉流端得到的至少两条音频流可能为人声音频流以及歌曲音频流。在拉流端为电脑的情况下,通常会通过外围设备麦克风进行人声音频流的采集,并且,麦克风采集的音频流会输入声卡,声卡会将采集到的人声音频与电脑的歌曲音频进行混合,得到人声歌曲混合音频流,此时拉流端可能获取到人声歌曲音频流以及歌曲音频流。
因此,下述实施例中均以直播场景为例对本申请所提供的音频传输方法进行说明,并不对本申请的应用范围构成限定。
在一种可能的实施方式中,推流端采用5.1声道格式,并且,推流端采集到第一音频流以及第二音频流,其中,第一音频流对应左声道和右声道,即L+R声道,第二音频流对应左环绕声道和右环绕声道,即RS+LS声道。
其中,第一音频流的音频优先级高于第二音频流的音频优先级,因此,第一音频流对应声道优先级更高的L+R声道,第二音频流对应声道优先级较低的LS+RS声道。因此在拉流端单独播放第一音频流比单独播放第二音频流具有更好的音频质量。
在另一种可能的实施方式中,推流端采用7.1声道格式,并且,推流端采集到第一音频流、第二音频流以及第三音频流。其中第一音频流对应后置左环绕声道和后置右环绕声道,即LC+RC声道,第二音频流对应左声道和右声道,即L+C声道,第三音频流对应前置左声道和前置右声道,即LS+RS声道。
其中,第一音频流的音频优先级高于第二音频流与第三音频流的音频优先级,因此,第一音频流对应声道优先级更高的LC+RC声道,第三音频流对应声道优先级较低的LS+RS声道。因此在拉流端单独播放第一音频流比单独播放第二音频流或第三音频流具有更好的音频质量。
可选的,若采用7.1声道格式,但推流端仅采集到两路音频流,且第一音频流对应前置左环绕声道和前置右环绕声道,第二对应左声道和右声道。则其余的后置左环绕声道和后置右环绕声道即LC+RC声道、低频效果声道,即LFE声道以及C声道均设置为静音。
在直播场景中,由于采用的设备不同,推流端可能采集到的第一音频流与第二音频流可能不同,在推流端采用电脑进行直播时,由于可能存在外设声卡,因此声卡可能会将接收到的人声与歌曲声进行混合,因此,推流端采集到的两路音频流可能为人声音频流以及人声歌曲混合音频流,或者,推流端采集到的两路音频流可能为歌曲音频流以及人声歌曲混合音频流。
在推流端采用移动设备进行直播时,其采集到的音频流可能为人声音频流及歌曲音频流。
具体的,包括以下三种情况:
1、第一音频流为人声音频流,第二音频流为歌曲音频流。
可选的,采用5声道格式,则人声音频流对应左声道和右声道,即L+R声道,歌曲音频流对应左环绕声道和右环绕声道,即LS+RS声道。对应于表1中的声道格式,则L+R声道的声道优先级高于LS+RS声道的优先级,因此,人声音频流的音频优先级高于歌曲音频流,则在拉流端人声音频的质量更好。
在一种可能的实施方式中,第一音频流为歌曲音频流,第二音频流为人声音频流。则其对应的音频优先级与上述可选的方式相反,本实施例对此不进行赘述。
2、第一音频流为人声音频流,第二音频流为人声歌曲混合音频流。
可选的,采用5声道格式,则人声音频流对应左声道和右声道,即L+R声道,人声歌曲混合音频流对应左环绕声道和右环绕声道,即LS+RS声道。对应于表1中的声道格式,则L+R声道的声道优先级高于LS+RS声道的优先级,因此,人声音频流的音频优先级高于人声歌曲混合音频流,则在拉流端人声音频的质量更好。
3、第一音频流为歌曲音频流,第二音频流为人声歌曲混合音频流。
可选的,采用5声道格式,则歌曲音频流对应左声道和右声道,即L+R声道,人声歌曲混合音频流对应左环绕声道和右环绕声道,即LS+RS声道。对应于表1中的声道格式,则L+R声道的声道优先级高于LS+RS声道的优先级,因此,歌曲音频流的音频优先级高于人声歌曲混合音频流,则在拉流端歌曲音频的质量更好。
在一种可能的实施方式中,推流端采集到三路音频流,分别为人声音频流、歌曲音频流以及乐器音频流,其分别对应的音频优先级存在三种可能的方式,其与声道优先级的对应关系与上述两路音频流的情况类似,本实施例对此不进行赘述。
本申请实施例中,在推流端中不同音频优先级对应不同的声道优先级,能够使拉流端能够播放更高质量单音轨音频流,满足用户在观看直播时切换音轨的需求。
图3示出了本申请一个示例性实施例提供的音频播放方法的流程图,该方法用于拉流端,该方法包括:
步骤301,从服务器处拉取编码音频流。
服务端接收到编码音频流后,会对该编码音频流进行传输,并且向拉流端传输编码音频流。
拉流端具有获取编码音频流的需求时向服务器发送获取编码音频流的请求。服务器响应该请求,允许拉流端从服务器拉取编码音频流。
步骤302,对编码音频流进行解码,得到至少两路待播放音频流。
其中,不同待播放音频流对应不同声道和音轨,且不同待播放音频流具有不同音频内容。
拉流端进行音频解码是将压缩编码的音频数据解码为非压缩的原始音频流。并且,在拉流端对编码音频流进行解码时,其解码方式应当与拉流端进行编码的方式一致。例如,推流端采用AAC编码的情况下,在拉流端同样应当采用对应的AAC解码方式进行解码。
由于在传输过程中存在干扰、噪声等因素,因此,在进行拉流端解码后的待播放音频流存在一定的误码。在误码可接受的范围内对播放音频流的质量影响较小,在误码较大的情况下,则接收端播放待播放音频流对应的音频质量较差。
步骤303,基于至少两路待播放音频流播放目标音频。
其中,目标音频为单音轨或混合音轨音频。
其中目标音频是基于用户需求确定的,在用户具有播放一种单音轨音频需求的情况下,则目标音频为单音轨音频,对应一路待播放音频流;在用户具有播放混合音轨音频需求的情况下,则目标音频为混合音轨音频,对应至少两路待播放音频流。
例如,在直播场景下,拉流端获取到两路待播放音频流分别为人声音频流以及歌曲音频流,用户具有播放单歌曲音轨需求的情况下,目标音频为单音轨(歌曲音轨)音频,对应歌曲音频流;用户具有播放混合音轨音频的情况下,目标音频为人声歌曲混合音轨音频,对应人声歌曲混合音频流。
确定目标音频后,推流端对目标音频进行音频处理,该音频处理包括噪声抑制、回声消除以及自动增益等过程,得到PCM数据,最后将PCM(Pulse-Code Modulation,脉冲调制编码)数据输入播放器进行播放。
本申请实施例中,推流端对拉取到的编码音频流进行解码后,得到对应不同声道和音轨的至少两路待播放音频流,并且,播放目标音频。得到的至少两路待播放音频流之间彼此独立,不同音轨的音频流之间没有进行混合,因此,可以根据用户需求播放不同音轨的目标音频。
在对音频流进行解码时,需要与编码方式相对应,即推流端对编码音频流进行解码,得到解码音频流。该解码音频流与推流端中的合并音频流相对应,不同待播放音频流对应解码音频流中不同的声道。随后推流端按照声道格式从解码音频流中拆分出至少两路待播放音频流。声道格式用于指示数据帧中不同声道对应音频数据的排列方式。如上述表1,其中不同声道格式在音频编码时进行合并的顺序也不同,因此,按照声道格式同样能够从解码音频流中拆分出不同声道对应的待播放音频流。
可选的,声道格式能够指示不同声道具有的声道优先级,在进行拆分时,可以从解码音频流中拆分出不同的待播放音频流,以使得不同待播放音频流之间独立,并且其中对应高声道优先级声道的待播放音频流的质量更好。
在一种可能的实施方式中,采用5声道格式,并且至少两路待播放音频流中包括第一待播放音频流以及第二待播放音频流。
在这种情况下,拉流端根据5声道格式所指示的具有较高声道优先级的左声道和右声道,即L+R声道,从解码后数据流中拆分出第一待播放音频流;并根据5声道格式所指示的声道优先级较低的左环绕声道和右环绕声道,即LS+RS声道,从解码音频流中查分出第二待播放音频流,则得到的第一待播放音频流以及第二待播放音频流中,第一待播放音频流对应的推流端的第一音频流的音频优先更高,第一待播放音频流的音频质量更好。
在一种可能的实施方式中,采用7.1声道格式,并且,至少两路待播放音频流中包括第一待播放音频流、第二待播放音频流以及第三待播放音频流。
在这种情况下,拉流端根据7.1声道格式所指示的具有较高声道优先级的后置左环绕声道和后置右环绕声道,即LC+RC声道,从解码后数据流中拆分出第一待播放音频流;并且,根据7.1声道格式所指示的左声道和右声道,即L+R声道,从解码后数据流中拆分出第二待播放音频流;以及,根据7.1声道格式所指示的声道优先级较低的前置左环绕声道和前置右环绕声道,即LS+RS声道,从解码音频流中拆分出第三待播放音频流。则得到的第一待播放音频流、第二待播放音频流以及第三待播放音频流中,第一待播放音频流对应的推流端的第一音频流的音频优先更高,第一待播放音频流的音频质量更好,相反的,第三待播放音频流对应的推流端的第三音频流的音频优先级最低,第三待播放音频流的音频质量最差。
在直播场景中,由于采用的设备不同,推流端可能采集到的第一音频流与第二音频流可能不同,在推流端采用电脑进行直播时,由于可能存在外设声卡,因此声卡可能会将接收到的人声与歌曲声进行合并,因此,推流端采集到的两路音频流可能为人声音频流以及人声歌曲混合音频流,或者,推流端采集到的两路音频流可能为歌曲音频流以及人声歌曲混合音频流。
在推流端采用移动设备进行直播时,其采集到的音频流可能为人声音频流及歌曲音频流。因此,推流端解码得到的待播放音频流可能存在以下三种情况:
1、第一待播放音频流为人声音频流,第二待播放音频流为歌曲音频流。
可选的,采用5声道格式,则人声音频流对应左声道和右声道,即L+R声道,歌曲音频流对应左环绕声道和右环绕声道,即LS+RS声道。推流端基于声道格式从解码音频流中将对应高声道优先级的人声音频流拆分出来。
2、第一待播放音频流为人声音频流,第二待播放音频流为人声歌曲混合音频流。
可选的,采用5声道格式,则人声音频流对应左声道和右声道,即L+R声道,人声歌曲混合音频流对应左环绕声道和右环绕声道,即LS+RS声道。推流端基于声道格式,从解码音频流中将对应高声道优先级的人声音频流拆分出来,并且得到人声歌曲混合音频流。
3、第一待播放音频流为歌曲音频流,第二待播放音频流为人声歌曲混合音频流。
可选的,采用5声道格式,则歌曲音频流对应左声道和右声道,即L+R声道,人声歌曲混合音频流对应左环绕声道和右环绕声道,即LS+RS声道。推流端基于声道格式,从解码音频流中将对应高声道优先级的歌曲音频流拆分出来,并且得到人声歌曲混合音频流。
在一种可能的实施方式中,推流端采集到三路音频流,分别为人声音频流、歌曲音频流以及乐器音频流,则在拉流端同样应当按声道格式将不同声道对应的待播放音频流拆分出来,该过程与上述两路待播放音频流的情况类似,本实施例对此不进行赘述。
在拉流端得到至少两路待播放音频流后,在一些实施例中,拉流端默认向用户播放混合所有音轨混合后的混合音轨音频,即此时目标音频为混合音轨音频。并且,推流端在播放时,会将不同声道的音频进行混合再进行播放。图4示出了本申请一个示例性实施例提供的推流端播放音频的示意图,假设采用5声道,并且包含第一待播放音频流以及第二待播放音频流,此时推流端为接收到用户的音频播放指令,处于默认播放状态,则目标音频为混合音轨音频。其中包含一个初始化系统,该系统用于在播放目标音频之前初始化声卡驱动,声明所要播放的声道、采样率、音频格式等音频信息,以便于播放器能够播放目标音频。图中第一待播放音频流对应L+R声道,第二待播放音频流对应LS+RS声道,则在默认播放的情况下,初始化系统会将第一待播放音频流与第二待播放音频流进行音频混合,在音频混合过程中,是将左声道与左环绕声道进行混合,并且将右声道与右环绕声道进行混合,即得到L+LS声道的混合音频流,R+RS声道的混合音频流。此外,5声道格式中还包含C声道,但由于在推流端中C声道为静音,因此,C声道可以与L+LS声道或R+RS声道中的任意一组进行混合。
在一种可能的实施方式中,在直播场景下,拉流端解码得到的两路待播放音频流分别为歌曲音频流以及人声歌曲混合音频流,则在默认播放情况下,拉流端同时播放歌曲音频以及人声歌曲混合音频,播放效果为人声歌曲混合音频加歌曲环绕的效果,整体歌曲效果会更加强烈。
若用户具有仅播放单音轨音频的需求时,会触发音频播放指令,该音频播放指令用于指示待播放音轨。推流端播放目标音频过程如下:
图5示出了本申请一个示例性实施例提供的推流端播放目标音频过程的流程图,该过程包括:
步骤501,接收音频播放指令。
该音频播放指令可能使用户的触控指令、语音指令、对相应控件的点击指令等等,本实施例对用户触发音频播放指令的方式不进行限定。
步骤502,在音频播放指令指示单音轨的情况下,基于至少两路待播放音频流中的目标音轨对应待播放音频流播放目标音频。
在接收到音频播放指令的情况下,拉流端能够根据音频播放指令确定需要进行播放的单音轨,并且,不同音轨对应不同的待播放音频流,由此,拉流端能够根据待播放音频流播放目标音频。
图6示出了本申请一个示例性实施例提供的播放目标音频的示意图,图中拉流端接收到音频播放指令指示单音轨的情况下,单音轨对应的第一待播放音频流对应声道为L+R,因此,推流端通过初始化系统对第一待播放音频流进行处理后,分别对应到左声道和右声道,两个声道中对所播放的音频内容一致。此外LS+RS声道对应的第二待播放音频流被丢弃。
可选的,在直播场景下,至少两路待播放音频流可以分别为人声音频流以及歌曲音频流,因此在用户具有播放单音频的需求的情况下,在音频播放指令指示人声音轨的情况下,基于在音频播放指令指示人声音轨的情况下,拉流端基于至少两路待播放音频流中的人声音轨对应的人声音频流播放人声音频。其中人声音频主要是指主播的声音,通常由麦克风采集,包括主播的说话声以及主播唱歌的声音。
可选的,在直播场景下,在用户具有播放歌曲音频的需求,即在音频播放指令指示歌曲音轨的情况下,基于至少两路待播放音频流中的歌曲音轨对应的歌曲音频流播放歌曲音频。
步骤503,在音频播放指令指示混合音轨的情况下,对至少两路待播放音频流中的至少两个目标音轨对应的待播放音频流进行混合。
在音频播放指令指示混合音轨的情况下,推流端能够确定混合音轨中包含的具体音轨,并且,根据已确定的音轨确定混合音轨对应的多个待播放比特流,并且将多个待播放比特流混合,得到混合后的音频流。
可选的,在直播场景下,在用户具有播放混合音频的需求,即在音频播放执行指示人声歌曲音轨的混合音轨的情况下,推流端确定很合音轨中包含人声音轨以及歌曲音轨,并且根据已确定的人声音轨以及歌曲音轨确定混合音轨对应的人声音频流以及歌曲音频流,得到人声歌曲混合音频流。
示意性的,推流端对两个待播放比特流进行合并的过程可参照图4所提供的方式,本实施例对此不做赘述。
示意性的,图7示出了本申请一个示例性实施例提供的推流端播放音频的示意图,假设采用7声道,并且包含第一待播放音频流、第二待播放音频流以及第三待播放音频流。此时拉流端接收到音频播放指令,且音频播放指令指示混合音轨,所指示的混合音轨为第一播放音频流对应的第一音轨与第二待播放音频流对应的第二音轨。图中,第一待播放音频流对应L+R声道,第二待播放音频流对应LC+RC声道,第三待播放音频流对应LS+RS声道,则在音频播放指令指示混合音轨,且混合音轨包括第一音轨与第二音轨的情况下,初始化系统会将第一待播放音频流与第二待播放音频流进行音频混合,在混合过程中,是将第一待播放音频流对应的左声道与第二待播放音频流对应的后置环绕左声道进行混合,并将第一待播放音频流对应的右声道与第二待播放音频流对应的后置环绕右声道进行混合,即L+LC声道,R+RC声道,得到混合音频流。此外,第三待播放音频流未指示播放,因此可以将LS+RS声道对应的第三待播放音频流丢弃。
步骤504,基于混合后的音频流播放目标音频。
得到混合后的音频流后,推流端对混合得到的音频流进行音频处理,该音频处理包括噪声抑制、回声消除以及自动增益等过程,得到PCM数据,最后将PCM(Pulse-CodeModulation,脉冲调制编码)数据输入播放器进行播放。
本申请实施例中,拉流端基于音频播放指令,根据用户需求播放不同音轨对应的音频,能够满足用户在拉流端切换不同音轨的需求,尤其是在直播场景下,能够根据用户需求实现仅播放歌曲音频,屏蔽人声音频的效果。
图8示出了本申请一个示例性实施例提供的直播场景下音频传输链路结构的示意图,如图8所示,主要包括语音采集组件801、推流端802、服务器803、拉流端804、播放器组件805。其中推流端802中包含前处理单元8021以及编码器8022,拉流端804中包含解码器8041。
图8中箭头方向表示信息流动方向,语音采集组件801用于采集环境内主播的人声音频,并且推流端能够采集到歌曲音频。推流端采集到人声音频以及歌曲音频之后通过前处理单元8021对两路音频进行前处理,再通过编码器8002对人声音频以及歌曲音频进行编码,得到编码音频流。将编码音频流推送至服务器803后,服务器803接收到拉流端804的拉流请求后,将编码音频流下发至拉流端804,拉流端804对基于解码器8041对编码音频流进行解码,得到两路音频流分别为歌曲音频流以及人声音频流,或者,可以进行默认播放混合音频,也可以根据接收到的音频播放指令播放目标音频。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图9,其示出了本申请一个实施例提供的音频传输装置的结构框图。该装置可以包括:
采集模块901,用于采集至少两路音频流,其中,不同音频流对应不同音轨,且不同音频流具有不同音频内容;
编码模块902,用于对所述至少两路音频流进行音频编码,得到编码音频流,其中,不同音频流对应所述编码音频流中的不同声道;
传输模块903,用于向服务器传输所述编码音频流,以便所述服务器将所述编码音频流传输至拉流端。
可选的,所述编码模块902,用于:
按照声道格式对所述至少两路音频流进行合并,得到合并音频流,其中,所述声道格式用于指示数据帧中不同声道对应音频数据的排列方式;
对所述合并音频流进行音频编码,得到所述编码音频流。
可选的,所述声道格式中不同声道对应的声道优先级不同;
所述编码模块902,用于基于所述至少两路音频流的音频优先级,以及所述声道格式所表征的所述声道优先级,对所述至少两路音频流进行合并,得到所述合并音频流,其中,所述至少两路音频流中高音频优先级音频流对应声道的声道优先级高于低音频优先级音频流对应声道的声道优先级。
可选的,所述声道格式为五声道格式,且所述至少两路音频流中包括第一音频流和第二音频流;所述第一音频流对应左声道和右声道;所述第二音频流对应左环绕声道和右环绕声道。
可选的,所述第一音频流为人声音频流,所述第二音频流为歌曲音频流;或,所述第一音频流为人声音频流,所述第二音频流为人声歌曲混合音频流;或,所述第一音频流为歌曲音频流,所述第二音频流为人声歌曲混合音频流。
可选的,所述至少两路音频流的采样频率相同,且所述至少两路音频流的采样时刻同步。
可选的,所述装置还包括:
前处理模块,用于对所述至少两路音频流进行音频前处理,所述音频前处理用于使所述至少两路音频流的能量保持一致。
本申请实施例中,本申请实施例中,推流端对采集到的对应不同音轨的至少两路音频流进行编码,得到编码音频流,并且,不同音频流对应编码音频流中的不同声道,最后再向服务器传输编码音频流。推流端将不同音轨的音频流作为编码音频流中不同的声道,即为将不同音轨对应于不同声道,并且,在推流端保持不同音频流之间的独立传输,不将不同音轨的音频流进行混合,能够使得推流端根据用户需求播放对应音轨的音频,并且,能够实现播放音轨的切换。此外,由于本申请实施例采用的音频传输协议并未发生改变,因此推流端与拉流端均具有较强的兼容性,适用于直播场景下进行不同音轨的播放。
请参考图10,其示出了本申请一个实施例提供的音频播放装置的结构框图。该装置可以包括:
拉取模块1001,用于从服务器处拉取编码音频流;
解码模块1002,用于对所述编码音频流进行解码,得到至少两路待播放音频流,其中,不同待播放音频流对应不同声道和音轨,且不同待播放音频流具有不同音频内容;
播放模块1003,用于基于所述至少两路待播放音频流播放目标音频,所述目标音频为单音轨或混合音轨音频。
可选的,所述解码模块1002,用于:
对所述编码音频流进行解码,得到解码音频流;
按照声道格式从所述解码音频流中拆分出所述至少两路待播放音频流,其中,所述声道格式用于指示数据帧中不同声道对应音频数据的排列方式。
可选的,所述声道格式为五声道格式,且所述至少两路待播放音频流中包括第一待播放音频流和第二待播放音频流;
所述解码模块1002,用于:
基于所述五声道格式指示的左声道和右声道,从所述解码音频流中拆分出所述第一待播放音频流;
基于所述五声道格式指示的左环绕声道和右环绕声道,从所述解码音频流中拆分出所述第二待播放音频流。
可选的,所述第一待播放音频流为人声音频流,所述第二待播放音频流为歌曲音频流;或,所述第一待播放音频流为人声音频流,所述第二待播放音频流为人声歌曲混合音频流;或,所述第一待播放音频流为歌曲音频流,所述第二待播放音频流为人声歌曲混合音频流。
可选的,所述播放模块1003,用于:
接收音频播放指令,所述音频播放指令用于指示待播放音轨;
在所述音频播放指令指示单音轨的情况下,基于所述至少两路待播放音频流中的目标音轨对应待播放音频流播放所述目标音频;
在所述音频播放指令指示混合音轨的情况下,对至少两路待播放音频流中的至少两个目标音轨对应的待播放音频流进行混合;基于混合后的音频流播放所述目标音频。
可选的,在直播场景下,所述播放模块1003,用于:
在所述音频播放指令指示人声音轨的情况下,基于所述至少两路待播放音频流中的人声音轨对应的人声音频流播放人声音频;
在所述音频播放指令指示歌曲音轨的情况下,基于所述至少两路待播放音频流中的歌曲音轨对应的歌曲音频流播放歌曲音频。
本申请实施例中,推流端对拉取到的编码音频流进行解码后,得到对应不同声道和音轨的至少两路待播放音频流,并且,播放目标音频。得到的至少两路待播放音频流之间彼此独立,不同音轨的音频流之间没有进行混合,因此,可以根据用户需求播放不同音轨的目标音频。
请参考图11,其示出了本申请一个示例性实施例提供的终端的结构方框图。该终端1100可以实现成为上述各个实施例中的终端。终端1100可以包括一个或多个如下部件:处理器1110和存储器1120。
处理器1110可以包括一个或者多个处理核心。处理器1110利用各种接口和线路连接整个终端1100内的各个部分,通过运行或执行存储在存储器1120内的指令、程序、代码集或指令集,以及调用存储在存储器1120内的数据,执行终端1100的各种功能和处理数据。可选地,处理器1110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器1110可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)、神经网络处理器(Neural-network Processing Unit,NPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责触摸显示屏所需要显示的内容的渲染和绘制;NPU用于实现人工智能(Artificial Intelligence,AI)功能;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1110中,单独通过一块芯片进行实现。
存储器1120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory,ROM)。可选地,该存储器1120包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1120可用于存储指令、程序、代码、代码集或指令集。存储器1120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等;存储数据区可存储根据终端1100的使用所创建的数据(比如音频数据、电话本)等。
除此之外,本领域技术人员可以理解,上述附图所示出的终端1100的结构并不构成对终端的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端1100中还包括显示屏、摄像组件、麦克风、扬声器、射频电路、输入单元、传感器(比如加速度传感器、角速度传感器、光线传感器等等)、音频电路、WiFi模块、电源、蓝牙模块等部件,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如上各个实施例所述的音频传输方法,或,音频播放方法。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的音频传输方法,或,音频播放方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (18)

1.一种音频传输方法,其特征在于,所述方法用于推流端,所述方法包括:
采集至少两路音频流,其中,不同音频流对应不同音轨,且不同音频流具有不同音频内容;
对所述至少两路音频流进行音频编码,得到编码音频流,其中,不同音频流对应所述编码音频流中的不同声道;
向服务器传输所述编码音频流,以便所述服务器将所述编码音频流传输至拉流端。
2.根据权利要求1所述的方法,其特征在于,所述对所述至少两路音频流进行音频编码,得到编码音频流,包括:
按照声道格式对所述至少两路音频流进行合并,得到合并音频流,其中,所述声道格式用于指示数据帧中不同声道对应音频数据的排列方式;
对所述合并音频流进行音频编码,得到所述编码音频流。
3.根据权利要求2所述的方法,其特征在于,所述声道格式中不同声道对应的声道优先级不同;
所述按照声道格式对所述至少两路音频流进行合并,得到合并音频流,包括:
基于所述至少两路音频流的音频优先级,以及所述声道格式所表征的所述声道优先级,对所述至少两路音频流进行合并,得到所述合并音频流,其中,所述至少两路音频流中高音频优先级音频流对应声道的声道优先级高于低音频优先级音频流对应声道的声道优先级。
4.根据权利要求2所述的方法,其特征在于,所述声道格式为五声道格式,且所述至少两路音频流中包括第一音频流和第二音频流;
所述第一音频流对应左声道和右声道;
所述第二音频流对应左环绕声道和右环绕声道。
5.根据权利要求4所述的方法,其特征在于,
所述第一音频流为人声音频流,所述第二音频流为歌曲音频流;或,
所述第一音频流为人声音频流,所述第二音频流为人声歌曲混合音频流;或,
所述第一音频流为歌曲音频流,所述第二音频流为人声歌曲混合音频流。
6.根据权利要求1至5任一所述的方法,其特征在于,所述至少两路音频流的采样频率相同,且所述至少两路音频流的采样时刻同步。
7.根据权利要求1至5任一所述的方法,其特征在于,所述对所述至少两路音频流进行音频编码之前,所述方法还包括:
对所述至少两路音频流进行音频前处理,所述音频前处理用于使所述至少两路音频流的能量保持一致。
8.一种音频播放方法,其特征在于,所述方法用于拉流端,所述方法包括:
从服务器处拉取编码音频流;
对所述编码音频流进行解码,得到至少两路待播放音频流,其中,不同待播放音频流对应不同声道和音轨,且不同待播放音频流具有不同音频内容;
基于所述至少两路待播放音频流播放目标音频,所述目标音频为单音轨或混合音轨音频。
9.根据权利要求8所述的方法,其特征在于,所述对所述编码音频流进行解码,得到至少两路待播放音频流,包括:
对所述编码音频流进行解码,得到解码音频流;
按照声道格式从所述解码音频流中拆分出所述至少两路待播放音频流,其中,所述声道格式用于指示数据帧中不同声道对应音频数据的排列方式。
10.根据权利要求9所述的方法,其特征在于,所述声道格式为五声道格式,且所述至少两路待播放音频流中包括第一待播放音频流和第二待播放音频流;
所述按照声道格式从所述解码音频流中拆分出所述至少两路待播放音频流,包括:
基于所述五声道格式指示的左声道和右声道,从所述解码音频流中拆分出所述第一待播放音频流;
基于所述五声道格式指示的左环绕声道和右环绕声道,从所述解码音频流中拆分出所述第二待播放音频流。
11.根据权利要求10所述的方法,其特征在于,
所述第一待播放音频流为人声音频流,所述第二待播放音频流为歌曲音频流;或,
所述第一待播放音频流为人声音频流,所述第二待播放音频流为人声歌曲混合音频流;或,
所述第一待播放音频流为歌曲音频流,所述第二待播放音频流为人声歌曲混合音频流。
12.根据权利要求8至11任一所述的方法,其特征在于,所述基于所述至少两路待播放音频流播放目标音频,包括:
接收音频播放指令,所述音频播放指令用于指示待播放音轨;
在所述音频播放指令指示单音轨的情况下,基于所述至少两路待播放音频流中的目标音轨对应待播放音频流播放所述目标音频;
在所述音频播放指令指示混合音轨的情况下,对至少两路待播放音频流中的至少两个目标音轨对应的待播放音频流进行混合;基于混合后的音频流播放所述目标音频。
13.根据权利要求12所述的方法,其特征在于,在直播场景下,所述在所述音频播放指令指示单音轨的情况下,基于所述至少两路待播放音频流中的目标音轨对应待播放音频流播放所述目标音频,包括:
在所述音频播放指令指示人声音轨的情况下,基于所述至少两路待播放音频流中的人声音轨对应的人声音频流播放人声音频;
在所述音频播放指令指示歌曲音轨的情况下,基于所述至少两路待播放音频流中的歌曲音轨对应的歌曲音频流播放歌曲音频。
14.一种音频传输装置,其特征在于,所述装置用于推流端,所述装置包括:
采集模块,用于采集至少两路音频流,其中,不同音频流对应不同音轨,且不同音频流具有不同音频内容;
编码模块,用于对所述至少两路音频流进行音频编码,得到编码音频流,其中,不同音频流对应所述编码音频流中的不同声道;
传输模块,用于向服务器传输所述编码音频流,以便所述服务器将所述编码音频流传输至拉流端。
15.一种音频播放装置,其特征在于,所述装置用于拉流端,所述装置包括:
拉取模块,用于从服务器处拉取编码音频流;
解码模块,用于对所述编码音频流进行解码,得到至少两路待播放音频流,其中,不同待播放音频流对应不同声道和音轨,且不同待播放音频流具有不同音频内容;
播放模块,用于基于所述至少两路待播放音频流播放目标音频,所述目标音频为单音轨或混合音轨音频。
16.一种终端,其特征在于,所述终端包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如权利要求1至7任一所述的音频传输方法,或,如权利要求8至13任一所述的音频播放方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如权利要求1至7任一所述的音频传输方法,或,如权利要求8至13任一所述的音频播放方法。
18.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中;计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行如权利要求1至7任一所述的音频传输方法,或,如权利要求8至13任一所述的音频播放方法。
CN202310404715.2A 2023-04-14 2023-04-14 音频传输方法、装置、终端、存储介质及程序产品 Pending CN116582697A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310404715.2A CN116582697A (zh) 2023-04-14 2023-04-14 音频传输方法、装置、终端、存储介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310404715.2A CN116582697A (zh) 2023-04-14 2023-04-14 音频传输方法、装置、终端、存储介质及程序产品

Publications (1)

Publication Number Publication Date
CN116582697A true CN116582697A (zh) 2023-08-11

Family

ID=87538580

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310404715.2A Pending CN116582697A (zh) 2023-04-14 2023-04-14 音频传输方法、装置、终端、存储介质及程序产品

Country Status (1)

Country Link
CN (1) CN116582697A (zh)

Similar Documents

Publication Publication Date Title
CN100571450C (zh) 在多声道音频环境中提供互动式音频的系统和方法
CN101609667B (zh) Pmp播放器中实现卡拉ok功能的方法
US10659904B2 (en) Method and device for processing binaural audio signal
WO2020182020A1 (zh) 一种音频信号播放方法及显示设备
US11564050B2 (en) Audio output apparatus and method of controlling thereof
CN112135285A (zh) 多蓝牙音频设备的实时音频交互方法
CN114067810A (zh) 音频信号渲染方法和装置
US20230232182A1 (en) Spatial Audio Capture, Transmission and Reproduction
CN110083328A (zh) 一种音频播放方法、装置、电子设备及存储介质
US20070297624A1 (en) Digital audio encoding
CN104468991A (zh) 一种移动终端及其音频收发方法
CN102576531B (zh) 用于处理多信道音频信号的方法、设备
CN114915874A (zh) 音频处理方法、装置、设备、介质及程序产品
CN116582697A (zh) 音频传输方法、装置、终端、存储介质及程序产品
WO2022262576A1 (zh) 三维音频信号编码方法、装置、编码器和系统
CN113838470B (zh) 音频处理方法、装置、电子设备及计算机可读介质及产品
WO2023051367A1 (zh) 解码方法、装置、设备、存储介质及计算机程序产品
WO2023051368A1 (zh) 编解码方法、装置、设备、存储介质及计算机程序产品
KR101040086B1 (ko) 오디오 생성방법, 오디오 생성장치, 오디오 재생방법 및 오디오 재생장치
KR20110085155A (ko) 실시간 스트리밍을 위한 오디오 생성장치, 오디오 재생장치 및 그 방법
CN115550831A (zh) 通话音频的处理方法、装置、设备、介质及程序产品
KR20240001226A (ko) 3차원 오디오 신호 코딩 방법, 장치, 및 인코더
KR20240004869A (ko) 3차원 오디오 신호 인코딩 방법 및 장치, 및 인코더
CN115376529A (zh) 三维音频信号编码方法、装置和编码器
CN115881139A (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