CN105898366A - 直播音频切换方法及流媒体服务器 - Google Patents
直播音频切换方法及流媒体服务器 Download PDFInfo
- Publication number
- CN105898366A CN105898366A CN201510883081.9A CN201510883081A CN105898366A CN 105898366 A CN105898366 A CN 105898366A CN 201510883081 A CN201510883081 A CN 201510883081A CN 105898366 A CN105898366 A CN 105898366A
- Authority
- CN
- China
- Prior art keywords
- live
- stream
- pid
- section
- live audio
- 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
Links
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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/233—Processing of audio elementary streams
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- 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/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例提供一种直播音频切换方法及流媒体服务器,包括:将实时接收的直播视频流和直播音频流分别进行编码并分割为TS切片,为每个TS切片添加头文件,且在所述头文件中配置所述TS切片的PID;将所述TS切片插入与其具有相同PID的TS数据包中,并将所述TS数据包混编生成一路TS媒体流;建立一节目映射表,将所述直播音频流的描述信息编码与所述直播音频流对应的TS切片的PID的对应关系加入到所述节目映射表中;将所述节目映射表及所述TS媒体流发送至客户端。通过流媒体服务器对直播视频流和直播音频流进行切片及混编操作,可将多路直播音频流加入到一路TS媒体流中,无需对客户端进行改进即可实现直播音频的切换。
Description
技术领域
本发明实施例涉及音视频技术领域,尤其涉及一种直播音频切换方法及流媒体服务器。
背景技术
网络直播中,节目提供方将事先配置好的直播音频信号或者直播音视频信号通过网络上传至服务器,并发布至网址供用户观看。现有网络直播节目中的直播音频和直播视频都是固定配置的而且是单一的,如果用户想找到自己喜爱的直播音频,则需要在不同网络直播节目提供方之间切换选择。
而如果用户通过切换选择后确定观看某一网络直播节目,则只能被动地接收该网络直播节目中配置的单一的直播音频,导致用户无法在网络直播节目中自主地选择喜欢的直播音频。
发明内容
本发明实施例提供一种直播音频切换方法及流媒体服务器,用以解决现有技术中用户无法在同一直播节目中自主选择直播音频的问题。
本发明实施例提供一种直播音频切换方法,包括:
将实时接收的直播视频流和直播音频流分别进行编码并分割为TS切片,为每个TS切片添加头文件,且在所述头文件中配置所述TS切片的PID,其中,对应于同一路直播音频流的TS切片具有相同的PID,对应于同一路直播视频流的TS切片具有相同的PID,对应于不同路直播音频流或直播视频流的TS切片的PID各不相同;
将所述TS切片插入与其具有相同PID的TS数据包中,并将所述TS数据包混编生成一路TS媒体流;
建立一节目映射表,将所述直播音频流的描述信息编码与所述直播音频流对应的TS切片的PID的对应关系加入到所述节目映射表中;
将所述节目映射表及所述TS媒体流发送至客户端。
本发明实施例提供一种流媒体服务器,包括:
数据获取模块,用于实时接收直播视频流和多路直播音频流;
TS切片处理模块,用于将所述直播视频流和直播音频流分别进行编码并分割为TS切片,为每个TS切片添加头文件,且在所述头文件中配置所述TS切片的PID,其中,对应于同一路直播音频流的TS切片具有相同的PID,对应于同一路直播视频流的TS切片具有相同的PID,对应于不同路直播音频流或直播视频流的TS切片的PID各不相同;
数据混编模块,用于将所述TS切片插入与其具有相同PID的TS数据包中,并将所述TS数据包混编生成一路TS媒体流;
索引模块,用于建立一节目映射表,将所述直播音频流的描述信息编码与所述直播音频流对应的TS切片的PID的对应关系加入到所述节目映射表中;
数据发送模块,用于将所述节目映射表及所述TS媒体流发送至客户端。
本发明实施例提供的直播音频切换方法及流媒体服务器,对流媒体服务器接收到的直播视频流和直播音频流进行切片及混编操作,实现了将多路直播音频流加入到一路TS媒体流中,无需对客户端进行改进即可实现直播音频的切换。直播时,只需将一路TS媒体流发送至客户端,客户端即可按照节目映射表中的直播音频流的描述信息编码与所述直播音频流对应的TS切片的PID的对应关系,通过选择直播音频流的描述信息来实现切换至播放TS媒体流中相对应的TS切片,从而实现在一网络直播中进行直播音频的切换,满足了用户的多元化需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明直播音频切换方法流程图;
图2为本发明直播音频切换方法实施例流程图;
图3为本发明流媒体服务器结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种直播音频切换方法及流媒体服务器,可应用于网络直播场景中,人们在观看网络直播节目时,尤其是体育赛事,所有的观众都只能在屏幕前共享同一个主播,然而,不同性别,不同年龄,不同地域的观众喜好各不相同,不同的观众对同一直播节目都有各自的立场,观众自然喜欢听到和自己立场一致的主播的解说。如果根据现有的解决方案,只能在不同网络直播提供方之间进行切换选择,不仅浪费时间和流量,且在切换缓冲过程中有可能错过精彩的比赛瞬间。本发明实施例提供直播音频切换方法及流媒体服务器,就是要解决同一直播节目中用户无法自主选择直播音频的问题,通过网络分布式的方式采集直播视频流和多路直播音频流,每个主播对应一路直播音频流,流媒体服务器接收采集的直播视频流和直播音频流并进行混编生成一路直播媒体流,这样一路直播媒体流中就包含了直播视频和与直播视频对应的多个主播的直播音频。直播媒体流将直接发送到客户端,用户可根据自己的喜好在客户端中选择喜欢的主播,客户端即可通过节目映射表提取出该主播对应的音频数据并进行播放。这样,用户即可在同一直播节目中自主地进行直播音频的选择,且可实现直播音频的切换,用户体验大大提高。
需要说明的是,本发明实施例提供的直播音频切换方法及流媒体服务器还可应用于其它场景,在此不作限定。
为使本发明的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本发明进行进一步的详细说明。
如图1所示,本发明实施例提供一种直播音频切换方法,包括:
S101,将实时接收的直播视频流和直播音频流分别进行编码并分割为TS切片,为每个TS切片添加头文件,且在所述头文件中配置所述TS切片的PID,其中,对应于同一路直播音频流的TS切片具有相同的PID,对应于同一路直播视频流的TS切片具有相同的PID,对应于不同路直播音频流或直播视频流的TS切片的PID各不相同;
S102,将所述TS切片插入与其具有相同PID的TS数据包中,并将所述TS数据包混编生成一路TS媒体流;
S103,建立一节目映射表,将所述直播音频流的描述信息编码与所述直播音频流对应的TS切片的PID的对应关系加入到所述节目映射表中;
S104,将所述节目映射表及所述TS媒体流发送至客户端。
对流媒体服务器接收到的直播音频流和直播视频流的处理过程如步骤S101所述。音频采集终端和视频采集终端传送的音频流和视频流都是不分段的连续码流,为了实现多路连续码流的混编,步骤S101将直播音频流和直播视频流进行切片处理,以获得多个小的TS切片,步骤S102将多个TS切片打包复合形成一路TS媒体流,生成的TS媒体流将通过CDN网络并基于HTTP Live Streaming(HLS)流媒体传输协议发送至客户端。为了保证客户端可从TS媒体流中提取单路直播音频流相关的TS切片进行播放,步骤S101还为每个TS切片添加了头文件,所述头文件中包含数据类型(音频、视频或其他)以及PID(TS数据包的ID)等信息,TS切片头文件中的PID与其将插入到的TS数据包的PID一致;而且,为了区分各路直播音频流或直播视频流相关的TS切片,步骤S101还将对应于同一路直播音频流的TS切片分配相同的PID,对应于同一路直播视频流的TS切片分配相同的PID,对应于不同路直播音频流或直播视频流的TS切片的PID各不相同。TS媒体流是由TS数据包构成,步骤S102中直播视频流和直播音频流相关的TS切片依据PID按规则被插入到相应的TS数据包中,实现多路码流的混编。
依据上述步骤S101和S102对直播视频流和直播音频流的处理,可获得一路TS媒体流,为了保证客户端在播放所述TS媒体流过程中可实现直播音频的自由切换,步骤S103中建立了一节目映射表,所述节目映射表将在步骤S104中与所述TS媒体流一同发送至客户端,客户端通过解析读取所述节目映射表,可根据用户在客户端中执行的切换操作,从节目映射表中查找到相应的TS切片的PID,之后直接从对应的TS数据包中提取出TS切片进行切换播放即可。
本实施例中,在流媒体服务器向客户端进行直播文件发送之前即完成了直播视频和多路直播音频的混编,且通过节目映射表以及TS切片的PID等处理,为客户端执行音频切换准备好了数据基础以及切换逻辑基础,使用现有的客户端即可实现同一直播节目中多路直播音频的自由切换。
参考图2,以下再以一实施例对实时接收直播音频流的方案进行详细说明。
体育赛事等网络直播节目对节目的实时性要求比较高,但由于各个音频采集终端分布在不同位置,这有可能导致各路直播音频流的传送至流媒体服务器的网络延时各不相同,上述步骤S101~104获得的TS媒体流发送到客户端后,用户在进行直播音频切换时有可能会出现音视频不同步的问题。
为实现直播音频的同步切换,本实施例中,步骤S101之前,还包括:
S1011,建立VPN,通过VPN通道连接多个音频采集终端;
S1012,根据RTP/RTCP实时获取各音频采集终端采集的直播音频流。
VPN(Virtual Private Network,虚拟专用网络),虚拟专用网络的功能是:在公用网络上建立专用网络,进行加密通讯。步骤S1011中,音频采集终端和视频采集终端可根据不同主播的需要而架设在不同的位置,采集到的直播音频流和直播视频流将发送到流媒体服务器中进行处理。音频采集终端可通过客户端等方式加入到流媒体服务器的VPN中,步骤S1012中各音频采集终端与流媒体服务器建立RTP/RTCP的媒体传输及控制通路,两者建立连接的方式多种多样,可以通过RTSP或者是VOIP的方式,建立连接后,直播音频流可以通过RTP传输到流媒体服务器,并通过RTCP控制RTP的传输过程,如流控制和拥塞控制,RTP和RTCP配合使用,能以有效的反馈和最小的开销使传输效率最佳化,故特别适合传送网上的实时数据。
其中,RTP(RealTime Transport Protocol,实时传播协议)是实时传播最有效的方式,RTP以UDP作为传输通道,但是存在两个问题:a、无法穿越防火墙和NAT;b、RTP是非可靠协议,有时会丢包。本发明实施例中,通过VPN有效地解决了RTP无法穿越防火墙的问题;通过RTCP对RTP的传输过程进行控制,有效地解决了RTP传输丢包的问题。
本实施例中,为了保证流媒体服务器的VPN安全快捷地连接各个音频采集终端中,优选地,步骤S1011包括:
在直播开始前,根据已知的音频采集端的网络地址主动将所述音频采集端加入所述VPN中;以及
在直播过程中,实时监听所述音频采集端发起的网络连接请求,并在监听到所述音频采集端的网络连接请求时,在安全验证后将所述音频采集端实时加入到VPN中。
对于固定主播,可为其音频采集终端分配固定的网络地址,在预定时间或场景下,流媒体服务器可主动将音频采集终端加入到VPN中。而对于非固定主播,本实施例也可实现音频采集终端实时动态加入VPN,根据音频采集终端自主发起的请求,流媒体服务器可对其进行安全验证并在确认身份后允许其加入VPN。另外,由于音频文件的数据量比较小,对于网络的要求不太高,可以通过赛场专有的无线网络连接至流媒体服务器,这样主播可在赛场的任意角落,如各大阵营的球迷区,采集本阵营球迷的环境声音并配合带有立场的解说,以得到不同用户的关注。
以下再以一实施例对步骤S103作出详细说明。
TS媒体流由TS数据包构成,每个TS数据包都由Packet Header(包头)和Packet Data(包数据)组成,其中Packet Header指示了该TS数据包的属性,并给出了该Packet Data的数据的唯一网络标识符PID。步骤S103中的节目映射表指向的正是Packet Header中的PID,而节目映射表作为一种索引文件数据也可被插入到TS数据包中。本实施例中,步骤S103将节目映射表插入到专用的TS数据包中,并将所述专用TS数据包的Packet Header中的PID配置为固定公开值,例如将所述专用TS数据包的PID配置为0x0000,同时,为了实现TS数据包的专用,所述专用TS数据包中的空白字节通过adaptation域填充。客户端在收到TS媒体流后,可根据所述固定公开的PID找到节目映射表所在的TS数据包并读取所述节目映射表。
本实施例中,节目映射表被插入到TS媒体流中的专用TS数据包中,无需再单独发送,实现了数据的整合,避免因网络延时致使节目映射表发送至客户端的时间晚于TS媒体流而造成客户端的等待,而且可避免节目映射表的数据丢失。
客户端中对直播音频进行切换的依据为直播音频流的描述信息,所述描述信息包括主播头像、风格介绍、所属立场、受欢迎程度、所属音轨等等,优选地,可在实时接收直播音频流时,根据直播音频流相关的网络地址等等信息确定其所对应的主播,并生成描述信息文件,发送至客户端进行展示,同时,还为每个描述信息文件配置唯一的描述信息编码,该编码与节目映射表中的各路直播音频流的描述信息编码相对应。当然,本发明中,还可直接从各个音频采集终端中获取上述直播音频流的描述信息及描述信息编码,本发明对此并不做限定。
为了充分利用现有客户端的功能,提高用户操作的便捷性,本发明的另一个实施例中,步骤S103还可将所述直播音频流的描述信息编码与所述客户端的音轨的对应关系加入到所述节目映射表中。
客户端在切换音轨时,可根据节目映射表中的音轨与直播音频流的描述信息编码之间的对应关系查找到对应的描述信息编码,之后再根据节目映射表中描述信息编码与直播音频流对应的TS切片的PID的对应关系,提取TS切片进行切换播放。
本发明的另一个实施例中提出了可在切换直播音频的同时切换多路直播视频流的技术方案。具体说明如下。
用户总是希望能从直播中看到更多感兴趣的场面细节或者关注自己喜欢的人物活动,例如体育比赛中,不同的用户所喜欢的球员不同,在赛点时,用户更希望拍摄视角能够对准自己喜欢的球员以观察其表现。
基于步骤S101~103,如果步骤S101中接收到的直播视频流为多路,则在步骤S103中将所述直播视频流的TS切片的PID与所述直播音频流的TS切片的PID的绑定播放关系配置到所述节目映射表中。
每个主播都向流媒体服务器发送直播音频流,同时,也可向流媒体服务器发送直播视频流,这样,每个主播都可根据自己的立场从自己关注的视角拍摄现场视频、解说比赛过程。本实施例中,将每个主播提供的直播视频流和直播音频流进行绑定,并将绑定播放关系配置到节目映射表中,当客户端读取所述节目映射表时,可在查找到直播音频流的同时,获取到与该直播音频流具有绑定播放关系的直播视频流的信息。
为了避免本实施例中用户进行音频切换时发生同步切换至具有绑定播放关系的直播视频中而忽略用户的自主期望。
优选地,在节目映射表中,将所述节目映射表中的所述直播音频流的描述信息编码与所述直播音频流对应的TS切片的PID的对应关系的优先级设置为高于所述直播视频流的TS切片的PID与所述直播音频流的TS切片的PID的绑定播放关系的优先级,且在所述客户端切换至所述直播音频时向客户端发起是否切换至与所述直播音频具有绑定关系的直播视频的询问信息。
这样,根据用户的切换操作,仅会进行直播音频的切换,而对于是否进行直播视频的切换,则会给用户提供自主选择的权利,充分考虑用户的使用感受。
以下以网络直播中包含一路直播音频流及2路直播音频流为例进行实施例的详细说明。
分布在不同位置的两音频采集终端可分别将其直播音频流通过VPN并依据RTP/RTCP传送至流媒体服务器,此处以直播视频流由官方传送为例进行说明,当然直播视频流还可由视频采集终端获取。流媒体服务器将1路直播视频流与2路直播音频流分别进行切片并获得TS切片,并将直播视频流对应的TS切片插入PID为10的TS数据包中,将2路直播音频流对应的TS切片分别插入PID为20和30的TS数据包中,并将直播视频流的描述信息编码配置为01,2路直播音频流的描述信息编码分别配置为02和03,节目映射表中,描述信息编码与PID的对应关系01-10、02-20、03-30将被记录。节目映射表中可包含以下信息:
Stream_type 0x0f//其中0f代表音频
Elementary_PID 10//该路音频数据存放在PID为10的TS包中
Stream_type 0x0f
Elementary_PID 20//该路音频数据存放在PID为20的TS包中
Stream_type 0x1b//其中1b代表视频
Elementary_PID 30////该路视频频数据存放在PID为30的TS包中
当用户根据客户端中显示的描述信息进行主播切换时,客户端可根据选择的描述信息的编码从节目映射表中查找到对应的TS切片的PID,进而从TS媒体流中对应的TS数据包中提取对应的TS切片进行切换播放。
参考图3,本发明实施例还提供一种流媒体服务器,包括:
数据获取模块11,用于实时接收直播视频流和多路直播音频流;
TS切片处理模块12,用于将所述直播视频流和直播音频流分别进行编码并分割为TS切片,为每个TS切片添加头文件,且在所述头文件中配置所述TS切片的PID,其中,对应于同一路直播音频流的TS切片具有相同的PID,对应于同一路直播视频流的TS切片具有相同的PID,对应于不同路直播音频流或直播视频流的TS切片的PID各不相同;
数据混编模块13,用于将所述TS切片插入与其具有相同PID的TS数据包中,并将所述TS数据包混编生成一路TS媒体流;
索引模块14,用于建立一节目映射表,将所述直播音频流的描述信息编码与所述直播音频流对应的TS切片的PID的对应关系加入到所述节目映射表中;
数据发送模块15,用于将所述节目映射表及所述TS媒体流发送至客户端。
其中,数据获取模块11中,直播视频流和直播音频流可采用网络分布式的方式进行采集,音频采集终端和视频采集终端可根据不同主播的需要而架设在不同的位置,采集到的直播音频流和直播视频流将发送到流媒体服务器中进行处理。
对流媒体服务器接收到的直播音频流和直播视频流的处理过程由TS切片处理模块12完成。音频采集终端和视频采集终端传送的音频流和视频流都是不分段的连续码流,为了实现多路连续码流的混编,TS切片处理模块12将直播音频流和直播视频流进行切片处理,以获得多个小的TS切片,数据混编模块13将多个TS切片打包复合形成一路TS媒体流,生成的TS媒体流由数据发送模块15通过CDN网络并基于HTTP Live Streaming(HLS)流媒体传输协议发送至客户端。为了保证客户端可从TS媒体流中提取单路直播音频流相关的TS切片进行播放,TS切片处理模块12还为每个TS切片添加了头文件,所述头文件中包含数据类型(音频、视频或其他)以及PID(TS数据包的ID)等信息,TS切片头文件中的PID与其将插入到的TS数据包的PID一致,而且,为了区分各路直播音频流或直播视频流相关的TS切片,TS切片处理模块12还将对应于同一路直播音频流的TS切片分配相同的PID,对应于同一路直播视频流的TS切片分配相同的PID,对应于不同路直播音频流或直播视频流的TS切片的PID各不相同。TS媒体流是由TS数据包构成,数据混编模块13中直播视频流和直播音频流相关的TS切片依据PID按规则被插入到相应的TS数据包中,实现多路码流的混编。
依据上述TS切片处理模块12和数据混编模块13对直播视频流和直播音频流的处理,可获得一路TS媒体流,为了保证客户端在播放所述TS媒体流过程中可实现直播音频的自由切换,索引模块14中建立了一节目映射表,所述节目映射表将在数据发送模块15中与所述TS媒体流一同发送至客户端,客户端通过解析读取所述节目映射表,可根据用户在客户端中执行的切换操作,从节目映射表中查找到相应的TS切片的PID,之后直接从对应的TS数据包中提取出TS切片进行切换播放即可。
本实施例中,在流媒体服务器向客户端进行直播文件发送之前即完成了直播视频和多路直播音频的混编,且通过节目映射表以及TS切片的PID等处理,为客户端执行音频切换准备好了数据基础以及切换逻辑基础,使用现有的客户端即可实现同一直播节目中多路直播音频的自由切换。
以下再以一实施例对数据获取模块11进行详细说明。
体育赛事等网络直播节目对节目的实时性要求比较高,但由于各个音频采集终端分布在不同位置,这有可能导致各路直播音频流的传送至流媒体服务器的网络延时各不相同,因此,TS媒体流发送到客户端后,用户在进行直播音频切换时有可能会出现音视频不同步的问题。
为实现直播音频的同步切换,本实施例中,数据获取模块11,进一步用于:
建立VPN,通过VPN通道连接多个音频采集终端;
根据RTP/RTCP实时获取各音频采集终端采集的直播音频流。
数据获取模块11中,音频采集终端可通过客户端等方式加入到流媒体服务器的VPN中,各音频采集终端与流媒体服务器建立RTP/RTCP的媒体传输及控制通路,两者建立连接的方式多种多样,可以通过RTSP或者是VOIP的方式,建立连接后,直播音频流可以通过RTP传输到流媒体服务器,并通过RTCP控制RTP的传输过程,如流控制和拥塞控制,RTP和RTCP配合使用,能以有效的反馈和最小的开销使传输效率最佳化,故特别适合传送网上的实时数据。
其中,RTP(RealTime Transport Protocol,实时传播协议)是实时传播最有效的方式,RTP以UDP作为传输通道,但是存在两个问题:a、无法穿越防火墙和NAT;b、RTP是非可靠协议,有时会丢包。本发明实施例中,通过VPN有效地解决了RTP无法穿越防火墙的问题;通过RTCP对RTP的传输过程进行控制,有效地解决了RTP传输丢包的问题。
本实施例中,为了保证流媒体服务器的VPN安全快捷地连接各个音频采集终端中,优选地,数据获取模块11还用于:
在直播开始前,根据已知的音频采集端的网络地址主动将所述音频采集端加入所述VPN中;以及
在直播过程中,实时监听所述音频采集端发起的网络连接请求,并在监听到所述音频采集端的网络连接请求时,在安全验证后将所述音频采集端实时加入到VPN中。
对于固定主播,可为其音频采集终端分配固定的网络地址,在预定时间或场景下,流媒体服务器可主动将音频采集终端加入到VPN中。而对于非固定主播,本实施例也可实现音频采集终端实时动态加入VPN,根据音频采集终端自主发起的请求,流媒体服务器可对其进行安全验证并在确认身份后允许其加入VPN。
以下再以一实施例对索引模块14作出详细说明。
索引模块14中的节目映射表指向的是TS数据包的Packet Header中的PID,而节目映射表作为一种索引文件数据也可被插入到TS数据包中。本实施例中,索引模块14将节目映射表插入到专用的TS数据包中,并将所述专用TS数据包的Packet Header中的PID配置为固定公开值,例如将所述专用TS数据包的PID配置为0x0000,同时,为了实现TS数据包的专用,所述专用TS数据包中的空白字节通过adaptation域填充。客户端在收到TS媒体流后,可根据所述固定公开的PID找到节目映射表所在的TS数据包并读取所述节目映射表。
本实施例中,节目映射表被插入到TS媒体流中的专用TS数据包中,无需再单独发送,实现了数据的整合,避免因网络延时致使节目映射表发送至客户端的时间晚于TS媒体流而造成客户端的等待,而且可避免节目映射表的数据丢失。
客户端中对直播音频进行切换的依据为直播音频流的描述信息,所述描述信息包括主播头像、风格介绍、所属立场、受欢迎程度、所属音轨等等,优选地,可在数据获取模块11获取直播音频流时,根据直播音频流相关的网络地址等等信息确定其所对应的主播,并生成描述信息文件,发送至客户端进行展示,同时,数据获取模块11还为每个描述信息文件配置唯一的描述信息编码,该编码与节目映射表中的各路直播音频流的描述信息编码相对应。当然,本发明中,还可直接从各个音频采集终端中获取上述直播音频流的描述信息及描述信息编码,本发明对此并不做限定。
为了充分利用现有客户端的功能,提高用户操作的便捷性,本发明的另一个实施例中,索引模块14还可将所述直播音频流的描述信息编码与所述客户端的音轨的对应关系加入到所述节目映射表中。
客户端在切换音轨时,可根据节目映射表中的音轨与直播音频流的描述信息编码之间的对应关系查找到对应的描述信息编码,之后再根据节目映射表中描述信息编码与直播音频流对应的TS切片的PID的对应关系,提取TS切片进行切换播放。
本发明的另一个实施例中提出了可切换多路直播视频流的方案。具体说明如下。
用户总是希望能从直播中看到更多感兴趣的场面细节或者关注自己喜欢的人物活动,例如体育比赛中,不同的用户所喜欢的球员不同,在赛点时,用户更希望拍摄视角能够对准自己喜欢的球员以观察其表现。
如果数据获取模块11中接收到的直播视频流为多路,则在索引模块14中将所述直播视频流的TS切片的PID与所述直播音频流的TS切片的PID的绑定播放关系配置到所述节目映射表中。
每个主播都向流媒体服务器发送直播音频流,同时,也可向流媒体服务器发送直播视频流,这样,每个主播都可根据自己的立场从自己关注的视角拍摄现场视频、解说比赛过程。本实施例中,将每个主播提供的直播视频流和直播音频流进行绑定,并将绑定播放关系配置到节目映射表中,当客户端读取所述节目映射表时,可在查找到直播音频流的同时,获取到与该直播音频流具有绑定播放关系的直播视频流的信息。
为了避免本实施例中用户进行音频切换时发生同步切换至具有绑定播放关系的直播视频中而忽略用户的自主期望。
优选地,在节目映射表中,将所述节目映射表中的所述直播音频流的描述信息编码与所述直播音频流对应的TS切片的PID的对应关系的优先级设置为高于所述直播视频流的TS切片的PID与所述直播音频流的TS切片的PID的绑定播放关系的优先级,且在所述客户端切换至所述直播音频时向客户端发起是否切换至与所述直播音频具有绑定关系的直播视频的询问信息。
这样,根据用户的切换操作,仅会进行直播音频的切换,而对于是否进行直播视频的切换,则会给用户提供自主选择的权利,充分考虑用户的使用感受。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (16)
1.一种直播音频切换方法,其特征在于,包括:
将实时接收的直播视频流和直播音频流分别进行编码并分割为TS切片,为每个TS切片添加头文件,且在所述头文件中配置所述TS切片的PID,其中,对应于同一路直播音频流的TS切片具有相同的PID,对应于同一路直播视频流的TS切片具有相同的PID,对应于不同路直播音频流或直播视频流的TS切片的PID各不相同;
将所述TS切片插入与其具有相同PID的TS数据包中,并将所述TS数据包混编生成一路TS媒体流;
建立一节目映射表,将所述直播音频流的描述信息编码与所述直播音频流对应的TS切片的PID的对应关系加入到所述节目映射表中;
将所述节目映射表及所述TS媒体流发送至客户端。
2.根据权利要求1所述的方法,其特征在于,还包括:
建立VPN,通过VPN通道连接多个音频采集终端;
根据RTP/RTCP实时获取各音频采集终端采集的直播音频流。
3.根据权利要求2所述的方法,其特征在于,所述通过VPN通道连接多个音频采集终端,进一步包括:
在直播开始前,根据已知的音频采集端的网络地址主动将所述音频采集端加入所述VPN中;以及
在直播过程中,实时监听所述音频采集端发起的网络连接请求,并在监听到所述音频采集端的网络连接请求时,在安全验证后将所述音频采集端实时加入到VPN中。
4.根据权利要求1所述的方法,其特征在于,还包括:
为所述每路直播音频流生成对应的描述信息文件,并为每个描述信息文件配置唯一的描述信息编码;
其中,所述描述信息文件中包含主播头像、风格介绍、所属立场、受欢迎程度、所属音轨中的一个或多个。
5.根据权利要求1所述的方法,其特征在于,所述建立一节目映射表,进一步包括:
将所述节目映射表的数据插入到专用TS数据包中,且将所述专用TS数据包的PID配置为固定公开值;其中,所述专用TS数据包中的空白字节通过adaptation域填充。
6.根据权利要求1所述的方法,其特征在于,所述建立一节目映射表,进一步包括:
将所述直播音频流的描述信息编码与所述客户端的音轨的对应关系加入到所述节目映射表中。
7.根据权利要求1所述的方法,其特征在于,所述建立一节目映射表,进一步包括:
当所述接收到直播视频流为多路时,将所述直播视频流的TS切片的PID与所述直播音频流的TS切片的PID的绑定播放关系配置到所述节目映射表中。
8.根据权利要求7所述的方法,其特征在于,所述建立一节目映射表,进一步包括:
将所述节目映射表中的所述直播音频流的描述信息编码与所述直播音频流对应的TS切片的PID的对应关系的优先级设置为高于所述直播视频流的TS切片的PID与所述直播音频流的TS切片的PID的绑定播放关系的优先级,且在所述客户端切换至所述直播音频时向客户端发起是否切换至与所述直播音频具有绑定关系的直播视频的询问信息。
9.一种流媒体服务器,其特征在于,包括:
数据获取模块,用于实时接收直播视频流和多路直播音频流;
TS切片处理模块,用于将所述直播视频流和直播音频流分别进行编码并分割为TS切片,为每个TS切片添加头文件,且在所述头文件中配置所述TS切片的PID,其中,对应于同一路直播音频流的TS切片具有相同的PID,对应于同一路直播视频流的TS切片具有相同的PID,对应于不同路直播音频流或直播视频流的TS切片的PID各不相同;
数据混编模块,用于将所述TS切片插入与其具有相同PID的TS数据包中,并将所述TS数据包混编生成一路TS媒体流;
索引模块,用于建立一节目映射表,将所述直播音频流的描述信息编码与所述直播音频流对应的TS切片的PID的对应关系加入到所述节目映射表中;
数据发送模块,用于将所述节目映射表及所述TS媒体流发送至客户端。
10.根据权利要求9所述的流媒体服务器,其特征在于,所述数据获取模块,进一步用于:
建立VPN,通过VPN通道连接多个音频采集终端;
根据RTP/RTCP实时获取各音频采集终端采集的直播音频流。
11.根据权利要求10所述的流媒体服务器,其特征在于,所述数据获取模块,进一步用于:
在直播开始前,根据已知的音频采集端的网络地址主动将所述音频采集端加入所述VPN中;以及
在直播过程中,实时监听所述音频采集端发起的网络连接请求,并在监听到所述音频采集端的网络连接请求时,将所述音频采集端实时加入到VPN中。
12.根据权利要求9所述的流媒体服务器,其特征在于,所述数据获取模块,进一步用于:
为所述每路直播音频流生成对应的描述信息文件,并为每个描述信息文件配置唯一的描述信息编码;
其中,所述描述信息文件中包含主播头像、风格介绍、所属立场、受欢迎程度、所属音轨中的一个或多个。
13.根据权利要求9所述的流媒体服务器,其特征在于,所述索引模块,进一步用于:
将所述节目映射表的数据插入到专用TS数据包中,且将所述专用TS数据包的PID配置为固定公开值;其中,所述专用TS数据包中的空白字节通过adaptation域填充。
14.根据权利要求9所述的流媒体服务器,其特征在于,所述索引模块,进一步用于:
将所述直播音频流的描述信息编码与所述客户端的音轨的对应关系加入到所述节目映射表中。
15.根据权利要求9所述的流媒体服务器,其特征在于,所述索引模块,进一步用于:
当所述接收到直播视频流为多路时,将所述直播视频流的TS切片的PID与所述直播音频流的TS切片的PID的绑定播放关系配置到所述节目映射表中。
16.根据权利要求15所述的流媒体服务器,其特征在于,所述索引模块,进一步用于:
将所述节目映射表中的所述直播音频流的描述信息编码与所述直播音频流对应的TS切片的PID的对应关系的优先级设置为高于所述直播视频流的TS切片的PID与所述直播音频流的TS切片的PID的绑定播放关系的优先级,且在所述客户端切换至所述直播音频时向客户端发起是否切换至与所述直播音频具有绑定关系的直播视频的询问信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510883081.9A CN105898366A (zh) | 2015-12-03 | 2015-12-03 | 直播音频切换方法及流媒体服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510883081.9A CN105898366A (zh) | 2015-12-03 | 2015-12-03 | 直播音频切换方法及流媒体服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105898366A true CN105898366A (zh) | 2016-08-24 |
Family
ID=57002956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510883081.9A Pending CN105898366A (zh) | 2015-12-03 | 2015-12-03 | 直播音频切换方法及流媒体服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105898366A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106488262A (zh) * | 2016-10-21 | 2017-03-08 | 安徽协创物联网技术有限公司 | 一种视频直播流转码系统 |
CN107360442A (zh) * | 2017-08-29 | 2017-11-17 | 广州华多网络科技有限公司 | 一种直播方法、装置及电子设备 |
CN108574880A (zh) * | 2017-03-07 | 2018-09-25 | 合网络技术(北京)有限公司 | 多媒体资源播放方法及装置 |
CN109040297A (zh) * | 2018-08-30 | 2018-12-18 | 广州酷狗计算机科技有限公司 | 用户画像生成方法及装置 |
CN109104616A (zh) * | 2018-09-05 | 2018-12-28 | 北京优酷科技有限公司 | 一种直播间的语音连麦方法及客户端 |
CN109495505A (zh) * | 2018-12-21 | 2019-03-19 | 北京金山云网络技术有限公司 | 流媒体协议转换方法、装置、系统及计算机可读介质 |
CN111526471A (zh) * | 2020-04-03 | 2020-08-11 | 深圳康佳电子科技有限公司 | 一种多角色音频播放方法、智能终端以及存储介质 |
CN115086708A (zh) * | 2022-06-06 | 2022-09-20 | 北京奇艺世纪科技有限公司 | 一种视频播放方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020128823A1 (en) * | 2001-03-06 | 2002-09-12 | Kovacevic Branko D. | System and method for reception, processing and transmission of digital audio stream |
CN101938628A (zh) * | 2009-06-29 | 2011-01-05 | 未序网络科技(上海)有限公司 | 互联网直播信号动态切换方法 |
CN103093776A (zh) * | 2011-11-04 | 2013-05-08 | 腾讯科技(深圳)有限公司 | 网络视听中多音轨内容播放方法及系统 |
US20130332969A1 (en) * | 2012-06-10 | 2013-12-12 | Apple Inc. | Systems and methods for seamlessly switching between media streams |
CN103583051A (zh) * | 2011-06-03 | 2014-02-12 | 苹果公司 | 用于实时或近实时流传输的播放列表 |
CN105120331A (zh) * | 2015-08-21 | 2015-12-02 | 小米科技有限责任公司 | 处理直播音视频的方法及装置 |
-
2015
- 2015-12-03 CN CN201510883081.9A patent/CN105898366A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020128823A1 (en) * | 2001-03-06 | 2002-09-12 | Kovacevic Branko D. | System and method for reception, processing and transmission of digital audio stream |
CN101938628A (zh) * | 2009-06-29 | 2011-01-05 | 未序网络科技(上海)有限公司 | 互联网直播信号动态切换方法 |
CN103583051A (zh) * | 2011-06-03 | 2014-02-12 | 苹果公司 | 用于实时或近实时流传输的播放列表 |
CN103093776A (zh) * | 2011-11-04 | 2013-05-08 | 腾讯科技(深圳)有限公司 | 网络视听中多音轨内容播放方法及系统 |
US20130332969A1 (en) * | 2012-06-10 | 2013-12-12 | Apple Inc. | Systems and methods for seamlessly switching between media streams |
CN105120331A (zh) * | 2015-08-21 | 2015-12-02 | 小米科技有限责任公司 | 处理直播音视频的方法及装置 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106488262A (zh) * | 2016-10-21 | 2017-03-08 | 安徽协创物联网技术有限公司 | 一种视频直播流转码系统 |
CN108574880A (zh) * | 2017-03-07 | 2018-09-25 | 合网络技术(北京)有限公司 | 多媒体资源播放方法及装置 |
CN107360442A (zh) * | 2017-08-29 | 2017-11-17 | 广州华多网络科技有限公司 | 一种直播方法、装置及电子设备 |
CN109040297A (zh) * | 2018-08-30 | 2018-12-18 | 广州酷狗计算机科技有限公司 | 用户画像生成方法及装置 |
CN109040297B (zh) * | 2018-08-30 | 2021-04-06 | 广州酷狗计算机科技有限公司 | 用户画像生成方法及装置 |
CN109104616A (zh) * | 2018-09-05 | 2018-12-28 | 北京优酷科技有限公司 | 一种直播间的语音连麦方法及客户端 |
CN109104616B (zh) * | 2018-09-05 | 2022-01-14 | 阿里巴巴(中国)有限公司 | 一种直播间的语音连麦方法及客户端 |
CN109495505A (zh) * | 2018-12-21 | 2019-03-19 | 北京金山云网络技术有限公司 | 流媒体协议转换方法、装置、系统及计算机可读介质 |
CN109495505B (zh) * | 2018-12-21 | 2021-10-08 | 北京金山云网络技术有限公司 | 流媒体协议转换方法、装置、系统及计算机可读介质 |
CN111526471A (zh) * | 2020-04-03 | 2020-08-11 | 深圳康佳电子科技有限公司 | 一种多角色音频播放方法、智能终端以及存储介质 |
CN115086708A (zh) * | 2022-06-06 | 2022-09-20 | 北京奇艺世纪科技有限公司 | 一种视频播放方法、装置、电子设备及存储介质 |
CN115086708B (zh) * | 2022-06-06 | 2024-03-08 | 北京奇艺世纪科技有限公司 | 一种视频播放方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105898366A (zh) | 直播音频切换方法及流媒体服务器 | |
CN105306468B (zh) | 一种合成视频数据实时共享的方法及其主播客户端 | |
KR101594351B1 (ko) | 다수의 소스들로부터의 멀티미디어 데이터의 스트리밍 | |
CN109327741B (zh) | 游戏直播方法、装置和系统 | |
WO2016150317A1 (zh) | 直播视频的合成方法、装置及系统 | |
CN105491393A (zh) | 多人视频直播业务的实现方法 | |
CN107113460A (zh) | 针对空中广播媒体数据的会话描述信息 | |
CN105100954A (zh) | 一种基于互联网通信及流媒体直播的交互应答系统及方法 | |
CN102811368A (zh) | 一种移动视频直播系统 | |
CN105245977A (zh) | 一种多组摄像头同步直播的方法 | |
CN101998116A (zh) | 一种多视角视频业务的实现方法、系统和设备 | |
CN102428698A (zh) | 基于来自客户端设备的反馈信息压缩视频帧或其部分的系统及方法 | |
KR20010035356A (ko) | 인터넷을 통한 스포츠 생중계 디지탈 시스템, 이를 이용한스포츠 생중계 방법 및 이를 구현할 수 있는 프로그램이수록된 컴퓨터로 읽을 수 있는 기록매체 | |
CN108293145A (zh) | 视频分发同步 | |
KR102404737B1 (ko) | 멀티뷰 제공을 위한 스트리밍 플레이어 장치 및 그 방법 | |
CN101621388A (zh) | 一种视音频与非视音频混合数据的网络播送方法 | |
CN103856787A (zh) | 基于公网的带解说音频回传的直播系统及其直播方法 | |
CN108156486A (zh) | 直播分享方法及装置、家庭媒体设备 | |
US20230045876A1 (en) | Video Playing Method, Apparatus, and System, and Computer Storage Medium | |
CN105704399A (zh) | 多画面电视节目的播出方法和系统 | |
CN109327706A (zh) | 基于dtmb的直播节目信号接收方法及系统 | |
CN106209824A (zh) | 数据的云编辑方法、系统以及云编辑的客户端 | |
JP2014515905A (ja) | 複数のストリームを互いに異なる経路を通じて受信して処理する受信装置とそのストリーム処理方法及びそのためのストリーム送信方法 | |
Marfil et al. | Synchronization mechanisms for multi-user and multi-device hybrid broadcast and broadband distributed scenarios | |
KR20130103931A (ko) | 메타데이터 우선제공 증강방송 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160824 |
|
WD01 | Invention patent application deemed withdrawn after publication |