CN116866287A - 音视频信号交换处理方法、接口板及交换设备 - Google Patents

音视频信号交换处理方法、接口板及交换设备 Download PDF

Info

Publication number
CN116866287A
CN116866287A CN202310822553.4A CN202310822553A CN116866287A CN 116866287 A CN116866287 A CN 116866287A CN 202310822553 A CN202310822553 A CN 202310822553A CN 116866287 A CN116866287 A CN 116866287A
Authority
CN
China
Prior art keywords
stream
audio
interface board
video
input
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
CN202310822553.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.)
Beijing Weitai Shixin Technology Co ltd
Original Assignee
Beijing Weitai Shixin 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 Beijing Weitai Shixin Technology Co ltd filed Critical Beijing Weitai Shixin Technology Co ltd
Priority to CN202310822553.4A priority Critical patent/CN116866287A/zh
Publication of CN116866287A publication Critical patent/CN116866287A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/111Switch interfaces, e.g. port details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • 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/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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种音视频信号交换处理方法、接口板及交换设备,属于音视频交换技术领域。所述方法包括:多个接口板,各接口板分别包括多个输入输出通道,各输入输出通道分别用于连接一个远端设备;第一接口板通过连接第一远端设备的第一输入输出通道接收来自第一远端设备的输入数据流;第一接口板根据数据的类型对数据流进行封包,得到组播流,并将组播流发送给第二接口板;第二接口板根据组播流的类型对组播流进行解封,得到输出数据流,并通过连接第二远端设备的第二输入输出通道将输出数据流发送至第二远端设备。本申请可以达到带宽小、支持大规模音频信号和视频信号的输入输出、成本低以及对CPU和GPU要求不高的效果。

Description

音视频信号交换处理方法、接口板及交换设备
技术领域
本申请涉及音视频交换技术领域,具体而言,涉及一种音视频信号交换处理方法、接口板及交换设备。
背景技术
近年来,随着多媒体设备的广泛应用,人们对音视频切换技术的要求越来越高。如何高分辨率地实现音视频信号的切换,已成为限制音视频技术发展的难题。
相关技术中,主要通过两种方式来实现音视频信号的切换,第一种,通过SDI(Serial Digital Interface,数字串行接口)或者HDIM(High Definition MultimediaInterface,高清晰多媒体接口)接收各种接口的视频信号,将接收的视频信号转换成统一格式的SDI或HDMI信号进行传输,可以将任意输入差分信号切换到任意输出擦划分信号上,实现音视频信号的切换;第二种,通过传统的视频会议MCU(Multi Control Unit,多点控制单元)获取多路音视频流信号后,音视频流信号由MCU远端对接的终端设备对采集的音视频信号进行视频编码获得的,MCU进行视频编解码和音频编解码等处理,并将处理后的音视频流发送给远端终端,实现音视频信号的切换和多画面混合。
然而,在基于相关技术进行音视频信号切换时,存在带宽大、输入输出规模大、成本高以及对设备CPU和GPU要求高的问题。
发明内容
本申请的目的在于提供一种音视频信号交换处理方法、接口板及交换设备,可以达到带宽小、支持大规模音频信号和视频信号的输入输出、成本低以及对CPU和GPU要求不高的效果。
本申请的实施例是这样实现的:
本申请实施例的第一方面,提供一种音视频信号交换处理方法,包括:多个接口板,各接口板分别包括多个输入输出通道,各输入输出通道分别用于连接一个远端设备;
第一接口板通过连接第一远端设备的第一输入输出通道接收来自第一远端设备的输入数据流,输入数据流包括:音频流或视频流;
第一接口板根据数据的类型对数据流进行封包,得到组播流,并将组播流发送给第二接口板;
第二接口板根据组播流的类型对组播流进行解封,得到输出数据流,并通过连接第二远端设备的第二输入输出通道将输出数据流发送至第二远端设备。
作为一种可能的实现方式,通过连接第二远端设备的第二输入输出通道将输出数据流发送至第二远端设备,包括:
若第二接口板接收到与输出数据流的数据源相同且类型不同的待同步数据流,则对输出数据流以及待同步数据流进行时间戳同步处理,并通过第二输入输出通道将处理后的输出数据流以及待同步数据流至第二远端设备。
作为一种可能的实现方式,对输出数据流以及待同步数据流进行时间戳同步处理,包括:
将初始时刻音频流或视频流对应的时间戳分别记为系统音频时间戳和系统视频时间戳;
接收音频组播流或视频组播流,将第一帧音频组播流对应的时间戳记为原始音频时间戳,第一帧视频组播流对应的时间戳记为原始视频时间戳;
每接收一帧音频组播流或视频组播流,确定一个新的音频时间戳和视频时间戳,其中,上一帧的新的音频时间戳或新的视频时间戳作为下一帧的原始音频时间戳或原始视频时间戳;
根据系统音频时间戳、原始音频时间戳以及新的音频时间戳确定输出音频流对应的时间戳,根据系统视频时间戳、原始视频时间戳以及新的视频时间戳确定输出视频流对应的时间戳。
作为一种可能的实现方式,还包括:
若第二接口板在通过第二输入输出通道输出来自第一远端设备的输入数据流时,接收到服务器发送的切换指令,切换指令中包括:第二输入输出通道待切换到的第三远端设备的标识,则第二接口板在接收到第三远端设备发送的关键帧之后,通过第二输入输出通道接收来自第三远端设备的输入数据流。
作为一种可能的实现方式,第二接口板在接收到第三远端设备发送的关键帧之后,通过第二输入输出通道输出来自第三远端设备的输入数据流,包括:
第二接口板通过第二输入输出通道向第三远端设备发送请求消息,请求信息用于请求第三远端设备发送关键帧;
第二接口板通过第二输入输出通道接收第三远端设备发送的关键帧,并通过第二输入输出通道输出来自第三远端设备的输入数据流。
作为一种可能的实现方式,交换设备中还包括:混音板;
将组播流发送给第二接口板,包括:
若组播流的类型为音频,则第一接口板将组播流发送给混音板;
混音板对组播流进行混音处理,得到混音音频裸流,并对混音音频裸流进行封包,得到混音组播流;
混音板将混音组播流发送给第二接口板;
第二接口板根据组播流的类型对组播流进行解封,得到输出数据流,包括:
第二接口板根据混音组播流类型对混音组播流进行解封,得到输出数据流。
作为一种可能的实现方式,组播流包括:通道标识、数据类型、是否为关键帧、帧起始标志、帧结束标志、帧序列号、包序列号、时间戳、数据长度、媒体数据。
本申请实施例的第二方面,提供了一种接口板,该接口板包括:存储器、处理器以及多个输入输出通道,各输入输出通道分别用于连接一个远端设备,存储器中存储有可在处理器上运行的计算机程序,处理器执行所述计算机程序时,实现上述第一方面所述的音视频信号交换处理方法。
本申请实施例的第三方面,提供了一种交换设备,包括:多个接口板、交换板、背板以及混音板。
本申请实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的音视频信号交换处理方法。
本申请实施例的有益效果包括:
本申请实施例提供的一种音视频信号交换处理方法,应用于交换设备,交换设备包括多个接口板,各个接口板分别包括多个输入输出通道,每个输入输出通道分别连接一个远端设备,通过第一接口板连接第一远端设备的第一输入输出通道接收来自第一远端设备的输入数据流,第一接口板根据输入数据流的数据类型对数据流进行封包得到对应的组播流,将组播流发送给第二接口板,第二接口板根据组播流的类型对组播流进行解封获得输出数据流,通过第二接口板上与第二远端设备连接的第二输入输出通道将输出数据流发送给第二远端设备。其中,第一远端设备作为输入数据流的设备,第二远端设备作为接收输出数据流的设备,组播流的解封以及数据流的封包都是在接口板上进行,各个远端设备之间的数据交换也是通过交换设备中的各个接口板来实现,交换设备中的多个接口板可以实现大规模的远端设备之间的数据交换,且每个接口板通过多个输入输出通道可以支持与接口板输入输出通道数量一致的远端设备进行数据交换,这样可以支持大规模的数据流以及组播流的交换、降低生产成本以及对CPU的要求较低。如此,可以达到带宽小、支持大规模音频信号和视频信号的输入输出、成本低以及对CPU和GPU要求不高的效果。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的应用场景示意图;
图2为本申请实施例提供的交换设备的系统架构示意图;
图3为本申请实施例提供的一种音视频信号交换处理方法的流程图;
图4为本申请实施例提供的一种输入数据流分类示意图;
图5为本申请实施例提供的接口板接收方向的流程图;
图6为本申请实施例提供的接口板发送方向的流程图;
图7为本申请实施例提供的一种时间戳同步处理方法的流程图;
图8为本申请实施例提供的一种时间戳同步处理系统的流程图;
图9为本申请实施例提供的一种时间戳同步处理逻辑的流程图;
图10为本申请实施例提供的一种数据流切换方法的流程图;
图11为本申请实施例提供的一种混音处理方法的流程图。
附图标识:
100:远端设备;200:系统核心端;201:交换设备;2011:接口板;2012:混音板;2013:背板;2014:交换板。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在相关技术中。目前,经常会通过以下两种方式来实现音视频信号的交换,第一种,通过SDI(Serial Digital Interface,数字串行接口)或者HDIM(High DefinitionMultimedia Interface,高清晰多媒体接口)接收各种接口的视频信号,将接收的视频信号转换成统一格式的SDI或HDMI信号在PCB(Printed Circuit Board,印刷电路板)线路板上进行信号传输,可以将任意输入差分信号切换到任意输出差分信号上,从而达成“矩阵”的效果,实现音视频信号的交换;第二种,通过传统的视频会议MCU(Multi Control Unit,多点控制单元),获取本地设备采集的多路音视频流信号后,MCU远端对接的终端设备对采集的音视频流信号进行视频编码转换成网络视频流与MCU建立连接并发送给MCU,MCU对接收的网络视频流进行处理并将处理后的视频流发送给远端设备,实现音视频信号的切换和多画面混合。然而,第一种方式的音视频信号交换通过矩阵实现会造成视频的带宽较大,PCB板布线难度大,输入输出规模巨大以及成本高;第二种方式的音视频信号交换通过MCU设备进行大规模的视频编解码和音频编解码,会造成对设备的GPU和CPU要求较高,设备的成本较高且无法实现大规模的音视频信号交换的需求。另外,高带宽导致PCB板布线难以实现,设备中GPU和CPU的性能固定,这样就造成无法支持大规模的音视频交换。
为此,本申请实施例提供了音视频信号交换处理方法,应用于交换设备,通过接口板连接远端设备的输入输出通道接收来自远端设备的输入数据流,接口板根据输入数据流的数据类型对数据流进行封包得到对应的组播流,将组播流发送给需要该输入流数据的接口板,该接口板根据组播流的类型对组播流进行解封获得输出数据流,通过该接口板上与需要该组播流的远端设备连接的输入输出通道将输出数据流发送给有需要的远端设备。其中,组播流的解封以及数据流的封包都是在接口板上进行,各个远端设备之间的数据交换也是通过交换设备中的各个接口板来实现,交换设备中的多个接口板可以实现大规模的远端设备之间的数据交换,且每个接口板通过多个输入输出通道可以支持与接口板输入输出通道数量一致的远端设备进行数据交换,这样可以支持大规模的数据流以及组播流的交换、降低生产成本以及对CPU的要求较低,可以达到带宽小、支持大规模音频信号和视频信号的输入输出、成本低以及对CPU和GPU要求不高的效果。
图1为本申请提供的一种应用场景示意图,参见图1可知该应用场景涉及远端设备100和系统核心端200,远端设备100与系统核心端200之间通信连接,远端设备100与系统核心端200之间可以进行信息交互进而完成音视频信号的交换。
可选的,音视频信号交换多发生于一对一、一对多以及多对多的场景中,系统核心端200基于互联网接收来自多个远端设备100的音视频信号,系统核心端200对接收到的音视频信号进行处理,将处理后的音视频信号发送给需要该音视频信号的远端设备100上。
可选的,远端设备100最高输入分辨率支持8K30HZ,编码后的码流带宽为10-20Mbps,经过各种流媒体传输协议将编码后的码流信号发送给系统核心端200。其中,流媒体传输协议包括:UDP(User Datagram Protocol,用户数据报协议)/SIP(SessionInitialization Protocol,会话初始协议)/RTSP(Real Time Streaming Protocol,实时流传输协议)/SRT(Secure Reliable Transport,安全可靠传输协议)等,本申请对此不做具体限定。
可选的,系统核心端200根据各个远端设备100的应用需求,将其需要的信号经系统核心端200处理后发送给有需要的各个远端设备100,各个远端设备100接收需要的信号并进行播放。
可选的,系统核心端200可以同时接入多个远端设备100,同时也可以根据各个远端设备100的需求同时输出多个音视频信号,实现多个远端设备100之间的音视频信号交换。
在本申请实施例中,通过系统核心端对远端设备的音视频信号进行处理,并将音视频信号交换给需要该信号的远端设备,其中远端设备对接收的音视频信号进行解码获取最终展示的音视频信号,这样可以降低对设备的CPU和GPU的要求,且可以支持大规模的音视频信号交换。如此,可以达到支持大规模音频信号和视频信号的输入输出以及对CPU和GPU要求不高的效果。
图2为本申请提供的一种交换设备的系统架构示意图,参见图2可知该交换设备201是由多个接口板2011、混音板2012、背板2013以及交换板2014组成。其中,多个接口板2011、混音板2012与交换板2014之间直接通过千兆以太网进行连接。
可选的,系统可以根据输入输出的规模调整接口板2011的数量,其中每块接口板2011都有多个输入输出接口,每个输入输出接口都可以单独连接一个远端设备100,每个输入输出接口都可以作为接收远端设备100输入数据流的接收通道,同时还可以作为远端设备接收数据流的输出通道。其中,每块接口板2011支持最大8路音视频信号的接入和处理,单台交换设备201最大支持320路音视频信号的接入,本申请对接口板的数量不做具体限定。
可选的,远端设备100可以是各种视频终端、多媒体终端、监控摄像机等视频设备,各个接口板2011通过多种流媒体传输协议接入各个远端设备100,接口板2011与远端设备100之间通过流媒体传输协议完成数据流的传输,实现多个远端设备间的音视频信号交换。值得说明的是,每块接口板2011支持最大8路音视频信号的接入和处理,即每块接口板2011最大支持8路远端设备100的接入。
可选的,每块接口板2011的输入输出通道与远端设备100对接成功后就开始接收远端设备100发送的音视频信号,并对接收的音视频信号进行处理,将处理后的音视频信号发送给需要该信号的对应的远端设备。
可选的,当远端设备100有混音需求时,在混音板2012加入需要混合的音频信号,按照音量检测算法和音频混音逻辑对加入的音频信号进行混音处理,将处理后的混音音频信号发送给需要的远端设备100。
可选的,交换板2014可以实现各种IP信号的交换,还可以支持IGMP(InternetGroup Management Protocol,因特网组管理协议)SNOOPY功能,可以通过各个接口板上输入输出的IGMP数据包控制信号是否转发到交换板2014上的各个网络通道处。
在本申请实施例中,通过接口板上的输入输出通道与远端设备之间进行音视频信号交换,根据远端设备的输入输出规模确定接口板的数量,增加接口板的数量实现大规模音视频信号交换,其中音视频信号的处理都在对应的接口板上进行,这样可以降低对设备的CPU和GPU的要求,且可以支持大规模的音视频信号交换。如此,可以达到支持大规模音频信号和视频信号的输入输出、成本低以及对CPU和GPU要求不高的效果。
下面对本申请实施例提供的音视频信号交换处理方法进行详细地解释说明。
图3为本申请提供的一种音视频信号交换处理方法的流程图,该方法可以应用于交换设备201,该交换设备可以是前述的MCU设备。
交换设备包括多个接口板,各接口板分别包括多个输入输出通道,各输入输出通道分别用于连接一个远端设备。
可选的,交换设备根据应用场景的音视频交换需求设定接口板的数量,其中每个接口板上包含多个输入输出通道,每个接口板最大支持8路音视频信号的接入,即每个接口板只有8个输入输出通道,每块接口板最多只能接入8个远端设备,每个输入输出通道只能对应一个远端设备,可以保证输入输出的独立性。
值得注意的是,每块接口板的八个输入输出通道不一定全部用到,可能用到其中的七个或者六个,根据接口板接入的远端设备个数决定,本申请对此不做具体限定。
示例性的,交换设备A需要接入的远端设备为35个,则交换设备A至少设置有5块接口板用于接入这些远端设备,其中可以是四块接口板的每个输入输出通道都被占用,最后一块占用三个输入输出通道,也可以是五块接口板平均每块接口板占用七个输入输出通道,本申请对此不做具体限定。
参见图3,本申请实施例提供一种音视频信号交换处理方法,包括:
S301、第一接口板通过连接第一远端设备的第一输入输出通道接收来自第一远端设备的输入数据流,输入数据流包括:音频流或视频流。
可选的,第一接口板是交换设备中的任一交换板,第一交换板可以基于流媒体传输协议通过输入输出通道接入第一远端设备,其中第一远端设备是指与第一接口板上的输入输出通道接入的任一远端设备,第一接口板与第一远端设备之间连接的输入输出通道就为第一输入输出通道,其中第一输入输出通道可以为第一接口板上的任一输入输出通道,但第一输入输出通道一定是第一远端设备与第一接口板连接的通道。
可选的,当第一接口板与第一远端设备对接成功后,第一接口板基于流媒体传输协议开始接收第一远端设备的输入数据流,其中输入数据流包括音频流或数据流。值得说明的是,每个远端设备传输的输入数据流可以同时包括音频流和视频流,也可以只有音频流或者只有视频流。
值得注意的是,每块接口板最初只接收该接口板接入的远端设备传输的输入数据流,但接口板可以通过交换板、背板获取其他接口板上的其他远端设备的输入数据流。
可选的,第一接口板在接收到第一远端设备的输入数据流后,根据接收的输入数据流的类型将输入数据流分为音频流和视频流,其中输入数据流中还包含各个输入输出通道连接的远端设备的标识,如1路远端设备、2路远端设备、3路远端设备、4路远端设备、5路远端设备、6路远端设备、7路远端设备、8路远端设备。
值得注意的是,接口板基于流媒体传输协议从输入输出通道获取的输入音频流是PCM(Pulse Code Modulation,脉冲编码调制)裸流信号,在对音频流进行处理时需要优先对音频流进行解码。此外,视频流无需解码,视频流是由一帧帧连续的图像组成,解码负担较大且视频流不解码也可以被识别,故无需对视频流进行解码。
图4为本申请实施例提供的一种输入数据流分类示意图,参见图4,接口板上的处理器根据输入数据流包含的信息以及数据类型可以将输入数据流分为:1路视频流或1路音频流、2路视频流或2路音频流、3路视频流或3路音频流、4路视频流或4路音频流、5路视频流或5路音频流、6路视频流或6路音频流、7路视频流或7路音频流、8路视频流或8路音频流。
示例性的,交换设备A设置有5块接口板a、b、c、d、e用于接入33个远端设备,其中每块接口板占用七个输入输出通道,接口板a连接的有七个远端设备分别是a1、a2、a3、a4、a5、a6、a7,接口板接收到a1的输入数据流为1路视频流和1路音频流,接口板a与a1远端设备连接的输入输出通道为1号通道。
图5为本申请实施例提供的接口板接收方向的流程图,参见图5,接口板与远端设备之间基于流媒体传输协议通过接口板上的输入输出通道与远端设备对接获取远端设备中的数据流,根据输入数据流包含的数据类型判断数据流是音频流或视频流,接口板上的处理器根据各个远端设备发出的IGMP信号判断该输入数据流中哪些数据流有需要的远端设备,哪些输入数据流没有被需要,其中,需要优先对音频流进行解码才可以判断哪些设备需要该输入音频流,而视频流不解码也可以被识别,故无需对视频流进行解码,对有需要的数据流进行封包获取该数据流对应的组播流,将组播流发送给有需要的远端设备所在的接口板上。
S302、第一接口板根据数据的类型对数据流进行封包,得到组播流,并将组播流发送给第二接口板。
可选的,第一接口板根据输入数据流中数据的类型对输入数据流分别进行封包,对音频流封包得到音频组播流,对视频流封包得到视频组播流,其中,音频流封包的方式与视频流封包的方式不同,音频流和视频流需要分开作封装处理,音频流的封包方法可以是ACC(Advance Audio Coding,高级音频编码)、MP3(Moving Picture Experts Group AudioLayerш,动态影像专家压缩标准音频层面3)等;视频流的封包方法可以是H264(AdvancedVideo Coding,AVC,高级视频编码)、Xvid(Advanced Video Interchange,AVI,高级视频交换格式)等,本申请对此不做具体限定。
可选的,第一接口板上的处理器根据接收的输入数据流中数据的类型对数据流进行封包,分别得到视频组播流和音频组播流,并将组播流发送给第二接口板。其中,第二接口板可以是交换设备中的任一接口板,第二接口板上必须有需要该组播流包含的数据的远端设备,第二接口板可以和第一接口板是同一块接口板,也可以不是同一块接口板。
值得说明的是,当第一接口板与第二接口板不是同一块接口板时,组播流不可以直接从第一接口板传输到第二接口板上,组播流需要经由第一接口板发送给背板,背板将该组播流发送给交换板,交换板基于IGMP信号确定将该组播流发送至第二接口板,实现第一接口板上的组播流发送给第二接口板。
示例性的,若交换设备A中接口板a接收到远端设备a1的输入数据流1路视频流和1路音频流,接口板c的3号输入输出通道连接的远端设备c3需要1路视频流和1路音频流,接口板a对1路视频流和1路音频流作封包处理获得1路视频组播流和1路音频组播流,接口板a将1路视频组播流和1路音频组播流发送给背板,背板将该组播流发送给交换板,交换板接收接口板c发送的IGMP信号,确定将该组播流发送给接口板c,交换板将该组播流发送至接口板c对应的网络接口,接口板c接收1路视频组播流和1路音频组播流。
值得注意的是,输入数据流封包成组播流在接口板、背景板以及交换板之间传输可以有效地节省空间以及防止数据丢失,接口板与背景板以及交换板之间的数据传输都是通过封包后的数据包进行传输的。
S303、第二接口板根据组播流的类型对组播流进行解封,得到输出数据流,并通过连接第二远端设备的第二输入输出通道将输出数据流发送至第二远端设备。
可选的,第二接口板接收组播流,根据组播流的数据类型对组播流进行解封获得输出数据流,其中,组播流分为视频组播流和音频组播流两种类型,视频组播流和音频组播流的封包方式不同导致解封方式也不相同,组播流的解封是先解封传输协议,再解封组播流的封装格式得到相应的输出数据流。值得说明的是,解封后的输出音频流也是PCM裸流信号,需要对输出音频流进行编码才可以输出到远端设备中。
可选的,第二接口板将解封后得到的输出数据流,通过第二输入输出通道将输出数据流发送至第二远端设备,其中,第二远端设备就是需要该输入数据流的远端设备,第二输入输出通道就是第二接口板与第二远端设备之间连接的通道,第二远端设备可以位于第二接口板上的任意一个输入输出通道上,但第二远端设备必须是与第二接口板连接。
示例性的,若交换设备A中接口板a接收到远端设备a1的输入数据流1路视频流和1路音频流,接口板c的3号输入输出通道连接的远端设备c3需要1路视频流和1路音频流,接口板c接收1路视频组播流和1路音频组播流,接口板c对1路视频组播流和1路音频组播流进行解封获得1路视频流和1路音频流,接口板c通过3号输入输出通道将1路视频流和编码后的1路音频流发送给远端设备c3。
值得注意的是,需要某个输入数据流的远端设备可以是一个,也可以是多个,这些远端设备可以分散在同一块接口板也可以分散在不同的接口板上,但音视频信号交换的原理相同,本申请以一个远端设备需要且不在同一接口板上为例,但不代表本申请只支持这一种情形。
图6为本申请实施例提供的接口板发送方向的流程图,参见图6,需要该输入数据流的远端设备所在的接口板通过交换板和背板获取所需数据流对应的组播流,根据组播流的数据类型对组播流进行解封获取组播流对应的输出数据流,其中输出数据流中音频数据流需要做编码处理后才可以发送至远端设备,接口板通过与所需的远端设备之间连接的输入输出通道将该输出数据流发送给需要该数据流的远端设备,远端设备接收所需的输出数据流。
在本申请实施例中,通过交换设备中多个交换板的输入输出通道获取多个远端设备的输入数据流,接口板对输入数据流根据数据类型进行封包获取不同类型的组播流,需要该输入数据流的远端设备发出IGMP信号,交换板基于该信号实现接口板之间的组播流交换,将该组播流发送至需要该输入数据流的远端设备所在的接口板上,接口板对组播流进行解封,将解封后的输出数据流发送给有需要的远端设备,通过增加接口板的数量可以增大输入输出的规模,如此,可以达到带宽小、支持大规模音频信号和视频信号的输入输出、成本低以及对CPU和GPU要求不高的效果。
作为一种可选的实施方式,上述步骤S303的操作具体可以为:
若第二接口板接收到与输出数据流的数据源相同且类型不同的待同步数据流,则对输出数据流以及待同步数据流进行时间戳同步处理,并通过第二输入输出通道将处理后的输出数据流以及待同步数据流至第二远端设备。
可选的,第二接口板将接收到的组播流进行解封,获得输出数据流,当输出数据流中包含两种不同类型的数据,即输出数据流包含音频流和视频流,且输出数据流包含的两种不同类型的数据流属于同一远端设备发出,则需要对输出数据流包含的音频流和视频流作同步处理。值得说明的是,当输出数据流只包含音频流或只包含数据流时,不需要对输出数据流作同步处理,且音频流和视频流做同步处理之前需要对解封后的音频流进行编码。
可选的,输出数据流的待同步处理就是将输出数据流包含的音频流和音频流进行时间戳同步处理,即将音频流和视频流的时间进行同步处理,使得视频流和音频流之间的时间差缩小,提高视频播放的效果,使得视听同步,提高用户体验感。
可选的,第二接口板将时间戳同步处理后的输出数据流通过与所需远端设备连接的输入输出通道发送至所需该数据流的远端设备,该远端设备接收输出数据流,将该数据流在远端设备进行显示。
示例性的,若交换设备A中接口板c接收1路视频组播流和1路音频组播流,接口板c对1路视频组播流和1路音频组播流进行解封获得1路视频流和1路音频流,1路视频流和1路音频流都来自接口板a上1号输入输出通道连接的远端设备a1发出的输入数据流,若1路视频流和1路音频流之间存在一定的时间间隔,则接口板c的处理器对1路视频流和1路音频流进行时间戳同步处理,使得1路视频流和1路音频流同步,接口板c通过3号输入输出通道将同步处理后的1路视频流和编码后的1路音频流发送给远端设备c3。
在本申请实施例中,通过交换设备中需要输入数据流的远端设备所在的接口板接收该输入数据流对应的组播流,需要输入数据流的远端设备所在的接口板对该组播流进行解封获取对应的输出数据流,接口板对该输出数据流作时间戳同步处理,接口板通过输入输出通道将同步处理后的输出数据流发送至需要该数据流的远端设备上,远端设备接收其所需的数据流并显示其数据信息,可以达到带宽小、支持大规模音频信号和视频信号的输入输出的效果。
图7为本申请提供的时间戳同步处理方法的流程图,参见图7,本申请音视频交换处理方法中对输出数据流以及待同步数据流进行时间戳同步处理,包括:
S701、将初始时刻音频流或视频流对应的时间戳分别记为系统音频时间戳和系统视频时间戳。
S702、接收音频组播流或视频组播流,将第一帧音频组播流对应的时间戳记为原始音频时间戳,第一帧视频组播流对应的时间戳记为原始视频时间戳。
S703、每接收一帧音频组播流或视频组播流,确定一个新的音频时间戳和视频时间戳,其中,上一帧的新的音频时间戳或新的视频时间戳作为下一帧的原始音频时间戳或原始视频时间戳。
S704、根据系统音频时间戳、原始音频时间戳以及新的音频时间戳确定输出音频流对应的时间戳,根据系统视频时间戳、原始视频时间戳以及新的视频时间戳确定输出视频流对应的时间戳。
可选的,可以通过下述公式(1)得到输出数据流中视频流对应的时间戳。具体的,针对每一帧视频流,分别调用下述的公式(1),即可得到该种视频组播流对应的输出时间戳。
Tbv=tbv+(new_pts-last_pts)(1)
其中,Tbv表示输出视频时间戳,tbv表示系统视频时间戳,new_pts表示每一帧视频组播流对应的新的视频时间戳,last_pts表示原始视频时间戳,还表示上一帧视频组播流对应的时间戳。
可选的,tbv表示视频组播流开始传输的初始时刻的时间戳,记为0也为系统视频时间戳,在接收第一帧视频组播流的时候,直接将tbv赋予Tbv输出,并将第一帧视频组播流对应的时间戳记为原始视频时间戳,原始视频时间戳是变动的,原始视频时间戳会被下一帧新的视频时间戳替换,成为下下帧的原始视频时间戳,即每一帧视频组播流对应的原始视频时间戳都为上一帧视频组播流对应的新的视频时间戳。
可选的,时间戳是本身就存在组播流中的,可以直接从组播流中获取,输出组播流的计算时间戳可以延迟或者快进视频,使得视频与音频同步。
示例性的,已知交换设备A中的接口板a上的1路视频组播流的初始时刻对应的系统视频时间戳为tbv=0,第一帧视频组播流对应的原始时间戳为1,输出第一帧视频组播流对应的时间戳为Tbv=0,当接收第二帧视频组播流时,将第一帧视频组播流对应的时间戳记为原始视频时间戳last_pts=1,第二帧视频组播流对应的时间戳为3,则new_pts=3,则输出第二帧视频组播流对应的时间戳为Tbv=tbv+(new_pts-last_pts)=0+(3-1)=2。
可选的,可以通过下述公式(2)得到输出数据流中音频流对应的时间戳。具体的,针对每一帧音频流,分别调用下述的公式(2),即可得到该种音频组播流对应的输出时间戳。
Tba=tba+(new_pts-last_pts)(2)
其中,Tba表示输出音频时间戳,tba表示系统音频时间戳,new_pts表示每一帧音频组播流对应的新的音频时间戳,last_pts表示原始音频时间戳,还表示上一帧音频组播流对应的时间戳。
可选的,tba表示音频组播流开始传输的初始时刻的时间戳,记为0也为系统视频时间戳,在接收第一帧音频组播流的时候,直接将tba赋予Tba输出,并将第一帧音频组播流对应的时间戳记为原始音频时间戳,原始音频时间戳是变动的,原始音频时间戳会被下一帧新的音频时间戳替换,成为下下帧的原始音频时间戳,即每一帧音频组播流对应的原始音频时间戳都为上一帧音频组播流对应的新的音频时间戳。
示例性的,已知交换设备A中的接口板a上的1路音频组播流的初始时刻对应的系统视频时间戳为tba=0,第一帧音频组播流对应的原始时间戳为2,输出第一帧音频组播流对应的时间戳为Tba=0,当接收第二帧音频组播流时,将第一帧音频组播流对应的时间戳记为原始视频时间戳last_pts=2,第二帧音频组播流对应的时间戳为3,则new_pts=3,则输出第二帧音频组播流对应的时间戳为Tba=tba+(new_pts-last_pts)=0+(3-2)=1。
可选的,判断音频组播流输出时间戳和视频组播流输出时间戳的大小,当视频组播流输出时间戳大于音频组播流输出时间戳时,即视频组播流快于音频组播流,需要放缓读取视频,正常读取音频组播流;当视频组播流输出时间戳小于音频组播流时间戳时,即音频组播流快于视频组播流,需要加快读取视频,正常播放音频。
图8为本申请实施例提供的一种时间戳同步处理系统的流程图,参见图8,初始时刻将音视频的时间戳都定义为0,且记为系统时间戳,tbv表示视频系统时间戳,tba表示音频系统时间戳,当接口板开始接收组播流后,接收到第一帧音频组播流或视频组播流时,tbv和tba不做修改,直接将tbv记为Tbv赋予输出模块进行输出,将tba记为Tba赋予输出模块进行输出,将第一帧组播流中的原始时间戳记为last_pts,其中,第一帧音频组播流中的原始时间戳记为last_apts,第一帧视频组播流中的原始时间戳记为last_vpts;之后每接收的一帧音频组播流或视频组播流都对应获取该帧中音视频流的原始时间戳new_pts,其中,每一帧音频组播流中的原始时间戳记为new_apts,每一帧视频组播流中的原始时间戳记为new_vpts;计算输出模块的视频时间戳Tbv或音频时间戳Tba,其中Tbv=tbv+(new_pts-last_pts),Tba=tba+(new_pts-last_pts),将计算得到的新的Tbv或Tba赋予输出模块,同时将new_pts赋予last_pts,保存上一帧的原始时间戳,直至组播流的最后一帧数据流。
可选的,通过组播流的封包结构可以获取音频流和视频流对应的原始远端设备,当音频流和视频流不属于同一远端设备发出时,音频流和视频流不具有强相关性,可以容忍音频流与视频流的不同步,音视频只需要按照自己的系统时间戳交替读取即可。
可选的,当音频流和视频流属于同一远端设备发出时,音频流和视频流具有强相关性,必须要求输入输出通道对音频流和视频流进行时间戳同步处理,否则会导致视听效果不佳。
图9为本申请实施例提供的一种时间戳同步处理逻辑的流程图,参见图9可知,交换设备对音视频的交换处理以音频的处理优先级更高,对音频不做过多的调整,按照音频的原始时间戳读取即可,对视频数据进行调整,使得远端设备的音视频输出时音频始终连续,视频数据的轻微延迟或快进带来的抖动忽略不计。
作为一种可选的实施方式,上述音视频信号交换处理方法还包括:
若第二接口板在通过第二输入输出通道输出来自第一远端设备的输出数据流时,接收到服务器发送的切换指令,切换指令中包括:第二输入输出通道待切换到的第三远端设备的标识,则第二接口板在接收到第三远端设备发送的关键帧之后,通过第二输入输出通道输出来自第三远端设备的输出数据流。
可选的,音视频信号交换中除开接收同一远端设备的数据流外,还可能切换其他远端设备的数据流,可以切换一次、两次,甚至数次。
可选的,当第二接口板通过第二输入输出通道输出第一远端设备的输入数据流时,若将第二输入输出通道输出的数据流切换成第三远端设备的输入数据流,则需要接收服务器发送的切换指令指示第二接口板的第二输入输出通道执行切换输出数据流信息,切换指令包括:第二输入输出通道待切换到的第三远端设备的标识。其中,第二接口板可以是交换设备中的任一接口板,第二输入输出通道是第二接口板上连接任一远端设备的通道,第三远端设备可以是第二接口板上的其他通道连接的远端设备也可以是其他接口板上通道连接的设备。
值得注意的是,切换指令来源于第二输入输出通道的输出数据切换需求,根据第二输入输出的输出数据切换需求服务器下发切换指令,控制接口板执行切换操作。
可选的,第二接口板的第二输入输出通道在接收到切换指令后,可以从切换指令中识别出将要切换的输出数据流对应的远端设备,当第二接口板接收到远端设备发送的关键帧之后才开始接收来自第三远端设备的数据流信息,其中第三远端设备可以是第二接口板上对应的除第二输入输出接口对应的远端设备外的其他远端设备,第三远端设备也可以是其他接口板上的对接的远端设备。
值得注意的是,关键帧用于指示切换的开始,只有接收到切换数据流中的关键帧才可以开始发送切换后的数据流信息,关键帧等同于一个切换开启按钮。
示例性的,若交换设备A中接口板c的第二输入输出通道对接的远端设备c2有切换数据流的需求,远端设备c2先接收1路音频组播流20s再接收3路音频组播流直至完结,假设1路音频组播流来自接口板a的第一输入输出通道对应的远端设备a1,3路音频组播流来自接口板b的第三输入输出通道对应的远端设备b3,根据远端设备c2的需求,服务器M向接口板c发送切换指令m,其中切换指令包括远端设备b3的标识,接口板c先向远端设备c2发送来自接口板a的远端设备a1的1路音频组播流,当接口板c接收到远端设备b3发送的关键帧Q时,接口板c开始向远端设备c2发送来自接口板b上的远端设备b3的3路组播流。
在本申请实施例中,通过服务器发送的切换指令,控制接口板切换输出数据流,满足远端设备的数据流切换需求,实现多样化的音视频数据交换处理,其中音视频交换主要在接口板上进行,服务器只做简单的命令指示,可以达到对CPU和GPU要求不高的效果。
图10为本申请实施例提供的一种数据流切换方法的流程图,参见图10,第二接口板在接收到第三远端设备发送的关键帧之后,通过第二输入输出通道输出来自第三远端设备的输入数据流,包括:
S1001、第二接口板通过第二输入输出通道向第三远端设备发送请求消息,请求信息用于请求第三远端设备发送关键帧。
可选的,接口板连接的远端设备有切换数据流的需要时,通过与接口板连接的输入输出通道发送切换需求,接口板接收到该远端设备的切换需求,并根据该切换需求识别出切换的数据流对应的远端设备的标识。其中,切换需求包括切换前的远端设备标识、目标切换远端设备标识以及切换的节点,切换需求用以指示从哪个数据流切换至哪个数据流进行输出,如从远端设备L的音频流切换到远端设备H的音频流等。值得说明的是,第二接口板指的是有切换需求的远端设备所在的接口板,第二输入输出通道是与有切换需求的远端设备对接的通道。
可选的,接口板上的处理器基于远端设备的切换需求识别出待切换的目标远端设备,接口板通过有切换需求的远端设备所在的通道向服务器发送请求信息,请求信息包括待切换的目标远端设备的标识以及数据类型,服务器根据接口板的请求信息识别出切换目标以及待切换的目标远端设备所在的目标接口板,服务器向目标接口板发送请求切换指令,目标接口板基于请求切换指令指示目标远端设备开始发送含有关键帧的数据流,目标接口板对该数据流封包并发送给背板,背板将该组播流发送至交换板,交换板又将该组播流发送给背板,背板将该组播流发送至有切换需求的远端设备所在的接口板上。
值得注意的是,接口板识别到关键帧之后才开始接收目标远端设备的数据流。
示例性的,若交换设备A中接口板c的第二输入输出通道对接的远端设备c2有切换数据流的需求,远端设备c2先接收1路音频组播流20s再接收3路音频组播流直至完结,远端设备c2基于切换数据流的需求向接口板c发送切换请求,接口板c2将该切换请求发送给服务器,服务器基于该切换请求向3路音频组播流的来源接口板b发送切换请求,接口板b基于切换请求指示远端设备b3输入带有关键帧的数据流。
S1002、第二接口板通过第二输入输出通道接收第三远端设备发送的关键帧,并通过第二输入输出通道输出来自第三远端设备的输入数据流。
可选的,第二接口板通过第二输入输出端口接收第三远端设备发送的关键帧,从关键帧开始识别第三远端设备的输入数据流,通过第二输入输出端口将第三远端设备的输入数据流发送给有切换需求的远端设备。
示例性的,若交换设备A中接口板c的第二输入输出通道对接的远端设备c2有切换数据流的需求,接口板c接收远端设备b3带有关键帧的数据流,当接口板c识别到数据流中的关键帧时,接口板c将该数据流从第二输入输出端口发送给远端设备c2。
可选的,当接口板的输入输出端口接收到待切换的远端设备的关键帧后,输入输出通道就停止接收切换前的远端设备的数据流,转而开始接收切换后的远端设备的数据流且从关键帧开始发送,此时接口板向切换前的远端设备发送一个停止发送数据流的指令,初始的远端设备停止发送数据流,进入待机模式。
在本申请实施例中,根据远端设备的切换需求,接口板向待切换的目标远端设备发送请求信息,目标远端设备基于请求信息向有切换需求所在的接口板发送带有关键帧的数据流,接口板识别数据流中的关键帧,并从关键帧开始传输目标远端设备的数据流完成数据流切换,可以实现音视频交换的多样化交换处理,且不需要借助高要求的CPU和GPU,可以达到对CPU和GPU要求不高的效果。
作为一种可选的实施方式,音视频信号交换除开音频交换、视频交换以及音视频同步交换外,还包括音频的混音交换等。如需要将音乐的伴奏与歌手的清唱音频混合发送至远端设备,实现混音效果。
图11为本申请实施例提供的一种混音处理方法的流程图,参见图11,音视频交换处理过程中混音功能的实现是依赖交换设备中的混音板进行的,混音处理方法如下:
将组播流发送给第二接口板,包括:
可选的,需要混音的远端设备与第二接口板对接,将混音后的组播流发送给第二接口板,其中,第二接口板可以是交换设备中的任意接口板,但第二接口板上必须对接有需要混音的远端设备。
S1101、若组播流的类型为音频,则第一接口板将组播流发送给混音板。
可选的,若需要混音的组播流类型都是音频,则接口板将需要混音的组播流都发送给混音板,其中,第一接口板指交换设备中包含需要进行混音处理的组播流对应的远端设备所在的接口板的集合,第一接口板可以是交换设备中的一块接口板也可以是多块接口板的集合。
值得注意的是,进行混音处理的数据流一般都是音频流,视频流只能进行切换或者其他操作。
示例性的,若交换设备A中接口板c的第五输入输出通道对接的远端设备c5有混音的需求,远端设备c5的混音需求是将1路音频组播流与3路音频组播流混合,假设1路音频组播流来自接口板a的第一输入输出通道对应的远端设备a1,3路音频组播流来自接口板b的第三输入输出通道对应的远端设备b3,根据远端设备c5的混音需求,接口板a将1路音频组播流发送给混音板F,接口板b将3路音频组播流发送给混音板F。
S1102、混音板对组播流进行混音处理,得到混音音频裸流,并对混音音频裸流进行封包,得到混音组播流。
可选的,混音板将接收的组播流进行混音处理,其中,混音板先将接收的音频组播流进行解封获得相应的音频裸流,根据音量检测算法和音频混音逻辑将这些音频裸流进行混合,得到混音音频裸流,混音板上的处理器基于音频流的数据类型对混音音频裸流进行封包获得混音组播流。值得说明的是,音频裸流指的是解码后的脉冲制的音频信号。
示例性的,混音板F接收到来自接口板a的1路音频组播流和接口板b的3路音频组播流,混音板F上的处理器基于音频流的数据类型对1路音频组播流和3路音频组播流进行解码获得1路音频裸流和3路音频裸流,根据音量检测算法和音频混音逻辑将1路音频裸流和3路音频裸流混合得到混音音频裸流n,混音板的处理器基于混音后的音频流的数据类型对混音音频裸流n进行封包得到混音组播流N。
S1103、混音板将混音组播流发送给第二接口板。
可选的,混音板将混音组播流发送给需要混音的远端设备所在的接口板。
S1104、第二接口板根据组播流的类型对组播流进行解封,得到输出数据流,包括:
第二接口板根据混音组播流类型对所述混音组播流进行解封,得到输出数据流。
可选的,接口板接收到混音组播流,根据混音组播流的数据类型对组播流进行解封获得输出数据流。
可选的,接口板的处理器根据输入输出通道对应的远端设备发送的混音需求识别到需要混音的远端设备的标识,接口板将解封后的混音组播流经该输入输出通道发送给有混音需求的远端设备,该远端设备接收输出数据流并显示。
示例性的,已知接口板c的第五输入输出通道对应的远端设备c5有混音需求,其混音需求是将来自接口板a的1路音频组播流和接口板b的3路音频组播流进行混合,混音板F根据c5的混音需求将1路音频组播流和3路音频组播流混合处理并得到混音组播流N,混音板F将混音组播流N发送给背板,背板将混音组播流N发送给交换板,交换板通过IP号交换,再将混音组播流N发送背板,背板将该混音组播流N发送给接口板c,接口板c的处理器对混音组播流进行解封获得混音音频裸流n,处理器根据远端设备c5的混音需求,将混音音频裸流n经编码后通过第五输入输出通道发送给远端设备c5。
在本申请实施例中,通过远端设备的混音需求,经过混音板将满足混音需求的音频组播流进行混合得到混音组播流,将混音组播流发送至有混音需求的远端设备所在的接口板上,接口板对混音组播流进行解码并基于远端设备的混音需求将解码后的混音组播流通过特定的输入输出通道发送给有混音需求的远端设备,远端设备接收混音数据流并显示混音效果,可以达到带宽小、对CPU和GPU要求不高的效果。
作为一种可选的实施方式,上述步骤S302中组播流具体可以为:
组播流包括:通道标识、数据类型、是否为关键帧、帧起始标志、帧结束标志、帧序列号、包序列号、时间戳、数据长度、媒体数据。
如表1所示,数据流封包后得到的组播流包含以下信息:
可选的,通道标识包括接口板的标识以及接口板上通道的标识,通道标识可以指示该输入数据流来自交换设备中哪个接口板的哪一个通道对应的哪个远端设备。
可选的,数据类型可以指示组播流对应的输入数据流是单独的音频流、单独的视频流还是同时包含音频流和视频流,根据数据类型可以指示是否需要进行时间戳同步处理,还可以指示组播流解封的方式。
可选的,是否为关键帧可以根据数据流的字段名、数据类型以及取值范围进行判断,关键帧可以用于指示组播流的切换,只有识别到关键帧时才可以进行组播流切换,实现视频流与音频流的无缝切换。
可选的,帧起始标志用于指示组播流开始接收的第一帧画面的标识,帧结束标志用于指示组播流传输结束接收的最后一帧画面的标识。
可选的,输入数据流经封包后得组播流,组播流的包头中包含帧序列号和包序列号,其中,帧序列号可以指示组播流传输过程中是否发生丢帧的情况,包序列号可以指示组播流传输过程中是否发生丢包的情况,帧序列号和包序列号结合可以指示接口板对组播流的处理方法。
可选的,时间戳是输入数据流中音频流和视频流中自带的原始时间戳,时间戳可以用于指示接口板对来自同一远端设备的数据流做时间戳同步处理,提高用户的视听体验感。
可选的,接口板的输入输出通道根据获取到的音频流和视频流对应的通道标识可以确定输入数据流中的音频流和视频流是否来自同一远端设备,当确定音频流和视频流来自同一远端设备时,需要对当前的音频流和视频流做时间戳同步处理。
可选的,数据长度用于指示输入数据流包含的数据长度,可以指示接口板上存储器存储的输入数据流的数据的长度。
可选的,媒体数据可以用于指示数据流传输对应的流媒体传输协议,指示接口板的通道采用何种流媒体传输协议与该输入数据流对应的远端设备进行对接。
在本申请实施例中,通过组播流包含的通道标识、数据类型、是否为关键帧、帧起始标志、帧结束标志、帧序列号、包序列号、时间戳、数据长度以及媒体数据,可以方便接口板实现各种需求的音视频交换功能,可以达到对CPU和GPU要求不高的效果。
下述对用以执行的本申请所提供音视频信号交换处理的接口板、交换设备及计算机可读存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
本申请实施例提供一种接口板,该接口板包括:存储器、处理器以及多个输入输出通道,各输入输出通道分别用于连接一个远端设备,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述任一音视频信号交换处理方法实施例。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述任一音视频信号交换处理方法实施例。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种音视频信号交换处理方法,其特征在于,应用于交换设备,包括:多个接口板,各接口板分别包括多个输入输出通道,各输入输出通道分别用于连接一个远端设备;
第一接口板通过连接第一远端设备的第一输入输出通道接收来自所述第一远端设备的输入数据流,所述输入数据流包括:音频流或视频流;
所述第一接口板根据所述数据的类型对所述数据流进行封包,得到组播流,并将所述组播流发送给第二接口板;
所述第二接口板根据所述组播流的类型对所述组播流进行解封,得到输出数据流,并通过连接第二远端设备的第二输入输出通道将所述输出数据流发送至所述第二远端设备。
2.根据权利要求1所述的音视频信号交换处理方法,其特征在于,所述通过连接第二远端设备的第二输入输出通道将所述输出数据流发送至所述第二远端设备,包括:
若所述第二接口板接收到与所述输出数据流的数据源相同且类型不同的待同步数据流,则对所述输出数据流以及所述待同步数据流进行时间戳同步处理,并通过所述第二输入输出通道将处理后的输出数据流以及待同步数据流至所述第二远端设备。
3.根据权利要求2所述的音视频信号交换处理方法,其特征在于,所述对所述输出数据流以及所述待同步数据流进行时间戳同步处理,包括:
将初始时刻音频流或视频流对应的时间戳分别记为系统音频时间戳和系统视频时间戳;
接收音频组播流或视频组播流,将第一帧音频组播流对应的时间戳记为原始音频时间戳,第一帧视频组播流对应的时间戳记为原始视频时间戳;
每接收一帧音频组播流或视频组播流,确定一个新的音频时间戳和视频时间戳,其中,上一帧的新的音频时间戳或新的视频时间戳作为下一帧的所述原始音频时间戳或所述原始视频时间戳;
根据所述系统音频时间戳、所述原始音频时间戳以及所述新的音频时间戳确定输出音频流对应的时间戳,根据所述系统视频时间戳、所述原始视频时间戳以及所述新的视频时间戳确定输出视频流对应的时间戳。
4.根据权利要求1所述的音视频信号交换处理方法,其特征在于,还包括:
若所述第二接口板在通过所述第二输入输出通道输出来自所述第一远端设备的输入数据流时,接收到服务器发送的切换指令,所述切换指令中包括:所述第二输入输出通道待切换到的第三远端设备的标识,则所述第二接口板在接收到所述第三远端设备发送的关键帧之后,通过所述第二输入输出通道输出来自所述第三远端设备的输入数据流。
5.根据权利要求4所述的音视频信号交换处理方法,其特征在于,所述第二接口板在接收到所述第三远端设备发送的关键帧之后,通过所述第二输入输出通道输出来自所述第三远端设备的输入数据流,包括:
所述第二接口板通过所述第二输入输出通道向所述第三远端设备发送请求消息,所述请求信息用于请求所述第三远端设备发送关键帧;
所述第二接口板通过所述第二输入输出通道接收所述第三远端设备发送的所述关键帧,并通过所述第二输入输出通道输出来自所述第三远端设备的输入数据流。
6.根据权利要求1-5任一项所述的音视频信号交换处理方法,其特征在于,所述交换设备中还包括:混音板;
所述将所述组播流发送给第二接口板,包括:
若所述组播流的类型为音频,则所述第一接口板将所述组播流发送给所述混音板;
所述混音板对所述组播流进行混音处理,得到混音音频裸流,并对所述混音音频裸流进行封包,得到混音组播流;
所述混音板将所述混音组播流发送给所述第二接口板;
所述第二接口板根据所述组播流的类型对所述组播流进行解封,得到输出数据流,包括:
所述第二接口板根据所述混音组播流类型对所述混音组播流进行解封,得到所述输出数据流。
7.根据权利要求1-5任一项所述的音视频信号交换处理方法,其特征在于,所述组播流包括:通道标识、数据类型、是否为关键帧、帧起始标志、帧结束标志、帧序列号、包序列号、时间戳、数据长度、媒体数据。
8.一种接口板,其特征在于,包括:存储器、处理器以及多个输入输出通道,各输入输出通道分别用于连接一个远端设备,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述权利要求1至7任一项所述的方法的步骤。
9.一种交换设备,其特征在于,包括:多个权利要求8所述的接口板、交换板、背板以及混音板。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现权利要求1至7中任一项所述方法的步骤。
CN202310822553.4A 2023-07-05 2023-07-05 音视频信号交换处理方法、接口板及交换设备 Pending CN116866287A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310822553.4A CN116866287A (zh) 2023-07-05 2023-07-05 音视频信号交换处理方法、接口板及交换设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310822553.4A CN116866287A (zh) 2023-07-05 2023-07-05 音视频信号交换处理方法、接口板及交换设备

Publications (1)

Publication Number Publication Date
CN116866287A true CN116866287A (zh) 2023-10-10

Family

ID=88222888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310822553.4A Pending CN116866287A (zh) 2023-07-05 2023-07-05 音视频信号交换处理方法、接口板及交换设备

Country Status (1)

Country Link
CN (1) CN116866287A (zh)

Similar Documents

Publication Publication Date Title
EP1424827B1 (en) Method and system for disaggregating audio/visual components
CN101257607B (zh) 一种应用于视频会议的多画面处理系统和方法
US20110261151A1 (en) Video and audio processing method, multipoint control unit and videoconference system
US9497390B2 (en) Video processing method, apparatus, and system
CN111107299A (zh) 一种多路视频合成的方法及装置
CN112584087B (zh) 视频会议录制方法、电子装置和存储介质
JP2009284282A (ja) コンテンツサーバ、情報処理装置、ネットワーク機器、コンテンツ配信方法、情報処理方法およびコンテンツ配信システム
CN102655584A (zh) 一种远程呈现技术中媒体数据发送和播放的方法及系统
JP6649673B2 (ja) WiFiディスプレイ互換ネットワークゲートウェイ
WO2014079239A1 (zh) 实时视频通讯回放数据流的获取方法、装置及系统
CN104301657B (zh) 一种会议电视终端及其辅流数据接入方法
WO2012068940A1 (zh) 通过ip网络监控终端的方法及mcu
JP2014517648A (ja) リアルタイムメディアストリームを切り替える装置および方法
Tang et al. Audio and video mixing method to enhance WebRTC
CN112866725A (zh) 一种直播控制方法及装置
CN110769179B (zh) 一种音视频数据流的处理方法和系统
JP2018201159A (ja) 映像処理方法、映像処理システム及び映像送信装置
CN101489090B (zh) 多路媒体流传输和接收的方法、装置及系统
JP2002149316A (ja) データ送信装置、データ受信装置、およびデータ送信方法、並びにプログラム記憶媒体
JP2023502844A (ja) 複数メンバーでのインスタントメッセージング方法、システム、装置及び電子機器、並びにコンピュータプログラム
CN116866287A (zh) 音视频信号交换处理方法、接口板及交换设备
CN101141615B (zh) 会议电视终端支持双流的外置实现方法
WO2018155910A1 (ko) 중계 방송을 지원하기 위한 방법, 디바이스 및 비일시성의 컴퓨터 판독 가능한 기록 매체
CN115134628B (zh) 流媒体传输方法、装置、终端设备及存储介质
JPH10285568A (ja) 会議通信システム

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