CN109688416B - 网络直播间的接入方法及网络直播系统 - Google Patents

网络直播间的接入方法及网络直播系统 Download PDF

Info

Publication number
CN109688416B
CN109688416B CN201710980430.8A CN201710980430A CN109688416B CN 109688416 B CN109688416 B CN 109688416B CN 201710980430 A CN201710980430 A CN 201710980430A CN 109688416 B CN109688416 B CN 109688416B
Authority
CN
China
Prior art keywords
terminal
server
data port
data
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.)
Active
Application number
CN201710980430.8A
Other languages
English (en)
Other versions
CN109688416A (zh
Inventor
黄柳文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201710980430.8A priority Critical patent/CN109688416B/zh
Publication of CN109688416A publication Critical patent/CN109688416A/zh
Application granted granted Critical
Publication of CN109688416B publication Critical patent/CN109688416B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/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
    • H04N21/2335Processing of audio elementary streams involving reformatting operations of audio signals, e.g. by converting from one coding standard to another
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25875Management of end-user data involving end-user authentication
    • 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/632Control 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 using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
    • 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/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6334Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
    • H04N21/63345Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key by transmitting keys
    • 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
    • H04N21/6437Real-time Transport Protocol [RTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Graphics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种网络直播间的接入方法及网络直播系统,属于互联网技术领域。该方法包括:中转服务器为第一终端分配第一数据端口;接口机为第一终端分配第二数据端口;第一终端和中转服务器通过与信令服务器进行交互,确定第一终端上进行数据传输的第三数据端口;基于第一数据端口、第二数据端口及第三数据端口,第一终端接入网络直播间标识对应的网络直播间。本发明中第一终端无需安装网络直播应用的SDK,通过与信令服务器和中转服务器进行交互,确定用于数据传输的第一数据端口、第二数据端口及第三数据端口,进而基于第一数据端口、第二数据端口及第三数据端口接入到网络直播间,从而克服了现有接入方法的局限性。

Description

网络直播间的接入方法及网络直播系统
技术领域
本发明涉及互联网技术领域,特别涉及一种网络直播间的接入方法及网络直播系统。
背景技术
随着互联网技术的发展,网络直播间以新颖的形式、丰富的内容吸引了越来越多用户。通常不同的网络直播间用于播放不同的直播内容,终端通过接入到不同的网络直播间,可满足用户的不同观看需求。
目前,终端在接入网络直播间时,主要采用如下两种方式:
第一种方式、终端预先下载并安装内置有SDK(Software Development Kit,软件开发工具包)的网络直播应用,进而基于该网络直播应用,接入到网络直播间。
第二种方式、终端预先下载并安装网页版网络直播应用的SDK组件,在浏览器运行过程中,基于该网页版的网络直播应用,接入到网络直播间。
然而,现有的网络直播间的接入方法,需要终端下载并安装内置有SDK的网络直播应用,或者下载并安装网页版网络直播应用的SDK组件,因而现有的网络直播间的接入方法局限性较大。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种网络直播间的接入方法及网络直播系统。所述技术方案如下:
第一方面,提供了一种网络直播间的接入方法,所述方法应用于网络直播系统,所述网络直播系统包括:第一终端、信令服务器、中转服务器及接口机,所述信令服务器和所述中转服务器均具有实时通信功能,能够与所述第一终端和所述接口机建立网络连接,所述方法包括:
当通过所述信令服务器接收到所述第一终端的接入请求时,所述中转服务器为所述第一终端分配第一数据端口,所述接入请求包括网络直播间标识;
所述接口机为所述第一终端分配第二数据端口;
所述接口机和所述中转服务器存储所述第一数据端口与所述第二数据端口之间的对应关系;
所述第一终端和所述中转服务器通过与所述信令服务器进行交互,确定所述第一终端上进行数据传输的第三数据端口;
所述第一终端和所述中转服务器存储所述第一数据端口与所述第三数据端口之间的对应关系;
基于所述第一终端、所述中转服务器及所述接口机所存储的对应关系,所述第一终端接入所述网络直播间标识对应的网络直播间。
在本发明的另一个实施例中,所述方法还包括:
所述第一终端生成第一证书指纹,并将所述第一证书指纹携带在所述数据传输能力协商请求中发送至所述中转服务器;
当接收到所述数据传输能力协商请求时,所述中转服务器生成第二证书指纹,并将所述第二证书指纹携带在所述数据传输能力协商响应中发送至所述第一终端;
其中,所述第一证书指纹和所述第二证书指纹用于所述第一终端与所述中转服务器彼此进行安全验证。
在本发明的另一个实施例中,所述第一终端和所述中转服务器存储所述第一数据端口与所述第三数据端口之间的对应关系之后,还包括:
所述中转服务器通过所述第一数据端口向所述第一终端的所述第三数据端口发送至少一个加密套件;
所述第一终端从所述至少一个加密套件中,选取目标加密套件,并将所述目标加密套件和所述第一证书指纹发送至所述中转服务器;
所述中转服务器对所述第一证书指纹进行校验,并在校验通过后,将生成的第一密钥和所述第二证书指纹发送至所述第一终端;
所述第一终端对所述第二证书指纹进行校验,并在校验通过后,将生成的第二密钥发送至所述中转服务器;
其中,所述目标加密套件、所述第一密钥和所述第二密钥用于所述第一终端和所述中转服务器对传输的数据进行加密。
在本发明的另一个实施例中,所述第一终端和所述中转服务器存储所述第一数据端口与所述第三数据端口之间的对应关系,包括:
所述第一终端向所述中转服务器发送端口绑定请求,所述端口绑定请求包括所述第三数据端口标识;
当接收到所述端口绑定请求时,所述中转服务器向所述第一终端发送绑定成功消息,并存储所述第一数据端口与所述第三数据端口之间的对应关系。
在本发明的另一个实施例中,所述方法还包括:
在所述接口机与所述第一终端的通信过程中,所述中转服务器获取收包信息和发包信息;
所述中转服务器根据所述收包信息和所述发包信息,对所述第一终端的数据传输质量进行调控。
第二方面,提供了一种网络直播间的接入方法,所述方法应用于网络直播系统,所述网络直播系统包括:第一终端、服务器及接口机,所述服务器具有实时通信功能,能够与所述第一终端和所述接口机建立网络连接,所述方法包括:
当接收到所述第一终端的接入请求时,所述服务器为所述第一终端分配第一数据端口,所述接入请求包括网络直播间标识;
所述接口机为所述第一终端分配第二数据端口;
所述接口机和所述服务器存储所述第一数据端口和所述第二数据端口之间的对应关系;
所述第一终端确定与所述服务器进行数据传输的第三数据端口;
所述第一终端和所述服务器存储所述第一数据端口与所述第三数据端口之间的对应关系;
基于所述第一终端、所述服务器及所述接口机所存储的对应关系,所述第一终端接入到所述网络直播间标识对应的网络直播间。
在本发明的另一个实施例中,所述方法还包括:
所述第一终端向所述服务器发送数据传输能力协商请求,所述数据传输能力协商请求包括所述第一终端支持的音频数据格式和视频数据格式;
当接收到所述数据传输能力协商请求时,所述服务器根据所述第一终端支持的音频数据格式和视频数据格式以及所述服务器支持的音频数据格式和视频数据格式,确定与所述第一终端进行音视频数据传输时的数据格式,并向所述第一终端发送数据传输能力协商响应,所述数据传输能力协商响应包括与所述第一终端进行音视频数据传输时的数据格式。
在本发明的另一个实施例中,所述第一终端确定与所述服务器进行数据传输的第三数据端口,包括:
所述第一终端向所述服务器发送本端的至少一个数据端口标识;
所述服务器从所述至少一个数据端口标识中,选取进行数据传输的目标数据端口标识,并将所述目标数据端口标识发送至所述第一终端。
在本发明的另一个实施例中,所述方法还包括:
在所述接口机与所述第一终端的通信过程中,所述服务器获取收包信息和发包信息;
所述服务器根据所述收包信息和所述发包信息,对所述第一终端的数据传输质量进行调控。
第三方面,提供了一种网络直播系统,所述网络直播系统包括:第一终端、信令服务器、中转服务器及接口机,所述信令服务器和所述中转服务器均具有实时通信功能,能够与所述第一终端和所述接口机建立网络连接;
所述中转服务器,用于当通过所述信令服务器接收到所述第一终端的接入请求时,为所述第一终端分配第一数据端口,所述接入请求包括网络直播间标识;
所述接口机,用于为所述第一终端分配第二数据端口,并存储所述第一数据端口与所述第二数据端口之间的对应关系;
所述中转服务器,还用于存储所述第一数据端口与所述第二数据端口之间的对应关系;
所述第一终端,用于通过与所述信令服务器进行交互,确定所述第一终端上进行数据传输的第三数据端口,并存储所述第一数据端口与所述第三数据端口之间的对应关系;
所述中转服务器,还用于通过与所述信令服务器进行交互,确定所述第一终端上进行数据传输的第三数据端口,并存储所述第一数据端口与所述第三数据端口之间的对应关系;
所述第一终端,还用于基于所述第一终端、所述中转服务器及所述接口机所存储的对应关系,接入所述网络直播间标识对应的网络直播间。
第四方面,提供了一种网络直播系统,所述网络直播系统包括:第一终端、服务器及接口机,所述服务器具有实时通信功能,能够与所述第一终端和所述接口机建立网络连接;
所述服务器,用于当接收到所述第一终端的接入请求时,为所述第一终端分配第一数据端口,所述接入请求包括网络直播间标识;
所述接口机,用于为所述第一终端分配第二数据端口,并存储所述第一数据端口和所述第二数据端口之间的对应关系;
所述服务器,还用于存储所述第一数据端口和所述第二数据端口之间的对应关系;
所述第一终端,用于确定与所述服务器进行数据传输的第三数据端口,并存储所述第一数据端口与所述第三数据端口之间的对应关系;
所述服务器,还用于存储所述第一数据端口与所述第三数据端口之间的对应关系;
所述第一终端,还用于基于所述第一终端、所述服务器及所述接口机所存储的对应关系,接入到所述网络直播间标识对应的网络直播间。
本发明实施例提供的技术方案带来的有益效果是:
本发明中第一终端无需安装网络直播应用的SDK,通过与信令服务器和中转服务器进行交互,确定用于数据传输的第一数据端口、第二数据端口及第三数据端口,进而基于第一数据端口、第二数据端口及第三数据端口接入到网络直播间,从而克服了现有接入方法的局限性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1(A)是本发明一个实施例提供网络直播间的接入方法所涉及的实施环境;
图1(B)是本发明一个实施例提供的网络直播间的接入方法所涉及的实施环境;
图2是本发明一个实施例提供的网络直播系统的架构图;
图3是本发明一个实施例提供的一种接入网络直播间的方法流程图;
图4是本发明另一个实施例提供的一种网络直播间的接入过程的示意图;
图5是本发明另一个实施例提供的一种音视频数据传输路径的示意图;
图6是本发明另一个实施例提供的另一种音视频数据传输路径的示意图;
图7是本发明另一个实施例提供的音频数据的转码、视频数据的转封装、协议转换及质量调控过程示意图;
图8是本发明另一个实施例提供的一种接入网络直播间的方法流程图;
图9是本发明另一个实施例提供的一种网络直播系统的结构示意图;
图10是本发明另一个实施例提供的一种网络直播系统的结构示意图;
图11是本发明另一个实施例提供的一种网络直播系统的结构示意图;
图12是本发明另一个实施例提供的一种网络直播系统的结构示意图;
图13是本发明另一个实施例提供的一种网络直播系统的结构示意图;
图14是本发明另一个实施例提供的一种网络直播系统的结构示意图;
图15是本发明另一个实施例提供的一种网络直播系统的结构示意图;
图16是本发明另一个实施例提供的一种网络直播系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1(A)是本发明实施例提供的一种网络直播间的接入方法所涉及的实施环境,参见图1(A),该实施环境包括:第一终端101、第二终端102、登录服务器103、信令服务器104、查询服务器105、中转服务器106、策略服务器107及接口机108。
其中,第一终端101可以为智能手机、平板电脑、笔记本电脑等,本发明实施例不对第一终端101的产品类型作具体的限定。该第一终端101安装有未内置SDK的网络直播应用,且第一终端101的浏览器未安装SDK组件。该第一终端101内置有支持RTC(Real-TimeCommunication,实时通信)功能的模块,基于该RTC功能的模块,第一终端101通过与中转服务器106、接口机108建立网络连接,可接入到网络直播间。
第二终端102可以为智能手机、平板电脑、笔记本电脑等,本发明实施例同样不对第二终端的产品类型作具体的限定。该第二终端102安装有内置SDK的网络直播应用,或该第二终端的浏览器安装有SDK组件,基于该网络直播应用,或安装有SDK组件的浏览器,第二终端102可接入到网络直播间。
登录服务器103为开发者为快速完成账号集成接入音视频或即时通信云服务而提供的一套通用账号登录组件。
信令服务器104内置有支持RTC功能的模块,该信令服务器104主要提供以下功能:
1)、提供接入和登录功能,从而使得第一终端侧用户(Web用户)能够接入和登录网络直播间;
2)、提供信令传输功能,从而能够在第一终端101与中转服务器106之间传输信令;
3)、提供分配功能,从而能够为第一终端101分配进行网络连接的中转服务器106;
4)、提供数据协商下发功能,从而能够在第一终端101与中转服务器106之间进行音视频初始参数的协商下发、连接通道的协商及安全参数的协商下发等。
查询服务器105主要负责提供统一的查询服务,该查询服务包括对用户资料、关系链、备注、分组、群关系链、用户产生的信息等的查询。
中转服务器106内置有支持RTC功能的模块,该中转服务器106主要提供以下功能:
1)、面向第一终端101侧用户(Web用户)模拟WebRTC与第一终端101建立网络连接,该网络连接过程包括ICE(Interactive Conncetivity Establishment,互动式连接建立)连接的建立、DTLS(Datagram Transport Layer Security,数据包传输层安全协议)密钥的协商、SRTP(Secure Real-time Transport Protocol,安全实时传输协议)音视频数据的中转传输及RTCP(Real-time Transport Control Protocol,实时传输控制协议)音视频质量的控制;
2)、面向接口机模拟成第二终端102侧用户(SDK用户),与网络直播系统建立连接,包括接入网络直播间、进行音视频数据传输等;
3)、将第一终端101侧用户和第二终端102侧用户接入网络直播间的信令、退出网络直播间的信令、状态通知等信令衔接起来;
4)、对第一终端101侧用户和第二终端102侧用户的音视频数据进行转码、转封装等。
策略服务器107主要负责请求鉴权、签名加密、安全确认等业务,该策略服务器107能够根据用户的位置信息、接口机的位置信息以及接口机的负载信息,为用户分配接口机和流控机。在分配时还遵循一个原则,即为同房间同运营商的用户尽量分配相同的接口机。
接口机108用于对网络直播系统中的音视频数据及信令进行转发。
上述第一终端101可与登录服务器103、信令服务器104及中转服务器106通过有线网络或无线网络进行连接,登录服务器103还可与信令服务器104通过有线网络或无线网络进行连接,信令服务器104还可与中转服务器106通过有线网络或无线网络进行连接,查询服务器105可与中转服务器106通过有线网络或无线网络进行连接,中转服务器106还可与策略服务器107、接口机108及第二终端102通过有线网络或无线网络进行连接。
图1(B)是本发明实施例提供的另一种网络直播间的接入方法所涉及的实施环境,参见图1(B),该实施环境包括:第一终端101、第二终端102、接口机108及服务器109。
其中,第一终端101与图1(A)中所示的第一终端101的产品类型及功能相同,此处不再赘述。第二终端102与图1(A)中所示的第二终端102的产品类型及功能相同,此处也不再赘述。接口机108具有图1(A)中接口机108的全部功能,服务器109具有图1(A)中登录服务器103、信令服务器104、查询服务器105、中转服务器106、策略服务器107的全部功能,具体参见图1(A)中对登录服务器103、信令服务器104、查询服务器105、中转服务器106、策略服务器107及接口机108的描述,此处也不再赘述。
基于图1(A)所示的实施环境,图2示出了本发明实施例提供的网络直播系统的架构图,其中,Web用户为第一终端侧用户,SDK用户为第二终端侧用户,基于图2所示出的网络直播系统的架构图,SDK用户和Web用户接入网络直播间的具体过程为:
对于SDK用户而言,当因业务需求需要接入到网络直播间,SDK用户可通过第二终端向策略服务器发送接入请求,该接入请求包括网络直播间标识、登录账号、第二终端的IP地址等,当接收到接入请求时,策略服务器可根据第二终端的IP地址,从IP库中查询到第二终端的IP地址所属的数据中心,其中,IP库中存储IP地址与数据中心之间的对应关系,数据中心是指为了降低服务器的数据处理压力所划分的数据转发、处理中心;策略调度服务器可根据登录账号,从查询服务器上查询SDK用户的用户资料、关系链、群关系链等信息;策略调度服务器还可通过登录服务器进行登录验证。经过上述处理过程,SDK用户通过第二终端接入到网络直播间。当有音视频数据需要发送至网络直播间内的其他用户时,该第二终端可将音视频数据发送至接口机,进而通过接口机将音视频数据发送至网络直播间内的其他用户;当接收到网络直播间内的其他用户发送的音视频数据时,接口机将接收到的音视频数据发送至第二终端。
对于Web用户而言,当因业务需求需要接入到网络直播间,Web用户可通过第一终端向登录服务器发送登录请求进行登录验证,通过信令服务器将接入请求发送至中转服务器,触发中转服务器与接口机建立网络连接,通过信令服务器的转发与中转服务器进行SDP(Session Description Protocol,会话描述协议)能力协商,确定音视频数据的数据格式,通过信令服务器与中转服务器之间网络连接,进而基于第一终端与中转服务器之间建立的网络连接、中转服务器与接口机之间建立的网络连接,接入到网络直播间。当有音视频数据需要发送至网络直播间内的其他用户时,第一终端可将音视频数据发送至中转服务器,由中转服务器将音视频数据发送至接口机,进而通过接口机将音视频数据发送至网络直播间内的其他用户;当接收到网络直播间内的其他用户发送的音视频数据,接口机将接收到的音视频数据发送至中转服务器,进而由中转服务器将音视频数据发送至第一终端。
在进行音视频通信的过程中,网络直播系统还可通过流控机对网络直播间进行管理、对音视频通信过程中的各项音视频参数和音视频选路的调节,从而实现对音视频通信质量的调节。具体调节过程为:流控机从策略服务器获取各项音视频参数和音视频选路等信息,进而向接口机发送调节指令,由接口机对第一终端及第二终端发送的音视频数据进行调节。
为了便于对网络直播间进行管理,每个数据中心的流控机及接入层会将每个数据中心的状态上报至配置中心,由配置中心上报至策略服务器,该状态用于配置中心对音视频通信质量进行调节。
本发明实施例提供了一种网络直播间的接入方法,该方法应用于网络直播系统,该网络直播系统包括第一终端、登录服务器、信令服务器、中转服务器、策略服务器、查询服务器、接口机及第二终端等,该信令服务器和中转服务器均具有实时通信功能,能够与第一终端和接口机建立网络连接,参见图3,本发明实施例提供的方法流程包括:
301、当通过信令服务器接收到第一终端的接入请求时,中转服务器为第一终端分配第一数据端口。
当第一终端侧的Web用户想要接入到网络直播间时,该Web用户可通过第一终端向信令服务器发送网页显示请求,当接收到网页显示请求时,信令服务器返回网络直播间的登录页面。在登录页面的显示过程中,Web用户可通过鼠标、键盘、物理按键、虚拟按键等在登录页面上输入登录账号及登录密码,当检测到登录页面上的登录选项被选中,第一终端通过登录页面向信令服务器发送接入请求,该接入请求包括登录账号、登录密码、网络直播间标识及第一终端的IP地址等等。当接收到接入请求时,信令服务器根据第一终端的IP地址和各个中转服务器的IP地址,选取与第一终端的IP地址较近的中转服务器,进而通过该中转服务器的穿越端口向所选取的中转服务器发送接入请求。
为了提高数据传输的安全性,当检测到登录选项被选中,第一终端还可通过登录页面向登录服务器发送登录请求,该登录请求包括登录账号和网络直播间标识。当接收到登录请求时,登录服务器采用预设签名算法对登录账号和网络直播间标识进行签名计算,得到签名信息,并将该签名信息发送至第一终端。当接收到签名信息时,第一终端将该接入请求和签名信息发送至信令服务器。当接收到该接入请求和签名信息时,信令服务器对该签名信息进行校验,如果该签名信息通过校验,信令服务器可根据第一终端的IP地址和各个中转服务器的IP地址,选取与第一终端的IP地址较近的中转服务器,进而通过该中转服务器的穿越端口向所选取的中转服务器发送接入请求。
其中,预设签名算法包括MD5(Message Digest Algorithm 5,消息摘要第五版)、RSA等。具体的,信令服务器对签名信息进行校验的过程为:信令服务器预先从登录服务器获取预设签名算法,当接收到接入请求和签名信息时,信令服务器采用预设签名算法对登录账号和网络直播间标识进行签名计算,得到签名信息,进而将该签名信息与接收到的签名信息进行比对,如果该签名信息与接收到的签名信息相同时,则确定该签名信息通过校验。
当接收到接入请求时,中转服务器从未分配的数据端口中随机选取一个数据端口作为第一数据端口,进而将该第一数据端口分配给第一终端。
在本发明实施例中,查询服务器中存储有网络直播间标识、登录账号与网络直播间账号之间的对应关系,该网络直播间账号为网络直播系统内各个设备能够识别的统一标识,可用tinyid表示。为了能够在网络直播系统内进行信息交互,当接收到接入请求时,中转服务器还将根据登录账号和网络直播间标识,从查询服务器上获取登录账号和网络直播间标识对应的网络直播账号。另外,为了便于对第一终端的接入过程进行监控,当获取到网络直播间账号,中转服务器还根据该网络直播间账号建立状态跟踪列表,该状态跟踪列表用于记录第一终端接入状态及对应的接入时间。
在本发明的另一个实施例中,中转服务器为第一终端分配第一数据端口之后,中转服务器还将获取第一数据端口标识,并通过穿越端口将第一数据端口标识和穿越端口标识发送至信令服务器,由信令服务器将第一数据端口标识和穿越端口标识发送至第一终端,当接收到第一数据端口标识和穿越端口标识,第一终端存储第一数据端口标识和穿越端口标识,该第一数据端口标识用于第一终端向中转服务器传输数据,该穿越端口标识用于第一终端向中转服务器进行穿越。
302、接口机为第一终端分配第二数据端口。
在本发明实施例中,当接收到接入请求时,中转服务器将向策略服务器发送接入请求。策略服务器根据第一终端的IP地址,确定该第一终端所属的数据中心,根据数据中心内每个流控机的负载情况,为第一终端分配对应的流控机,根据所选取的流控机所连接的接口机的负载情况,为第一终端分配对应的接口机及接口机的第二数据端口,当然,为了确保传输的数据安全,策略服务器还将根据预设签名算法对登录账号和网络直播间标识进行签名计算,得到签名信息,进而向中转服务器发送响应消息,该响应消息包括接口机标识、第二数据端口标识、签名信息等。当接收到响应消息时,中转服务器通过第一数据端口向该接口机的第二数据端口发送接入请求,该接入请求除了携带第一终端的IP地址、网络直播间标识、登录账号外,还携带接口机标识、第二数据端口标识及签名信息等。当接收到接入请求时,接口机对该签名信息进行校验,并在校验通过后,将第二数据端口分配给第一终端,该第二数据端口用于传输第一终端的音视频数据及各种指令。
需要说明的是,上述中转服务器向第一终端发送第一数据端口标识和穿越端口标识的过程,以及接口机为第一终端分配第二数据端口的过程,并不没有先后明确的先后顺序,即上述两个过程可同时进行,也可中转服务器先向第一终端发送第一数据端口标识和穿越端口标识,接口机后为第一终端分配第二数据端口。
303、接口机和中转服务器存储第一数据端口与第二数据端口之间的对应关系。
基于所分配的第一数据端口、第二数据端口,中转服务器与接口机建立网络连接。为了维持网络连接状态,中转服务器可定时向接口机发送用于维持心跳的指令,接口机也向中转服务器发送维持心跳的响应指令。另外,为了便于后续应用,接口机还将存储第一终端的IP地址、第一数据端口及第二数据端口之间的对应关系,中转服务器也会存储第一终端的IP地址、第一数据端口及第二数据端口之间的对应关系。
由于第一终端和中转服务器进行音视频数据传输时所支持的数据格式是不同的,为使第一终端能够对中转服务器发送的音视频数据进行解码,中转服务器能够对第一终端发送的音视频数据进行解码,在本发明实施例中第一终端和中转服务器还将进行SDP能力协商,以确定进行音视频数据传输的数据格式。具体协商过程为:
第一终端向信令服务器发送数据传输能力协商请求,该数据传输能力协商请求包括第一终端支持的音频数据格式和视频数据格式,当接收到数据传输能力协商请求时,信令服务器将该数据传输能力协商请求发送至中转服务器。当接收到数据传输能力协商请求时,中转服务器根据第一终端支持的音频数据格式和视频数据格式以及中转服务器支持的音频数据格式和视频数据格式,确定与第一终端进行音视频数据传输时的数据格式,并向信令服务器发送数据传输能力协商响应,该数据传输能力协商响应包括与第一终端进行音视频数据传输时的数据格式。当接收到数据传输能力协商响应时,信令服务器将数据传输能力协商响应发送至第一终端。
为了提高数据传输的安全性,第一终端向信令服务器发送数据传输能力协商请求之前,第一终端将启动DTLS过程,在DTLS过程生成第一证书指纹,并将第一证书指纹携带在数据传输能力协商请求中发送至中转服务器。中转服务器将数据传输能力协商响应发送至第一终端之前,中转服务器也将启动DTLS过程,在DTLS过程生成第二证书指纹,并将第二证书指纹携带在数据传输能力协商响应中发送至第一终端。其中,第一证书指纹和第二证书指纹用于第一终端与中转服务器彼此进行安全验证。
需要说明的是,第一终端的IP地址是由第一终端在发送过程中由网卡加入到的接入请求中的,实际上第一终端的网络直播应用或第一终端的浏览器不能从网卡读取到第一终端的IP地址,为了获取到第一终端的IP地址,第一终端可通过穿越端口向中转服务器发送IP地址获取请求,在IP地址获取请求的转发过程中,第一终端的网卡可将第一终端的IP地址添加到IP地址获取请求中,当接收到IP地址获取请求时,中转服务器读取第一终端的IP地址,并通过穿越端口将第一终端的IP地址发送至第一终端,从而使得第一终端的网络直播应用或第一终端的浏览器可获知第一终端的IP地址。
304、第一终端和中转服务器通过与信令服务器进行交互,确定第一终端上进行数据传输的第三数据端口。
在本发明实施例中,第一终端上有多个用于进行音视频数据传输的数据端口,为了确定出本次接入到网络直播间时与中转服务器进行数据传输的数据端口,第一终端可向信令服务器发送本端的至少一个数据端口标识,由信令服务器将至少一个数据端口标识发送至中转服务器,当接收到至少一个数据端口标识时,中转服务器从至少一个数据端口标识中,选取进行数据传输的目标数据端口标识,并将目标数据端口标识发送至信令服务器,由信令服务器将目标数据端口标识发送至第一终端,当接收到目标数据端口标识时,第一终端将目标数据端口标识对应的数据端口作为第三数据端口。
305、第一终端和中转服务器存储第一数据端口与第三数据端口之间的对应关系。
当选取第三数据端口作为本次进行数据传输的数据端口时,第一终端还将向中转服务器发送端口绑定请求,该端口绑定请求包括第一终端的IP地址和第三数据端口标识,该端口绑定请求可以为ICE端口绑定请求。当接收到端口绑定请求时,中转服务器向第一终端发送绑定成功消息。当将第三数据端口成功绑定时,第一终端与中转服务器实际上建立了网络连接。为了便于后续进行音视频数据转发,中转服务器还将存储第一终端的IP地址、第一数据端口及第二数据端口之间的对应关系,第一终端也将存储第一终端的IP地址、第一数据端口及第二数据端口之间的对应关系。
为了提高数据传输的安全性,当第一终端与中转服务器建立网络连接之后,中转服务器还将通过第一数据端口向第一终端的第三数据端口发送至少一个加密套件,每种加密套件用于对一种数据进行加密,每种加密套件包括对一种数据进行加密的多种加密算法。当接收到至少一个加密套件时,第一终端从至少一个加密套件中,选取目标加密套件,进而将目标加密套件和第一证书指纹发送至中转服务器。当接收到目标加密套件和第一证书指纹时,中转服务器根据本端存储的第一证书指纹对第一证书指纹进行校验,并在校验通过后,采用加密算法生成第一密钥,并将生成的第一密钥和第二证书指纹发送至第一终端。当接收到第一密钥和第二证书指纹时,第一终端对第二证书指纹进行校验,并在校验通过后,生成第二密钥,进而将生成的第二密钥发送至中转服务器。在本发明实施例中,目标加密套件、第一密钥和第二密钥用于第一终端和中转服务器对传输的数据进行加密。
306、基于第一终端、中转服务器及接口机所存储的对应关系,第一终端接入网络直播间标识对应的网络直播间。
基于第一终端和中转服务器所存储的对应关系,第一终端与中转服务器建立网络连接,基于中转服务器和接口机所存储的对应关系,中转服务器与接口机建立网络连接,基于所建立的网络连接,第一终端可接入到网络直播间标识对应的网络直播间中。
对于网络直播间的接入过程,下面以图4为例进行详述。
1、Web侧用户通过第一终端向Web信令服务器发送https请求。
2、Web信令服务器基于https请求返回网络直播间的登录页面。
3、当接收到Web信令服务器返回网络直播间的登录页面时,第一终端通过登录页面登录到登录服务器。
4、登录服务器进行登录校验后,生成签名信息,并将该签名信息发送至第一终端。
5、第一终端向Web信令服务器发送对网络直播间的接入请求和签名信息。
6、Web信令服务器对签名信息进行校验。
7、当校验通过后,Web信令服务器通过穿越端口向中转服务器发送接入请求。
8、中转服务器根据接入请求中携带的信息向查询服务器发送tinyid的查询请求。
9、查询服务器将查询到的tinyid返回给中转服务器。
10、当获取到tinyid,中转服务器根据tinyid建立接入状态跟踪列表,并将第一数据端口分配给第一终端。
11、中转服务器将接入请求发送至策略服务器。
12、当接收到接入请求时,策略服务器为第一终端分配对应的接口机、接口上的第二数据端口、流控地址,并对接入请求中的参数进行校验,生成签名信息,进而将为第一终端分配的接口机、接口机上的数据端口、流控地址及生成的签名信息发送至中转服务器。
13、中转服务器向接口机对应的第二数据端口发送接入网络直播间的接入请求。
14、当接收到接入请求时,接口机器将该第二数据端口分配给第一终端,并向中转服务器发送接入网络直播间的响应消息。
15、基于为第一终端所分配的第一数据端口,中转服务器通过穿越端口将中转服务器标识、穿越端口标识及第一数据端口标识发送至Web信令服务器。
16、Web信令服务器将中转服务器标识、穿越端口标识及第一数据端口标识发送至第一终端。
17、当中转服务器与接口机建立网络连接之后,中转服务器会定时向接口机发送用于维持心跳的指令;
18、当接收到用于维持心跳的指令时,接口机向中转服务器发送维持心跳的响应指令。
19、第一终端启动DTLS过程,在DTLS过程生成第一证书指纹,并向Web信令服务器发送SDP能力协商请求,该SDP能力协商请求包括第一证书指纹、支持的音频数据格式和视频数据格式,该SDP能力协商请求用于确定与中转服务器进行音视频数据传输的数据格式。
20、Web信令服务器将SDP能力协商请求发送至中转服务器。
21、中转服务器启动DTLS过程,在DTLS过程中,生成第二证书指纹。
22、中转服务器根据第一终端支持的音频数据格式和视频数据格式以及中转服务器支持的音频数据格式和视频数据格式,确定与第一终端进行音视频数据传输时的数据格式,并向Web信令服务器发送SDP能力协商响应,该SDP能力协商响应包括与第一终端进行音视频数据传输时的数据格式。
23、Web信令服务器将SDP能力协商响应发送至第一终端。
24、第一终端通过穿越端口向中转服务器发送IP地址获取请求。
25、当接收到IP地址获取请求时,中转服务器读取第一终端的IP地址,并通过穿越端口将第一终端的IP地址发送至第一终端。
26、第一终端将本端的至少一个数据端口标识发送至Web信令服务器。
27、Web信令服务器将第一终端的至少一个数据端口标识发送至中转服务器。
28、中转服务器从至少一个数据端口标识对应的数据端口中,选取与中转服务器进行数据传输的第三数据端口,并向Web信令服务器进行回包。
29、Web信令服务器将回包发送至第一终端。
30、第一终端通过穿越端口向中转服务器发送ICE端口绑定,并定时维持心跳连接。
31、中转服务器通过穿越端口向第一终端发送ICE端口绑定成功消息,并维持心跳连接。
32、当端口绑定成功后,中转服务器获取到第一终端的IP地址和第三数据端口标识,存储第一终端的IP地址、第三数据端口及第一数据端口之间的对应关系,并启动DTLS过程。
33、中转服务器通过启动DTLS过程,与第一终端进行握手,向第一终端发送至少一个加密套件和第二证书指纹。
34、第一终端根据本端存储的第二证书指纹,对接收到的第二证书指纹进行校验,当校验通过后,从至少一个加密套件选取目标加密套件,并将目标加密套件和第一证书指纹发送至中转服务器。
35、第一终端根据本端存储的第一证书指纹,对接收到的第一证书指纹进行校验,当校验通过后,生成第一密钥,并将第一密钥发送至第一终端。
36、第一终端生成第二密钥,将第二密钥发送至中转服务器,并通知中转服务器启动加密数据通道。
需要说明的是,上述步骤301至306详述了第一终端接入网络直播间的过程,对于安装有内置SDK的网络直播应用的第二终端及安装有SDK组件的网页版网络直播应用的第二终端,可通过内置SDK的网络直播应用或安装有SDK组件的网页版网络直播应用接入到网络直播间。
在网络直播内,当网络内第二终端有音视频数据需要发送时,第二终端可向接口机的第四数据端口发送音视频数据,当通过第四数据端口接收到第二终端的音视频数据时,接口机通过第四数据端口将音视频数据发送至接口机的第五数据端口。针对第五数据端口对应的终端的不同类型,接口机进行音视频数据转发的路径是不同的。具体地,当第五数据端口对应的终端为其他第二终端时,接口机可通过第五数据端口将音视频数据发送至其他第二终端;当第五数据端口对应的终端为第一终端时,接口机通过第五数据端口将音视频数据发送至中转服务器的第一数据端口,由中转服务器通过第一数据端口将音视频数据发送至第一终端。
需要说明的是,上述接口机对音视频数据的转发以同一数据中心为例进行介绍,对于位于网络直播间的其他数据中心,接口机可根据本地存储的网络直播间内其他接口机的信息(IP地址、接口机标识等),通过第四数据端口发送至其他接口机,由其他接口机进行转发。对于其他接口机的转发过程,与该接口机的转发过程相同,具体参见该接口机对音视频数据的转发过程,此处不再赘述。
图5示出了一种音视频数据传输路径,由图5可知,Web A、Web B、Web C、Web D、SDKE、SDK F五个终端接入到网络直播系统中,其中,Web A与中转服务器器1上的User A数据端口建立网络连接,中转服务器1上的User A数据端口与接口机上的User A数据端口建立网络连接,Web B与中转服务器1上的User B据端口建立网络连接,中转服务器1上的User B数据端口与接口机上的User B数据端口建立网络连接,Web C与中转服务器2的User C数据端口建立网络连接,中转服务器2上的User C数据端口与接口机上的User C数据端口建立网络连接,Web D与中转服务器器2的User D数据端口建立网络连接,中转服务器2上的User D数据端口与接口机上的User D数据端口建立网络连接,SDK E与接口机的User E数据端口建立网络连接,SDK F与接口机的User F数据端口建立网络连接。当通过User E数据端口接收到SDKE发送的音视频数据时,接口机将音视频数据分别发送至接口机的User A数据端口、User B数据端口、User C数据端口、User D数据端口及User E数据端口,接着,接口机通过User A数据端口将音视频数据发送至中转服务器1上的User A数据端口,并由转服务器1通过User A数据端口发送至Web A;接口机通过User B数据端口将音视频数据发送至中转服务器1上的User B数据端口,并由转服务器1通过User B数据端口发送至Web B;接口机通过User C数据端口将音视频数据发送至中转服务器2上的User C数据端口,并由转服务器2通过User C数据端口发送至Web C;接口机通过User D数据端口将音视频数据发送至中转服务器2上的User D数据端口,并由转服务器2通过User D数据端口发送至Web D;接口机通过User F数据端口将音视频数据发送至SDK F。
在网络直播间内,当网络内第一终端音视频数据需要发送时,第一终端可通过第三数据端口向中转服务器的第一数据端口发送音视频数据,当接收到音视频数据时,中转服务器通过第一数据端口将音视频数据发送至接口机的第二数据端口,当接收到音视频数据时,接口机通过第二数据端口将音视频数据发送至接口机的第六数据端口。针对第六数据端口对应的终端的不同类型,接口机进行音视频数据转发的路径是不同的。具体地,当第六数据端口对应的终端为第二终端时,接口机通过第六数据端口将音视频数据发送至第二终端;当第六数据端口对应的终端为其他第一终端时,接口机通过第六数据端口将音视频数据发送至中转服务器的第七数据端口,由中转服务器通过第七数据端口将音视频数据发送至其他第一终端。
需要说明的是,上述接口机对音视频数据的转发以同一数据中心为例进行介绍,对于位于网络直播间的其他数据中心,接口机可根据本地存储的网络直播间内其他接口机的信息(IP地址、接口机标识等),通过第六数据端口发送至其他接口机,由其他接口机进行转发。对于其他接口机的转发过程,与该接口机的转发过程相同,具体参见该接口机对音视频数据的转发过程,此处不再赘述。
图6示出了一种音视频数据传输路径,由图6可知,Web A、Web B、Web C、Web D、SDKE、SDK F五个终端接入到网络直播系统中,其中,Web A与中转服务器器1上的User A数据端口建立网络连接,中转服务器1上的User A数据端口与接口机上的User A数据端口建立网络连接,Web B与中转服务器1上的User B据端口建立网络连接,中转服务器1上的User B数据端口与接口机上的User B数据端口建立网络连接,Web C与中转服务器2的User C数据端口建立网络连接,中转服务器2上的User C数据端口与接口机上的User C数据端口建立网络连接,Web D与中转服务器器2的User D数据端口建立网络连接,中转服务器2上的User D数据端口与接口机上的User D数据端口建立网络连接,SDK E与接口机上User E数据端口建立网络连接,SDK F与接口机上User F数据端口建立网络连接。当通过User C数据端口接收到Web C发送的音视频数据时,中转服务器通过User C数据端口将音视频数据发送至接口机上的User C数据端口,由接口机通过User C数据端口将音视频数据分别发送至接口机的User A数据端口、User B数据端口、User D数据端口、User E数据端口及User F数据端口,接着,接口机通过User A数据端口将音视频数据发送至中转服务器1上的User A数据端口,并由转服务器1通过User A数据端口发送至Web A;接口机通过User B数据端口将音视频数据发送至中转服务器1上的User B数据端口,并由转服务器1通过User B数据端口发送至Web B;接口机通过User D数据端口将音视频数据发送至中转服务器2上的User D数据端口,并由转服务器2通过User D数据端口发送至Web D;接口机通过User E数据端口将音视频数据发送至SDK E;接口机通过User F数据端口将音视频数据发送至SDK F。
在本发明实施例中,在音频数据格式方面,第二终端支持的音频数据格式为AAC(Advanced Audio Coding,高级音频编码)或SILK等,第一终端支持的音频数据格式为OPUS、G.711、G.719等,当音频数据在第一终端和第二终端之间传输时,需要中转服务器进行转码才能互通。在视频数据格式方面,第二终端支持的视频数据格式为H.264,第一终端支持的视频数据格式为H.264、VP8、VP9等,当第一终端和第二终端采用H.264作为视频数据格式时,由中转服务器进行转封装即可互通。在传输协议方面,第二终端支持的传输协议为UDP(User Datagram Protocol,用户数据报协议)协议,第一终端支持的传输协议为RTP(Real-time Transport Protocol,实时传输协议)协议,需要中转服务器进行协议转换才能互通。在质量调控方面,第二终端是采用私有的信令进行调控的,第一终端是采用标准的RTCP进行调节的,当多个终端同时接入到网络直播间时,可通过中转服务器对第一终端的音视频传输质量进行调控。
中转服务器对音频数据进行转码、对视频数据进行转封装过程如下:
在将第一终端的RTP音频数据包发送至接口机的过程中,中转服务器将RTP音频数据包转换为UDP音频数据包。其中,UDP音频数据包能够被接口机识别,该UDP音频数据包的格式可以为AAC等,当然,也可以为其他格式。
在将接口机的UDP音频数据包发送至第一终端的过程中,中转服务器将UDP音频数据包转换为RTP音频数据包。其中,RTP音频数据包能够被第一终端识别,该RTP音频数据包的格式可以为OPUS等,当然,也可以为其他格式。
在将第一终端的RTP视频数据包发送至接口机的过程中,中转服务器将RTP视频数据包转换为UDP视频数据包。其中,UDP视频数据包能够被接口机识别,该UDP视频数据包的格式可以为H.264等,当然,也可以为其他格式。
在将接口机的UDP视频数据包发送至第一终端的过程中,中转服务器将UDP视频数据包转换为RTP视频数据包。其中,RTP视频数据包能够被第一类终端识别,该RTP视频数据包的格式可以为H.264,当然,也可以为其他格式。
在本发明的另一个实施例中,为了便于对第一终端的数据传输质量进行调控,在接口机与第一终端的通信过程中,中转服务器获取收包信息和发包信息,进而根据收包信息和发包信息,对第一终端数据传输质量进行调控。其中,发包信息包括发送数据包的数据量、发送数据包的时间等。收包信息包括接收数据包的数据量、接收数据包的时间等。基于获取到的收包信息和发包信息,中转服务器可计算出丢包率、往返时延、抖动等,并基于计算出的丢包率、往返时延、抖动等,对第一终端的数据传输质量进行调控。
中转服务器对音频数据进行转码、对视频数据进行转封装、协议转换及质量调控过程如图7所示。
1、从第一终端到SDK接口机的音频数据传输过程:第一终端向接口机发送标准的RTP音频数据包,经过jitter buf对接收到的RTP音频数据包进行缓冲排序,输出有序的RTP音频数据包,对有序的RTP音频数据包进行解封装,得到OPUS裸流,对OPUS裸流进行转码,得到AAC裸流,对AAC裸流进行封装,并增加TRAE头及FEC,最后将得到的数据包封装成UDP音频数据包,将UDP音频数据包发送给接口机。
2、从SDK接口机到第一终端的音频数据传输过程:接口机向第一终端发送UDP音频数据包,对接收到的UDP音频数据包进行恢复,得到有序的UDP音频数据包,对有序的UDP音频数据包进行解封装,再解封装TRAE头和FEC,得到AAC裸流,将AAC裸流进行转码,得到OPUS裸流,采用RTP协议对OPUS裸流进行封装,得到RTP音频数据包,并将RTP音频数据包发送至第一终端。
3、从第一终端到SDK接口机的视频数据的传输过程。第一终端向接口机发送标准的RTP视频数据包,经过jitter buf对接收到的RTP视频数据包进行缓冲排序,输出有序的RTP视频数据包,对有序的RTP视频数据包进行FEC恢复,再经过对RTP视频数据包进行解封装,得到H.264裸流,对H.264裸流进行封装并增加FEC,最后将得到的数据包封装成UDP视频数据包,将UDP视频数据包发送给接口机。。
4、从SDK接口机到第一终端的视频数据的传输过程:接口机向第一终端发送UDP视频数据包,对接收到的UDP视频数据包进行恢复,得到有序的UDP视频数据包,对有序的UDP视频数据包进行解封装,并对解封装后的数据包进行FEC恢复,得到H.264裸流,将H.264裸流重新封装并增加FEC,采用RTP协议进行封装,得到RTP视频数据包,并将RTP视频数据包发送至第一终端。
5、RTCP质量调控:从jitter buf中获取收包信息,并从下发队列获取发包信息,结合发送报告、接收报告,计算丢包率、抖动、延时等信息,进而根据丢包率、抖动、延时等信息对第一终端侧的音视频数据传输质量进行调控。
本发明实施例提供的方法,第一终端无需安装网络直播应用的SDK,通过与信令服务器和中转服务器进行交互,确定用于数据传输的第一数据端口、第二数据端口及第三数据端口,进而基于第一数据端口、第二数据端口及第三数据端口接入到网络直播间,从而克服了现有接入方法的局限性。
本发明实施例提供了一种网络直播间的接入方法,该方法应用于网络直播系统,该网络直播系统包括第一终端、服务器、接口机及第二终端等,其中,服务器包括登录模块、信令模块、中转模块、策略模块及查询模块等不同的功能模块,服务器中的信令模块和中转模块具有实时通信功能,基于信令模块和中转模块的实时通信功能,服务器能够与第一终端和接口机建立网络连接,从而使得第一终端能够接入到网络直播间。参见图8,本发明实施例提供的方法流程包括:
801、当接收到第一终端的接入请求时,服务器为第一终端分配第一数据端口。
当第一终端侧的Web用户想要接入到网络直播间时,该Web用户可通过第一终端向服务器的信令模块发送网页显示请求,当接收到网页显示请求时,服务器的信令模块返回网络直播间的登录页面。在登录页面的显示过程中,Web用户可通过鼠标、键盘、物理按键、虚拟按键等在登录页面上输入登录账号及登录密码,当检测到登录页面上的登录选项被选中,第一终端通过登录页面向服务器的信令模块发送接入请求,由信令模块发送将接入请求发送至服务器的中转模块,当接收到接入请求时,中转模块从未分配的数据端口中随机选取一个数据端口作为第一数据端口,进而将该第一数据端口分配给第一终端。其中,接入请求包括登录账号、登录密码、网络直播间标识及第一终端的IP地址等等。
为了提高数据传输的安全性,当检测到登录选项被选中,第一终端还可通过登录页面向服务器的登录模块发送登录请求,该登录请求包括登录账号和网络直播间标识。当接收到登录请求时,登录模块采用预设签名算法对登录账号和网络直播间标识进行签名计算,得到签名信息,并将该签名信息发送至第一终端。当接收到签名信息时,第一终端将该接入请求和签名信息发送至服务器的信令模块。当接收到接入请求和签名信息时,信令模块对该签名信息进行校验,如果该签名信息通过校验,信令模块通过中转模块的穿越端口将接入请求发送至中转模块,由中转模块从未分配的数据端口中随机选取一个数据端口作为第一数据端口,进而将该第一数据端口分配给第一终端。
在本发明实施例中,服务器的查询模块中存储有网络直播间标识、登录账号与网络直播间账号之间的对应关系,该网络直播间账号为网络直播系统内各个设备能够识别的统一标识,可用tinyid表示。为了能够在网络直播系统内进行信息交互,当接收到接入请求时,中转模块还将根据登录账号和网络直播间标识,从查询模块上获取登录账号和网络直播间标识对应的网络直播账号。另外,为了便于对第一终端的接入过程进行监控,当获取到网络直播间账号,中转模块还根据该网络直播间账号建立状态跟踪列表,该状态跟踪列表用于记录第一终端接入状态及对应的接入时间。
在本发明的另一个实施例中,服务器的中转模块为第一终端分配第一数据端口之后,中转模块还将获取第一数据端口标识,并通过穿越端口将第一数据端口标识和穿越端口标识发送至信令模块,由信令模块将第一数据端口标识和穿越端口标识发送至第一终端,当接收到第一数据端口标识和穿越端口标识,第一终端存储第一数据端口标识和穿越端口标识,该第一数据端口标识用于第一终端向中转模块传输数据,该穿越端口标识用于第一终端向中转模块进行穿越。
802、接口机为第一终端分配第二数据端口。
在本发明实施例中,当接收到接入请求时,服务器的中转模块将向服务器的策略模块发送接入请求。策略模块根据第一终端的IP地址,确定该第一终端所属的数据中心,根据数据中心内每个流控机的负载情况,为第一终端分配对应的流控机,根据所选取的流控机所连接的接口机的负载情况,为第一终端分配对应的接口机及接口机的第二数据端口,当然,为了确保传输的数据安全,策略模块还将根据预设签名算法对登录账号和网络直播间标识进行签名计算,得到签名信息,进而向中转模块发送响应消息,该响应消息包括接口机标识、第二数据端口标识、签名信息等。当接收到响应消息时,中转模块通过第一数据端口向该接口机的第二数据端口发送接入请求,该接入请求除了携带第一终端的IP地址、网络直播间标识、登录账号外,还携带接口机标识、第二数据端口标识及签名信息等。当接收到接入请求时,接口机对该签名信息进行校验,并在校验通过后,将第二数据端口分配给第一终端,该第二数据端口用于传输第一终端的音视频数据及各种指令。
需要说明的是,上述中转模块向第一终端发送第一数据端口标识和穿越端口标识的过程,以及接口机为第一终端分配第二数据端口的过程,并不没有先后明确的先后顺序,即上述两个过程可同时进行,也可中转模块先向第一终端发送第一数据端口标识和穿越端口标识,接口机后为第一终端分配第二数据端口。
803、接口机和服务器存储第一数据端口和第二数据端口之间的对应关系。
基于所分配的第一数据端口、第二数据端口,服务器的中转模块与接口机建立网络连接。为了维持网络连接状态,中转模块可定时向接口机发送用于维持心跳的指令,接口机也向中转模块发送维持心跳的响应指令。另外,为了便于后续应用,接口机还将存储第一终端的IP地址、第一数据端口及第二数据端口之间的对应关系,中转模块也会存储第一终端的IP地址、第一数据端口及第二数据端口之间的对应关系。
由于第一终端和服务器的中转模块进行音视频数据传输时所支持的数据格式是不同的,为使第一终端能够对服务器的中转模块发送的音视频数据进行解码,中转模块能够对第一终端发送的音视频数据进行解码,在本发明实施例中第一终端和服务器的中转模块还将进行SDP能力协商,以确定进行音视频数据传输的数据格式。具体协商过程为:
第一终端向服务器的信令模块发送数据传输能力协商请求,该数据传输能力协商请求包括第一终端支持的音频数据格式和视频数据格式,当接收到数据传输能力协商请求时,信令模块将该数据传输能力协商请求发送至中转模块。当接收到数据传输能力协商请求时,中转模块根据第一终端支持的音频数据格式和视频数据格式以及中转服务器支持的音频数据格式和视频数据格式,确定与第一终端进行音视频数据传输时的数据格式,并向信令模块发送数据传输能力协商响应,该数据传输能力协商响应包括与第一终端进行音视频数据传输时的数据格式。当接收到数据传输能力协商响应时,信令模块将数据传输能力协商响应发送至第一终端。
为了提高数据传输的安全性,第一终端向信令模块发送数据传输能力协商请求之前,第一终端将启动DTLS过程,在DTLS过程生成第一证书指纹,并将第一证书指纹携带在数据传输能力协商请求中发送至中转模块。中转模块将数据传输能力协商响应发送至第一终端之前,中转模块也将启动DTLS过程,在DTLS过程生成第二证书指纹,并将第二证书指纹携带在数据传输能力协商响应中发送至第一终端。其中,第一证书指纹和第二证书指纹用于第一终端与中转模块彼此进行安全验证。
需要说明的是,第一终端的IP地址是由第一终端在发送过程中由网卡加入到的接入请求中的,实际上第一终端的网络直播应用或第一终端的浏览器不能从网卡读取到第一终端的IP地址,为了获取到第一终端的IP地址,第一终端可通过穿越端口向中转模块发送IP地址获取请求,在IP地址获取请求的转发过程中,第一终端的网卡可将第一终端的IP地址添加到IP地址获取请求中,当接收到IP地址获取请求时,中转模块读取第一终端的IP地址,并通过穿越端口将第一终端的IP地址发送至第一终端,从而使得第一终端的网络直播应用或第一终端的浏览器可获知第一终端的IP地址。
804、第一终端确定与服务器进行数据传输的第三数据端口。
在本发明实施例中,第一终端上有多个用于进行音视频数据传输的数据端口,为了确定出本次接入到网络直播间时与服务器的中转模块进行数据传输的数据端口,第一终端可向服务器的信令模块发送本端的至少一个数据端口标识,由信令模块将至少一个数据端口标识发送至中转模块,当接收到至少一个数据端口标识时,中转模块从至少一个数据端口标识中,选取进行数据传输的目标数据端口标识,并将目标数据端口标识发送至信令模块,由信令模块将目标数据端口标识发送至第一终端,当接收到目标数据端口标识时,第一终端将目标数据端口标识对应的数据端口作为第三数据端口。
805、第一终端和服务器存储第一数据端口与第三数据端口之间的对应关系。
当选取第三数据端口作为本次进行数据传输的数据端口时,第一终端还将向服务器的中转模块发送端口绑定请求,该端口绑定请求包括第一终端的IP地址和第三数据端口标识,该端口绑定请求可以为ICE端口绑定请求。当接收到端口绑定请求时,中转模块向第一终端发送绑定成功消息。当将第三数据端口成功绑定时,第一终端与服务器的中转模块实际上建立了网络连接。为了便于后续进行音视频数据转发,中转模块还将存储第一终端的IP地址、第一数据端口及第二数据端口之间的对应关系,第一终端也将存储第一终端的IP地址、第一数据端口及第二数据端口之间的对应关系。
为了提高数据传输的安全性,当第一终端与服务器的中转模块建立网络连接之后,中转模块还将通过第一数据端口向第一终端的第三数据端口发送至少一个加密套件,每种加密套件用于对一种数据进行加密,每种加密套件包括对一种数据进行加密的多种加密算法。当接收到至少一个加密套件时,第一终端从至少一个加密套件中,选取目标加密套件,进而将目标加密套件和第一证书指纹发送至中转模块。当接收到目标加密套件和第一证书指纹时,中转模块根据本端存储的第一证书指纹对第一证书指纹进行校验,并在校验通过后,采用加密算法生成第一密钥,并将生成的第一密钥和第二证书指纹发送至第一终端。当接收到第一密钥和第二证书指纹时,第一终端对第二证书指纹进行校验,并在校验通过后,生成第二密钥,进而将生成的第二密钥发送至中转模块。在本发明实施例中,目标加密套件、第一密钥和第二密钥用于第一终端和中转模块对传输的数据进行加密。
806、基于第一终端、服务器及接口机所存储的对应关系,第一终端接入到网络直播间标识对应的网络直播间。
基于第一终端和服务器的中转模块所存储的对应关系,第一终端与中转模块建立网络连接,基于中转模块和接口机所存储的对应关系,中转模块与接口机建立网络连接,基于所建立的网络连接,第一终端可接入到网络直播间标识对应的网络直播间中。
需要说明的是,上述步骤801至806详述了第一终端接入网络直播间的过程,对于安装有内置SDK的网络直播应用的第二终端及安装有SDK组件的网页版网络直播应用的第二终端,可通过内置SDK的网络直播应用或安装有SDK组件的网页版网络直播应用接入到网络直播间。
在网络直播内,当网络内第二终端有音视频数据需要发送时,第二终端可向接口机的第四数据端口发送音视频数据,当通过第四数据端口接收到第二终端的音视频数据时,接口机通过第四数据端口将音视频数据发送至接口机的第五数据端口。针对第五数据端口对应的终端的不同类型,接口机进行音视频数据转发的路径是不同的。具体地,当第五数据端口对应的终端为其他第二终端时,接口机可通过第五数据端口将音视频数据发送至其他第二终端;当第五数据端口对应的终端为第一终端时,接口机通过第五数据端口将音视频数据发送至服务器的中转模块的第一数据端口,由中转模块通过第一数据端口将音视频数据发送至第一终端。
需要说明的是,上述接口机对音视频数据的转发以同一数据中心为例进行介绍,对于位于网络直播间的其他数据中心,接口机可根据本地存储的网络直播间内其他接口机的信息(IP地址、接口机标识等),通过第四数据端口发送至其他接口机,由其他接口机进行转发。对于其他接口机的转发过程,与该接口机的转发过程相同,具体参见该接口机对音视频数据的转发过程,此处不再赘述。
在网络直播间内,当网络内第一终端音视频数据需要发送时,第一终端可通过第三数据端口向服务器的中转模块的第一数据端口发送音视频数据,当接收到音视频数据时,中转模块通过第一数据端口将音视频数据发送至接口机的第二数据端口,当接收到音视频数据时,接口机通过第二数据端口将音视频数据发送至接口机的第六数据端口。针对第六数据端口对应的终端的不同类型,接口机进行音视频数据转发的路径是不同的。具体地,当第六数据端口对应的终端为第二终端时,接口机通过第六数据端口将音视频数据发送至第二终端;当第六数据端口对应的终端为其他第一终端时,接口机通过第六数据端口将音视频数据发送至中转模块的第七数据端口,由中转模块通过第七数据端口将音视频数据发送至其他第一终端。
需要说明的是,上述接口机对音视频数据的转发以同一数据中心为例进行介绍,对于位于网络直播间的其他数据中心,接口机可根据本地存储的网络直播间内其他接口机的信息(IP地址、接口机标识等),通过第六数据端口发送至其他接口机,由其他接口机进行转发。对于其他接口机的转发过程,与该接口机的转发过程相同,具体参见该接口机对音视频数据的转发过程,此处不再赘述。
在本发明实施例中,在音频数据格式方面,第二终端支持的音频数据格式为AAC或SILK等,第一终端支持的音频数据格式为OPUS、G.711、G.719等,当音频数据在第一终端和第二终端之间传输时,需要服务器的中转模块进行转码才能互通。在视频数据格式方面,第二终端支持的视频数据格式为H.264,第一终端支持的视频数据格式为H.264、VP8、VP9等,当第一终端和第二终端采用H.264作为视频数据格式时,由服务器的中转模块进行转封装即可互通。在传输协议方面,第二终端支持的传输协议为UDP协议,第一终端支持的传输协议为RTP协议,需要中转模块进行协议转换才能互通。在质量调控方面,第二终端是采用私有的信令进行调控的,第一终端是采用标准的RTCP进行调节的,当多个终端同时接入到网络直播间时,可通过中转模块对第一终端的音视频传输质量进行调控。
中转模块对音频数据进行转码、对视频数据进行转封装过程如下:
在将第一终端的RTP音频数据包发送至接口机的过程中,中转模块将RTP音频数据包转换为UDP音频数据包。其中,UDP音频数据包能够被接口机识别,该UDP音频数据包的格式可以为AAC等,当然,也可以为其他格式。
在将接口机的UDP音频数据包发送至第一终端的过程中,中转模块将UDP音频数据包转换为RTP音频数据包。其中,RTP音频数据包能够被第一终端识别,该RTP音频数据包的格式可以为OPUS等,当然,也可以为其他格式。
在将第一终端的RTP视频数据包发送至接口机的过程中,中转模块将RTP视频数据包转换为UDP视频数据包。其中,UDP视频数据包能够被接口机识别,该UDP视频数据包的格式可以为H.264等,当然,也可以为其他格式。
在将接口机的UDP视频数据包发送至第一终端的过程中,中转模块将UDP视频数据包转换为RTP视频数据包。其中,RTP视频数据包能够被第一类终端识别,该RTP视频数据包的格式可以为H.264,当然,也可以为其他格式。
在本发明的另一个实施例中,为了便于对第一终端的数据传输质量进行调控,在接口机与第一终端的通信过程中,中转模块获取收包信息和发包信息,进而根据收包信息和发包信息,对第一终端数据传输质量进行调控。其中,发包信息包括发送数据包的数据量、发送数据包的时间等。收包信息包括接收数据包的数据量、接收数据包的时间等。基于获取到的收包信息和发包信息,中转服务器可计算出丢包率、往返时延、抖动等,并基于计算出的丢包率、往返时延、抖动等,对第一终端的数据传输质量进行调控。
本发明实施例提供的方法,第一终端无需安装网络直播应用的SDK,通过与具有实时通信功能的服务器进行交互,确定用于数据传输的第一数据端口、第二数据端口及第三数据端口,进而基于第一数据端口、第二数据端口及第三数据端口接入到网络直播间,从而克服了现有接入方法的局限性。
本发明实施例提供了一种网络直播系统,该网络直播系统用于执行图3所示的网络直播间的接入方法,参见图9,该网络直播系统包括:第一终端901、信令服务器902、中转服务器903及接口机904,该信令服务器902和中转服务器903均具有实时通信功能,能够与第一终端和接口机建立网络连接;
中转服务器903,用于当通过信令服务器902接收到第一终端901的接入请求时,为第一终端分配第一数据端口,该接入请求包括网络直播间标识;
接口机904,用于为第一终端901分配第二数据端口,并存储第一数据端口与第二数据端口之间的对应关系;
中转服务器903,还用于存储第一数据端口与所述第二数据端口之间的对应关系;
第一终端901,用于通过与信令服务器902进行交互,确定第一终端901上进行数据传输的第三数据端口,并存储第一数据端口和第三数据端口之间的对应关系;
中转服务器903,还用于通过与信令服务器902进行交互,确定第一终端901上进行数据传输的第三数据端口,并存储第一数据端口与第三数据端口之间的对应关系;
第一终端901,还用于基于第一终端、中转服务器及接口机所存储的对应关系,接入网络直播间标识对应的网络直播间。
参见图10,网络直播系统还包括:登录服务器905;
第一终端901,还用于向信令服务器902发送网页显示请求,该网页显示请求用于信令服务器返回网络直播间的登录页面;
第一终端901,还用于通过登录页面向登录服务器905发送登录请求,该登录请求包括登录账号和网络直播间标识;
登录服务器905,还用于对登录账号和网络直播间标识进行签名计算,得到签名信息,并将签名信息发送至第一终端;
第一终端901,还用于向信令服务器902发送接入请求和签名信息;
信令服务器902,还用于对签名信息进行校验,并在校验通过后,通过穿越端口将接入请求发送至中转服务器903。
在本发明的另一个实施例中,中转服务器903,还用于将第一数据端口标识和穿越端口标识发送至信令服务器902,由信令服务器902将第一数据端口标识和穿越端口标识发送至第一终端901;
第一终端901,还用于当接收到第一数据端口标识和穿越端口标识时,存储第一数据端口标识和穿越端口标识;
其中,第一数据端口标识用于第一终端901向中转服务器903传输数据,穿越端口标识用于第一终端901向中转服务器903进行穿越。
参见图11,网络直播系统还包括策略服务器906;
中转服务器903,还用于向策略服务器906发送接入请求;
策略服务器906,还用于当接收到接入请求时,将接口机904和接口机的第二数据端口分配给第一终端901,并向中转服务器903发送响应消息,该响应消息包括接口机标识和第二数据端口标识;
中转服务器903,还用于当接收到响应消息时,通过第一数据端口向接口机的第二数据端口发送接入请求;
接口机904,还用于当接收到接入请求时,将第二数据端口分配给第一终端901。
在本发明的另一个实施例中,第一终端901,还用于向信令服务器902发送数据传输能力协商请求,该数据传输能力协商请求包括第一终端支持的音频数据格式和视频数据格式,由信令服务器902将数据传输能力协商请求发送至中转服务器903;
中转服务器903,还用于当接收到数据传输能力协商请求时,根据第一终端支持的音频数据格式和视频数据格式以及中转服务器支持的音频数据格式和视频数据格式,确定与第一终端进行音视频数据传输时的数据格式,并向信令服务器902发送数据传输能力协商响应,该数据传输能力协商响应包括与第一终端进行音视频数据传输时的数据格式;
信令服务器902,还用于当接收到数据传输能力协商响应时,将数据传输能力协商响应发送至第一终端901。
在本发明的另一个实施例中,第一终端901,还用于生成第一证书指纹,并将第一证书指纹携带在数据传输能力协商请求中发送至中转服务器903;
中转服务器903,还用于当接收到数据传输能力协商请求时,生成第二证书指纹,并将第二证书指纹携带在数据传输能力协商响应中发送至第一终端901;
其中,第一证书指纹和第二证书指纹用于第一终端901与中转服务器903彼此进行安全验证。
在本发明的另一个实施例中,第一终端901,还用于向信令服务器902发送本端的至少一个数据端口标识,由信令服务器902将至少一个数据端口标识发送至中转服务器903;
中转服务器903,还用于从至少一个数据端口标识中,选取进行数据传输的目标数据端口标识,并将目标数据端口标识发送至信令服务器902,由信令服务器902将目标数据端口标识发送至第一终端901;
第一终端901,还用于当接收到目标数据端口标识时,将目标数据端口标识对应的数据端口作为第三数据端口。
在本发明的另一个实施例中,第一终端901,还用于向中转服务器903发送端口绑定请求,该端口绑定请求包括第三数据端口标识;
中转服务器903,还用于当接收到端口绑定请求时,向第一终端901发送绑定成功消息,并存储第一数据端口与第三数据端口之间的对应关系。
在本发明的另一个实施例中,中转服务器903,还用于通过第一数据端口向第一终端的第三数据端口发送至少一个加密套件;
第一终端901,还用于从至少一个加密套件中,选取目标加密套件,并将目标加密套件和第一证书指纹发送至中转服务器;
中转服务器903,还用于对第一证书指纹进行校验,并在校验通过后,将生成的第一密钥和第二证书指纹发送至第一终端901;
第一终端901,还用于对第二证书指纹进行校验,并在校验通过后,将生成的第二密钥发送至中转服务器903;
其中,目标加密套件、第一密钥和第二密钥用于第一终端901和中转服务器903对传输的数据进行加密。
在本发明的另一个实施例中,网络直播系统还包括第二终端,第二终端安装有软件开发工具包SDK;
接口机904,还用于当通过第四数据端口接收到第二终端的音视频数据时,通过第四数据端口将音视频数据发送至接口机的第五数据端口;
接口机904,还用于当第五数据端口对应的终端为其他第二终端时,通过第五数据端口将音视频数据发送至其他第二终端;
接口机904,还用于当第五数据端口对应的终端为第一终端时,通过第五数据端口将音视频数据发送至中转服务器903的第一数据端口,由中转服务器903通过第一数据端口将音视频数据发送至第一终端。
参见图12,网络直播系统还包括第二终端907,第二终端安装有软件开发工具包SDK;
第一终端901,还用于通过第三数据端口向中转服务器903的第一数据端口发送音视频数据;
中转服务器903,还用于通过第一数据端口将音视频数据发送至接口机904的第二数据端口;
接口机904,还用于通过第二数据端口将音视频数据发送至接口机的第六数据端口;
接口机904,还用于当第六数据端口对应的终端为第二终端时,通过第六数据端口将音视频数据发送至第二终端;
接口机904,还用于当第六数据端口对应的终端为其他第一终端时,通过第六数据端口将音视频数据发送至中转服务器的第七数据端口,由中转服务器通过第七数据端口将音视频数据发送至其他第一终端。
在本发明的另一个实施例中,中转服务器903,用于在将第一终端的RTP音频数据包发送至接口机的过程中,将RTP音频数据包转换为UDP音频数据包,UDP音频数据包能够被接口机识别;
中转服务器903,还用于在将接口机的UDP音频数据包发送至第一终端的过程中,将UDP音频数据包转换为RTP音频数据包,RTP音频数据包能够被第一终端识别;
中转服务器903,还用于在将第一终端的RTP视频数据包发送至接口机的过程中,将RTP视频数据包转换为UDP视频数据包,UDP视频数据包能够被接口机识别;
中转服务器903,还用于在将接口机的UDP视频数据包发送至第一终端的过程中,将UDP视频数据包转换为RTP视频数据包,RTP视频数据包能够被第一终端识别。
在本发明的另一个实施例中,中转服务器903,用于在接口机与第一终端的通信过程中,获取收包信息和发包信息;
中转服务器903,用于根据收包信息和发包信息,对第一终端数据的传输质量进行调控。
需要说明的是,本发明实施例中的第一终端901具有图3中第一终端的全部功能,能够执行图3中第一终端所执行的全部操作;信令服务器902具有图3中信令服务器的全部功能,能够执行图3中信令服务器所执行的全部操作;中转服务器903具有图3中中转服务器的全部功能,能够执行图3中中转服务器所执行的全部操作;接口机904具有图3中接口机的全部功能,能够执行图3中接口机执行的全部操作;登录服务器905具有图3中登录服务器的全部功能,能够执行图3中登录服务器所执行的全部操作;策略服务器906具有图3中策略服务器的全部功能,能够执行图3中策略服务器所执行的全部操作;第二终端907具有与图3中第二终端的全部功能,能够执行图3中第二终端执行的全部操作。基于本发明实施例所提供的网络直播系统,通过执行图3所示的网络直播间的接入方法,使得第一终端接入到网络直播间。
本发明实施例提供的系统,第一终端无需安装网络直播应用的SDK,通过与信令服务器和中转服务器进行交互,确定用于数据传输的第一数据端口、第二数据端口及第三数据端口,进而基于第一数据端口、第二数据端口及第三数据端口接入到网络直播间,从而克服了现有接入方法的局限性。
本发明实施例提供了一种网络直播系统,该网络直播系统用于执行图8所示的网络直播间的接入方法,参见图13,该网络直播系统包括:第一终端1301、服务器1302及接口机1303,该服务器1302具有实时通信功能,能够与第一终端1302和接口机1303建立网络连接;
服务器1302,用于当接收到第一终端1301的接入请求时,为第一终端1301分配第一数据端口,该接入请求包括网络直播间标识;
接口机1303,用于为第一终端1301分配第二数据端口,并存储第一数据端口和第二数据端口之间的对应关系;
服务器1302,还用于存储第一数据端口和第二数据端口之间的对应关系;
第一终端1301,用于确定与服务器1302进行数据传输的第三数据端口,并存储第一数据端口与第三数据端口之间的对应关系;
服务器1302,还用于存储第一数据端口与第三数据端口之间的对应关系;
第一终端1301,还用于基于第一终端1301、服务器1302及接口机1303所存储的对应关系,接入到网络直播间标识对应的网络直播间。
参见图14,服务器1302包括登录模块13021、信令模块13022及中转模块13023;
第一终端1301,还用于向信令模块13021发送网页显示请求,该网页显示请求用于信令模块13021返回网络直播间的登录页面;
第一终端1301,还用于通过登录页面向登录模块13021发送登录请求,该登录请求包括登录账号和网络直播间标识;
登录模块13021,还用于对登录账号和网络直播间标识进行签名计算,得到签名信息,并将签名信息发送至第一终端;
第一终端1301,还用于向信令模块13022发送接入请求和签名信息;
信令模块13022,还用于对签名信息进行校验,并在校验通过后,通过穿越端口将接入请求发送至中转模块13023。
在本发明的另一个实施例中,中转模块13023,还用于将第一数据端口标识和穿越端口标识发送至信令模块13022,由信令模块13022将第一数据端口标识和穿越端口标识发送至第一终端13022;
第一终端1301,还用于当接收到第一数据端口标识和穿越端口标识时,存储第一数据端口标识和穿越端口标识;
其中,第一数据端口标识用于第一终端1301向中转模块13023传输数据,穿越端口标识用于第一终端1301向中转模块13023进行穿越。
参见图15,服务器1302还包括策略模块13024;
中转模块13023,还用于向策略模块13024发送接入请求;
策略模块13024,还用于当接收到接入请求时,将接口机1304和接口机的第二数据端口分配给第一终端1301,并向中转模块13023发送响应消息,该响应消息包括接口机标识和第二数据端口标识;
中转模块13023,还用于当接收到响应消息时,通过第一数据端口向接口机的第二数据端口发送接入请求;
接口机1303,还用于当接收到接入请求时,将第二数据端口分配给第一终端1301。
在本发明的另一个实施例中,第一终端1301,还用于向信令模块13023发送数据传输能力协商请求,该数据传输能力协商请求包括第一终端支持的音频数据格式和视频数据格式,由信令模块13022将数据传输能力协商请求发送至中转模块13023;
中转模块13023,还用于当接收到数据传输能力协商请求时,根据第一终端支持的音频数据格式和视频数据格式以及中转模块支持的音频数据格式和视频数据格式,确定与第一终端进行音视频数据传输时的数据格式,并向信令模块发送数据传输能力协商响应,该数据传输能力协商响应包括与第一终端进行音视频数据传输时的数据格式;
信令模块13022,还用于当接收到数据传输能力协商响应时,将数据传输能力协商响应发送至第一终端1301。
在本发明的另一个实施例中,第一终端1301,还用于生成第一证书指纹,并将第一证书指纹携带在数据传输能力协商请求中发送至中转模块13023;
中转模块13023,还用于当接收到数据传输能力协商请求时,生成第二证书指纹,并将第二证书指纹携带在数据传输能力协商响应中发送至第一终端1301;
其中,第一证书指纹和第二证书指纹用于第一终端1301与中转模块13023彼此进行安全验证。
在本发明的另一个实施例中,第一终端1301,还用于向信令模块13022发送本端的至少一个数据端口标识,由信令模块13022将至少一个数据端口标识发送至中转模块13023;
中转模块13023,还用于从至少一个数据端口标识中,选取进行数据传输的目标数据端口标识,并将目标数据端口标识发送至信令模块13022,由信令模块13022将目标数据端口标识发送至第一终端1301;
第一终端1301,还用于当接收到目标数据端口标识时,将目标数据端口标识对应的数据端口作为第三数据端口。
在本发明的另一个实施例中,第一终端1301,还用于向中转模块13023发送端口绑定请求,该端口绑定请求包括第三数据端口标识;
中转模块13023,还用于当接收到端口绑定请求时,向第一终端1301发送绑定成功消息,并存储第一数据端口与第三数据端口之间的对应关系。
在本发明的另一个实施例中,中转模块13023,还用于通过第一数据端口向第一终端的第三数据端口发送至少一个加密套件;
第一终端1301,还用于从至少一个加密套件中,选取目标加密套件,并将目标加密套件和第一证书指纹发送至中转模块13023;
中转模块13023,还用于对第一证书指纹进行校验,并在校验通过后,将生成的第一密钥和第二证书指纹发送至第一终端1301;
第一终端1301,还用于对第二证书指纹进行校验,并在校验通过后,将生成的第二密钥发送至中转模块13023;
其中,目标加密套件、第一密钥和第二密钥用于第一终端1301和中转模块13023对传输的数据进行加密。
参见图16,网络直播系统还包括第二终端1304,第二终端1304安装有软件开发工具包SDK;
接口机1303,还用于当通过第四数据端口接收到第二终端1304的音视频数据时,通过第四数据端口将音视频数据发送至接口机的第五数据端口;
接口机1303,还用于当第五数据端口对应的终端为其他第二终端时,通过第五数据端口将音视频数据发送至其他第二终端;
接口机1303,还用于当第五数据端口对应的终端为第一终端时,通过第五数据端口将音视频数据发送至中转模块13023的第一数据端口,由中转模块13023通过第一数据端口将音视频数据发送至第一终端1301。
在本发明的另一个实施例中,网络直播系统还包括第二终端1304,第二终端安装有软件开发工具包SDK;
第一终端1301,还用于通过第三数据端口向中转模块13023的第一数据端口发送音视频数据;
中转模块13023,还用于通过第一数据端口将音视频数据发送至接口机1303的第二数据端口;
接口机1303,还用于通过第二数据端口将音视频数据发送至接口机的第六数据端口;
接口机1303,还用于当第六数据端口对应的终端为第二终端1304时,通过第六数据端口将音视频数据发送至第二终端1304;
接口机1303,还用于当第六数据端口对应的终端为其他第一终端时,通过第六数据端口将音视频数据发送至中转模块13023的第七数据端口,由中转模块13023通过第七数据端口将音视频数据发送至其他第一终端。
在本发明的另一个实施例中,中转模块13023,用于在将第一终端的RTP音频数据包发送至接口机的过程中,将RTP音频数据包转换为UDP音频数据包,UDP音频数据包能够被接口机识别;
中转模块13023,还用于在将接口机的UDP音频数据包发送至第一终端的过程中,将UDP音频数据包转换为RTP音频数据包,RTP音频数据包能够被第一终端识别;
中转模块13023,还用于在将第一终端的RTP视频数据包发送至接口机的过程中,将RTP视频数据包转换为UDP视频数据包,UDP视频数据包能够被接口机识别;
中转模块13023,还用于在将接口机的UDP视频数据包发送至第一终端的过程中,将UDP视频数据包转换为RTP视频数据包,RTP视频数据包能够被第一终端识别。
在本发明的另一个实施例中,中转模块13023,用于在接口机与第一终端的通信过程中,获取收包信息和发包信息;
中转模块13023,用于根据收包信息和发包信息,对第一终端数据的传输质量进行调控。
需要说明的是,本发明实施例中的第一终端1301具有图8中第一终端的全部功能,能够执行图8中第一终端所执行的全部操作;服务器1302具有与图8中服务器的全部功能,能够执行图8中服务器所执行的全部操作,具体地,登录模块13021能够执行图8中登录模块所执行的全部操作,信令模块13022能够执行图8中信令模块所执行的全部操作,中转模块13023能够执行图8中中转模块所执行的全部操作,策略模块13024能够执行图8中策略模块所执行的全部操作;接口机1303具有与图8中接口机的全部功能,能够执行图8中接口机执行的全部操作;第二终端1304具有与图8中第二终端的全部功能,能够执行图8中第二终端执行的全部操作。基于本发明实施例所提供的网络直播系统,通过执行图8所示的网络直播间的接入方法,使得第一终端接入到网络直播间。
本发明实施例提供的系统,第一终端无需安装网络直播应用的SDK,通过与具有实时通信功能的服务器进行交互,确定用于数据传输的第一数据端口、第二数据端口及第三数据端口,进而基于第一数据端口、第二数据端口及第三数据端口接入到网络直播间,从而克服了现有接入方法的局限性。
需要说明的是:上述实施例提供的网络直播系统在接入网络直播间时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将网络直播系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的网络直播系统与网络直播间的接入方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种网络直播间的接入方法,其特征在于,所述方法应用于网络直播系统,所述网络直播系统包括:第一终端、信令服务器、中转服务器及接口机,所述信令服务器和所述中转服务器均具有实时通信功能,能够与所述第一终端和所述接口机建立网络连接,所述方法包括:
当通过所述信令服务器接收到所述第一终端的接入请求时,所述中转服务器为所述第一终端分配第一数据端口,所述接入请求包括网络直播间标识;
所述接口机为所述第一终端分配第二数据端口;
所述接口机和所述中转服务器存储所述第一数据端口与所述第二数据端口之间的对应关系;
所述第一终端和所述中转服务器通过与所述信令服务器进行交互,确定所述第一终端上进行数据传输的第三数据端口;
所述第一终端和所述中转服务器存储所述第一数据端口与所述第三数据端口之间的对应关系;
基于所述第一终端、所述中转服务器及所述接口机所存储的对应关系,所述第一终端接入所述网络直播间标识对应的网络直播间。
2.根据权利要求1所述的方法,其特征在于,所述网络直播系统还包括:登录服务器;
所述方法还包括:
所述第一终端向所述信令服务器发送网页显示请求,所述网页显示请求用于所述信令服务器返回所述网络直播间的登录页面;
所述第一终端通过所述登录页面向所述登录服务器发送登录请求,所述登录请求包括登录账号和所述网络直播间标识;
所述登录服务器对所述登录账号和所述网络直播间标识进行签名计算,得到签名信息,并将所述签名信息发送至所述第一终端;
所述第一终端向所述信令服务器发送所述接入请求和所述签名信息;
所述信令服务器对所述签名信息进行校验,并在校验通过后,通过所述中转服务器的穿越端口将所述接入请求发送至所述中转服务器。
3.根据权利要求2所述的方法,其特征在于,所述中转服务器为所述第一终端分配第一数据端口之后,还包括:
所述中转服务器将第一数据端口标识和穿越端口标识发送至所述信令服务器,由所述信令服务器将所述第一数据端口标识和所述穿越端口标识发送至所述第一终端;
当接收到所述第一数据端口标识和穿越端口标识,所述第一终端存储所述第一数据端口标识和穿越端口标识,所述第一数据端口标识用于所述第一终端向所述中转服务器传输数据,所述穿越端口标识用于所述第一终端向所述中转服务器进行穿越。
4.根据权利要求1所述的方法,其特征在于,所述网络直播系统还包括策略服务器;
所述接口机为所述第一终端分配第二数据端口,包括:
所述中转服务器向所述策略服务器发送所述接入请求;
当接收到所述接入请求时,所述策略服务器将所述接口机和所述接口机的第二数据端口分配给所述第一终端,并向所述中转服务器发送响应消息,所述响应消息包括接口机标识和第二数据端口标识;
当接收到所述响应消息时,所述中转服务器通过所述第一数据端口向所述接口机的第二数据端口发送所述接入请求;
当接收到所述接入请求时,所述接口机将所述第二数据端口分配给所述第一终端。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一终端向所述信令服务器发送数据传输能力协商请求,所述数据传输能力协商请求包括所述第一终端支持的音频数据格式和视频数据格式,由所述信令服务器将所述数据传输能力协商请求发送至所述中转服务器;
当接收到所述数据传输能力协商请求时,所述中转服务器根据所述第一终端支持的音频数据格式和视频数据格式以及所述中转服务器支持的音频数据格式和视频数据格式,确定与所述第一终端进行音视频数据传输时的数据格式,并向所述信令服务器发送数据传输能力协商响应,所述数据传输能力协商响应包括与所述第一终端进行音视频数据传输时的数据格式;
当接收到所述数据传输能力协商响应时,所述信令服务器将所述数据传输能力协商响应发送至所述第一终端。
6.根据权利要求1所述的方法,其特征在于,所述第一终端与所述中转服务器通过与所述信令服务器进行交互,确定所述第一终端上进行数据传输的第三数据端口,包括:
所述第一终端向所述信令服务器发送本端的至少一个数据端口标识,由所述信令服务器将所述至少一个数据端口标识发送至所述中转服务器;
所述中转服务器从所述至少一个数据端口标识中,选取进行数据传输的目标数据端口标识,并将所述目标数据端口标识发送至所述信令服务器,由所述信令服务器将所述目标数据端口标识发送至所述第一终端;
当接收到所述目标数据端口标识时,所述第一终端将所述目标数据端口标识对应的数据端口作为所述第三数据端口。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述网络直播系统还包括第二终端,所述第二终端安装有软件开发工具包SDK,所述方法还包括:
当通过第四数据端口接收到所述第二终端的音视频数据时,所述接口机通过所述第四数据端口将所述音视频数据发送至所述接口机的第五数据端口;
当所述第五数据端口对应的终端为其他第二终端时,所述接口机通过所述第五数据端口将所述音视频数据发送至所述其他第二终端;
当所述第五数据端口对应的终端为所述第一终端时,所述接口机通过所述第五数据端口将所述音视频数据发送至所述中转服务器的所述第一数据端口,由所述中转服务器通过所述第一数据端口将所述音视频数据发送至所述第一终端。
8.根据权利要求1至6中任一项所述的方法,其特征在于,所述网络直播系统还包括第二终端,所述第二终端安装有软件开发工具包SDK,所述方法还包括:
所述第一终端通过所述第三数据端口向所述中转服务器的所述第一数据端口发送音视频数据;
所述中转服务器通过所述第一数据端口将所述音视频数据发送至所述接口机的所述第二数据端口;
所述接口机通过所述第二数据端口将所述音视频数据发送至所述接口机的第六数据端口;
当所述第六数据端口对应的终端为所述第二终端时,所述接口机通过所述第六数据端口将所述音视频数据发送至所述第二终端;
当所述第六数据端口对应的终端为其他第一终端时,所述接口机通过所述第六数据端口将所述音视频数据发送至所述中转服务器的第七数据端口,由所述中转服务器通过所述第七数据端口将所述音视频数据发送至所述其他第一终端。
9.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
在将所述第一终端的实时传输协议RTP音频数据包发送至所述接口机的过程中,所述中转服务器将RTP音频数据包转换为用户数据报协议UDP音频数据包,所述UDP音频数据包能够被所述接口机识别;
在将所述接口机的UDP音频数据包发送至所述第一终端的过程中,所述中转服务器将所述UDP音频数据包转换为RTP音频数据包,所述RTP音频数据包能够被所述第一终端识别;
在将所述第一终端的RTP视频数据包发送至所述接口机的过程中,所述中转服务器将RTP视频数据包转换为UDP视频数据包,所述UDP视频数据包能够被所述接口机识别;
在将所述接口机的UDP视频数据包发送至所述第一终端的过程中,所述中转服务器将所述UDP视频数据包转换为RTP视频数据包,所述RTP视频数据包能够被所述第一终端识别。
10.一种网络直播间的接入方法,其特征在于,所述方法应用于网络直播系统,所述网络直播系统包括:第一终端、服务器及接口机,所述服务器具有实时通信功能,能够与所述第一终端和所述接口机建立网络连接,所述方法包括:
当接收到所述第一终端的接入请求时,所述服务器为所述第一终端分配第一数据端口,所述接入请求包括网络直播间标识;
所述接口机为所述第一终端分配第二数据端口;
所述接口机和所述服务器存储所述第一数据端口和所述第二数据端口之间的对应关系;
所述第一终端确定与所述服务器进行数据传输的第三数据端口;
所述第一终端和所述服务器存储所述第一数据端口与所述第三数据端口之间的对应关系;
基于所述第一终端、所述服务器及所述接口机所存储的对应关系,所述第一终端接入到所述网络直播间标识对应的网络直播间。
11.根据权利要求10所述的方法,其特征在于,所述网络直播系统还包括第二终端,所述第二终端安装有软件开发工具包SDK,所述方法还包括:
当通过第四数据端口接收到所述第二终端的音视频数据时,所述接口机通过所述第四数据端口将所述音视频数据发送至所述接口机的第五数据端口;
当所述第五数据端口对应的终端为其他第二终端时,所述接口机通过所述第五数据端口将所述音视频数据发送至所述其他第二终端;
当所述第五数据端口对应的终端为所述第一终端时,所述接口机通过所述第五数据端口将所述音视频数据发送至所述服务器的所述第一数据端口,由所述服务器通过所述第一数据端口将所述音视频数据发送至所述第一终端。
12.根据权利要求10所述的方法,其特征在于,所述网络直播系统还包括第二终端,所述第二终端安装有软件开发工具包SDK,所述方法还包括:
所述第一终端通过所述第三数据端口向所述服务器的所述第一数据端口发送音视频数据;
所述服务器通过所述第一数据端口将所述音视频数据发送至所述接口机的所述第二数据端口;
所述接口机通过所述第二数据端口将所述音视频数据发送至所述接口机的第六数据端口;
当所述第六数据端口对应的终端为所述第二终端时,所述接口机通过所述第六数据端口将所述音视频数据发送至所述第二终端;
当所述第六数据端口对应的终端为其他第一终端时,所述接口机通过所述第六数据端口将所述音视频数据发送至所述服务器的第七数据端口,由所述服务器通过所述第七数据端口将所述音视频数据发送至所述其他第一终端。
13.根据权利要求10所述的方法,其特征在于,所述方法还包括:
在将所述第一终端的实时传输协议RTP音频数据包发送至所述接口机的过程中,所述服务器将RTP音频数据包转换为用户数据报协议UDP音频数据包,所述UDP音频数据包能够被所述接口机识别;
在将所述接口机的UDP音频数据包发送至所述第一终端的过程中,所述服务器将所述UDP音频数据包转换为RTP音频数据包,所述RTP音频数据包能够被所述第一终端识别;
在将所述第一终端的RTP视频数据包发送至所述接口机的过程中,所述服务器将RTP视频数据包转换为UDP视频数据包,所述UDP视频数据包能够被所述接口机识别;
在将所述接口机的UDP视频数据包发送至所述第一终端的过程中,所述服务器将所述UDP视频数据包转换为RTP视频数据包,所述RTP视频数据包能够被所述第一终端识别。
14.一种网络直播系统,其特征在于,所述网络直播系统包括:第一终端、信令服务器、中转服务器及接口机,所述信令服务器和所述中转服务器均具有实时通信功能,能够与所述第一终端和所述接口机建立网络连接;
所述中转服务器,用于当通过所述信令服务器接收到所述第一终端的接入请求时,为所述第一终端分配第一数据端口,所述接入请求包括网络直播间标识;
所述接口机,用于为所述第一终端分配第二数据端口,并存储所述第一数据端口与所述第二数据端口之间的对应关系;
所述中转服务器,还用于存储所述第一数据端口与所述第二数据端口之间的对应关系;
所述第一终端,用于通过与所述信令服务器进行交互,确定所述第一终端上进行数据传输的第三数据端口,并存储所述第一数据端口与所述第三数据端口之间的对应关系;
所述中转服务器,还用于通过与所述信令服务器进行交互,确定所述第一终端上进行数据传输的第三数据端口,并存储所述第一数据端口与所述第三数据端口之间的对应关系;
所述第一终端,还用于基于所述第一终端、所述中转服务器及所述接口机所存储的对应关系,接入所述网络直播间标识对应的网络直播间。
15.一种网络直播系统,其特征在于,所述网络直播系统包括:第一终端、服务器及接口机,所述服务器具有实时通信功能,能够与所述第一终端和所述接口机建立网络连接;
所述服务器,用于当接收到所述第一终端的接入请求时,为所述第一终端分配第一数据端口,所述接入请求包括网络直播间标识;
所述接口机,用于为所述第一终端分配第二数据端口,并存储所述第一数据端口和所述第二数据端口之间的对应关系;
所述服务器,还用于存储所述第一数据端口和所述第二数据端口之间的对应关系;
所述第一终端,用于确定与所述服务器进行数据传输的第三数据端口,并存储所述第一数据端口与所述第三数据端口之间的对应关系;
所述服务器,还用于存储所述第一数据端口与所述第三数据端口之间的对应关系;
所述第一终端,还用于基于所述第一终端、所述服务器及所述接口机所存储的对应关系,接入到所述网络直播间标识对应的网络直播间。
CN201710980430.8A 2017-10-19 2017-10-19 网络直播间的接入方法及网络直播系统 Active CN109688416B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710980430.8A CN109688416B (zh) 2017-10-19 2017-10-19 网络直播间的接入方法及网络直播系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710980430.8A CN109688416B (zh) 2017-10-19 2017-10-19 网络直播间的接入方法及网络直播系统

Publications (2)

Publication Number Publication Date
CN109688416A CN109688416A (zh) 2019-04-26
CN109688416B true CN109688416B (zh) 2021-04-20

Family

ID=66184197

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710980430.8A Active CN109688416B (zh) 2017-10-19 2017-10-19 网络直播间的接入方法及网络直播系统

Country Status (1)

Country Link
CN (1) CN109688416B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110198478B (zh) * 2019-05-10 2022-04-15 广州视源电子科技股份有限公司 交互录播方法、系统、客户端、装置、设备及存储介质
CN110661801B (zh) 2019-09-26 2021-05-07 腾讯科技(深圳)有限公司 一种数据传输方法、装置、以及计算机存储介质
CN111294551B (zh) * 2020-02-25 2021-06-08 广州华多网络科技有限公司 进行音视频传输的方法、装置、设备及存储介质
CN111372093B (zh) * 2020-03-09 2022-02-25 广州市百果园信息技术有限公司 直播房间管理方法、装置、设备及存储介质
CN111479121B (zh) * 2020-04-08 2021-05-25 北京智能工场科技有限公司 一种基于流媒体服务器的直播方法及系统
CN112261421B (zh) * 2020-10-12 2022-11-15 Oppo广东移动通信有限公司 虚拟现实的显示方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106028067A (zh) * 2016-06-15 2016-10-12 南京纳加软件有限公司 一种p2p直点播系统
CN106506632A (zh) * 2016-10-27 2017-03-15 上海幻电信息科技有限公司 一种基于html5浏览器的音视频直播方法
CN106899855A (zh) * 2015-12-17 2017-06-27 上海沃月信息科技有限公司 便携式音视频网络直播系统
CN107087217A (zh) * 2017-03-10 2017-08-22 北京潘达互娱科技有限公司 视频直播中的界面交互方法及直播客户端

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10224027B2 (en) * 2015-06-01 2019-03-05 Sinclair Broadcast Group, Inc. Rights management and syndication of content

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106899855A (zh) * 2015-12-17 2017-06-27 上海沃月信息科技有限公司 便携式音视频网络直播系统
CN106028067A (zh) * 2016-06-15 2016-10-12 南京纳加软件有限公司 一种p2p直点播系统
CN106506632A (zh) * 2016-10-27 2017-03-15 上海幻电信息科技有限公司 一种基于html5浏览器的音视频直播方法
CN107087217A (zh) * 2017-03-10 2017-08-22 北京潘达互娱科技有限公司 视频直播中的界面交互方法及直播客户端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于RTMP的高清流媒体直播点播封装技术的研究与实现;孙业宝;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160315(第03期);I136-2096 *

Also Published As

Publication number Publication date
CN109688416A (zh) 2019-04-26

Similar Documents

Publication Publication Date Title
CN109688416B (zh) 网络直播间的接入方法及网络直播系统
Afanasyev et al. A brief introduction to named data networking
US11108570B2 (en) Method and apparatus for multimedia communication, and storage medium
US8126001B2 (en) Method and apparatus for multicasting contents between devices in networks
US9191415B2 (en) Method and system for providing virtual gateway services
CN110213652B (zh) 一种音视频数据传输方法、装置及存储介质
US20230216947A1 (en) Method and System to Implement Secure Real Time Communications (SRTC) Between WebRTC and the Internet of Things (IoT)
US20090049189A1 (en) Methods and apparatus for supporting transmission of streaming data
US9374619B2 (en) System and method for enabling pairing of a companion device with a mate device for performing a companion device
JP5913548B2 (ja) コンテンツ配信装置、コンテンツ配信方法、コンテンツ中継装置、コンテンツ中継方法およびこれらのプログラム
US8510549B2 (en) Transmission of packet data over a network with security protocol
EP3216223B1 (en) Collaborative distributed/unstructured service management framework for wireless-display platform
CN110830333A (zh) 智能家居设备接入认证方法、装置、网关及存储介质
US20090129587A1 (en) Method, system and apparatus for sharing media content in a private network
US20170126623A1 (en) Protected Subnet Interconnect
KR20150079557A (ko) 클라이언트 장치에 시청각 컨텐츠를 전달하는 시스템 및 방법
WO2014135050A1 (zh) 消息处理方法、装置、网关、机顶盒及网络电视系统
WO2018072650A1 (zh) 移动终端与iptv进行交互的实现方法、装置及平台
KR20110037590A (ko) P2p 네트워크 시스템 및 그 데이터 송수신 방법
CN103561281A (zh) 一种多媒体数据共享的方法及装置
CN109905450A (zh) 设备间通信方法、装置、设备和存储介质
TWI478559B (zh) 一種通信方法和系統
Jimenez et al. MHCP: multimedia hybrid cloud computing protocol and architecture for mobile devices
CN115604862B (zh) 视频流传输方法及系统
Emmanuel et al. A peer-to-peer architecture for real-time communication using Webrtc

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
GR01 Patent grant
GR01 Patent grant