CN104519414A - 一种流媒体传输的方法和系统 - Google Patents

一种流媒体传输的方法和系统 Download PDF

Info

Publication number
CN104519414A
CN104519414A CN201310452372.3A CN201310452372A CN104519414A CN 104519414 A CN104519414 A CN 104519414A CN 201310452372 A CN201310452372 A CN 201310452372A CN 104519414 A CN104519414 A CN 104519414A
Authority
CN
China
Prior art keywords
client
session
link
relay server
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310452372.3A
Other languages
English (en)
Other versions
CN104519414B (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.)
Beijing Feinno Communication Technology Co Ltd
Original Assignee
Beijing Feinno Communication 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 Feinno Communication Technology Co Ltd filed Critical Beijing Feinno Communication Technology Co Ltd
Priority to CN201310452372.3A priority Critical patent/CN104519414B/zh
Publication of CN104519414A publication Critical patent/CN104519414A/zh
Application granted granted Critical
Publication of CN104519414B publication Critical patent/CN104519414B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • 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/643Communication protocols
    • H04N21/64322IP
    • 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets

Landscapes

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

Abstract

本发明公开了一种流媒体传输的方法和系统。该方法包括:登录服务器向登录的客户端分配对应的会话标识。第一客户端向第二客户端发送携带第一会话标识的流媒体传输请求,向中继服务器发送携带第一会话标识的第一绑定请求消息;中继服务器创建会话,将第一客户端作为会话的一方;第二客户端在接收到流媒体传输请求之后,向中继服务器发送携带第一会话标识的第二绑定请求消息;中继服务器第一会话标识查找会话,将第二客户端作为会话的另一方;在第二客户端成功加入会话之后,向第一客户端发送确认信息,第一客户端在接收到确认信息之后,向第二客户端发送流媒体数据。本发明提供的技术方案能够解决现有的流媒体传输方法中,存在建立流媒体传输通道的时间过长的问题。

Description

一种流媒体传输的方法和系统
技术领域
本发明涉及计算机领域,特别是涉及一种流媒体传输的方法和系统。
背景技术
在当今的互联网时代,终端间的流媒体数据互通显得尤为的重要和普遍,比如二人之间的音视频业务,文件传输业务等。
目前的互联网进行流媒体传输主要采取传统的互动式连接建立(ICE,Interactive Connectivity Establishment)方案。其中,发起方和被叫方会分别拿到三组IP地址,分别是本机私网IP,公网出口IP和中继服务器IP。通常三个IP是具备通讯优先级的,即先尝试私网IP的直接通讯,如果不通,会尝试与对端公网IP的直连,如果依然失败,则进行中继服务器的数据中继。在很多情况下,经过这几步的流程走完,双方从尝试通讯到真正开始通讯可能要花费上几秒到几十秒的时间,给客户端带来不好的客户端体验。
综上所述,现有的流媒体传输方法中,存在建立流媒体传输通道的时间过长的问题。
发明内容
本发明提供了一种流媒体传输的方法和系统,本发明提供的技术方案能够解决流媒体传输方法中,存在建立流媒体传输通道的时间过长的问题。
本发明公开了一种流媒体传输的方法,该方法包括:
当第一客户端登录到登录服务器时,登录服务器向第一客户端分配对应的第一会话标识;
第一客户端向第二客户端发送携带第一会话标识的流媒体传输请求,并向中继服务器发送携带第一会话标识的第一绑定请求消息;
中继服务器接收第一绑定请求消息,创建会话,将第一会话标识作为所述会话的标识,将第一客户端作为所述会话的一方;
第二客户端接收第一客户端发送的流媒体传输请求,当第二客户端同意接受流媒体传输时,向中继服务器发送携带第一会话标识的第二绑定请求消息;
中继服务器根据所述第二绑定请求消息中携带的第一会话标识,查找到以第一会话标识作为标识的会话,将第二客户端作为该会话的另一方,建立第一客户端与第二客户端之间的中继链路;
中继服务器向第一客户端发送携带确认信息的第一绑定响应消息;
第一客户端在接收到所述确认信息之后,通过所述中继链路向第二客户端发送流媒体数据。
在上述方法中,所述第一绑定请求消息中包括:第一客户端与中继服务器之间的地址和端口的请求捆绑信息以及数据的请求捆绑信息;第二绑定请求消息中包括:第二客户端与中继服务器之间的地址和端口的请求捆绑信息以及数据的请求捆绑信息;
所述中继服务器接收到第一绑定请求消息后创建会话,将第一会话标识作为该会话的标识,将第一客户端作为该会话的一方包括:
根据所述第一绑定请求消息中的地址和端口的请求捆绑信息,将第一客户端的IP地址以及对应的端口与中继服务器的IP地址以及对应的端口绑定;
所述中继服务器根据所述第二绑定请求消息中携带的第一会话标识,查找到以第一会话标识作为标识的会话,将第二客户端作为该会话的另一方包括:
根据所述第二绑定请求消息中的地址和端口的请求捆绑信息,将第二客户端的IP地址以及对应的端口与中继服务器的IP地址以及对应的端口绑定。
在上述方法中,所述通过所述中继链路向第二客户端发送流媒体数据之后,该方法还包括:
在第一客户端的IP地址与第二客户端的IP地址可以直连的情况下,建立第一客户端与第二客户端之间的对等网络P2P链路,并切换到P2P链路。
在上述方法中,所述第一客户端在接收到所述确认信息之后,在建立第一客户端与第二客户端之间的P2P链路之前,该方法还包括:
第一客户端在接收到所述确认信息之后的T1时间段内,第二客户端采集在所述中继链路中进行数据传输的第一丢包率LR1;
所述切换到P2P链路之后,该方法还包括:
第二客户端采集在P2P链路建立之后的T2时间段内,在所述P2P链路中进行数据传输的第二丢包率LR2;
当第一丢包率LR1大于第二丢包率LR2时,继续采用P2P链路,释放中继链路;当LR1小于LR2时,切换回中继链路。
在上述方法中,该方法还包括:
在T2时间段内的任意时刻,第二客户端采集的当前丢包率LR为第一丢包率LR1的n倍时,立刻将P2P链路切换为中继链路;其中,n大于1.4。
本发明还提供了一种流媒体传输的系统,该系统包括:第一客户端、第二客户端、中继服务器和登录服务器;
登录服务器,用于在第一客户端登陆时,向第一客户端分配对应的第一会话标识;
第一客户端,用于向第二客户端发送携带第一会话标识的流媒体传输请求,并向中继服务器发送携带第一会话标识的第一绑定请求消息;并且在接收到中继服务器返回的携带确认信息的第一绑定响应消息之后,向第二客户端发送流媒体数据;
第二客户端,用于接收到第一客户端发送的流媒体传输请求,当同意接受流媒体传输时,向中继服务器发送携带第一会话标识的第二绑定请求消息;
中继服务器,用于接收第一绑定请求消息,创建会话,将第一会话标识作为所述会话的标识,将第一客户端作为所述会话的一方;并根据第二客户端发送的第二绑定请求消息中携带的第一会话标识,查找到以第一会话标识作为标识的会话,将第二客户端作为该会话的另一方;建立第一客户端与第二客户端之间的中继链路;向第一客户端发送携带确认信息的第一绑定响应消息。
在上述系统中,所述第一绑定请求消息中包括:第一客户端与中继服务器之间的地址和端口的请求捆绑信息以及数据的请求捆绑信息;第二绑定请求消息中包括:第二客户端与中继服务器之间的地址和端口的请求捆绑信息以及数据的请求捆绑信息;
所述中继服务器,用于根据所述第一绑定请求消息中的地址和端口的请求捆绑信息,将第一客户端的IP地址以及对应的端口与中继服务器的IP地址以及对应的端口绑定;根据所述第二绑定请求消息中的地址和端口的请求捆绑信息,将第二客户端的IP地址以及对应的端口与中继服务器的IP地址以及对应的端口绑定。
在上述系统中,第一客户端,用于在与第二客户端的IP地址可以直连的情况下,建立与第二客户端之间的P2P链路;并切换到P2P链路;
第二客户端,用于在与第一客户端的IP地址可以直连的情况下,建立与第二客户端之间的P2P链路;并切换到P2P链路。
在上述系统中,第二客户端,用于在接收到所述确认信息之后,在建立第一客户端与第二客户端之间的P2P链路之前,采集在第一客户端在接收到所述确认信息之后的T1时间段内,在所述中继链路中进行数据传输的第一丢包率LR1;
第二客户端,还用于在切换到P2P链路之后,采集在P2P链路建立之后的T2时间段内,在所述P2P链路中进行数据传输的第二丢包率LR2;
其中,当第一丢包率LR1大于第二丢包率LR2时,继续采用P2P链路,释放中继链路;当LR1小于LR2时,切换回中继链路。
在上述系统中,第二客户端,用于在T2时间段内的任意时刻,采集的当前丢包率LR为第一丢包率LR1的n倍时,立刻将P2P链路切换为中继链路;其中,n大于1.4。
综上所述,本发明提供的技术方案,通过第一客户端向中继服务器和第二客户端分别发送携带第一会话标识的第一绑定请求消息和流媒体传输请求消息。中继服务器创建会话,将第一客户端绑定在会话的左端,并根据第二客户端发送的第二绑定请求消息,将第二客户端绑定在会话的右端,建立第一客户端与第二客户端之间的连接。并且尝试建立第一客户端与第二客户端之间的P2P链路,通过采集丢包率判断采用中继链路还是P2P链路,实现链路的切换。在本发明提供的技术方案中,第二客户端从接受第一客户端发送的流媒体传输请求,到流媒体通道建立完成的时间只需要耗费第二客户端向中继服务器发送第二绑定请求消息时间加上中继服务器给第一客户端反馈第一绑定响应消息的时间。如果网络情况良好,响应的实际可以控制到毫秒级。相比较现有技术中需要花费上几秒甚至是几十秒的时间而已,大大缩短了第一客户端与第二客户端之间建立流媒体通道的时间,提高了效率。
附图说明
图1是本发明中一种流媒体传输的方法的流程图;
图2是本发明中一种流媒体传输的方法的信令流程图;
图3是本发明中一种流媒体传输的系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明中一种流媒体传输的方法的流程图;如图1所示,该方法包括如下步骤:
步骤101,当第一客户端登录到登录服务器时,登录服务器向第一客户端分配对应的第一会话标识。
步骤102,第一客户端向第二客户端发送携带第一会话标识的流媒体传输请求,并向中继服务器发送携带第一会话标识的第一绑定请求消息。
步骤103,中继服务器接收第一绑定请求消息,创建会话,将第一会话标识作为所述会话的标识,将第一客户端作为所述会话的一方。
步骤104,第二客户端接收第一客户端发送的流媒体传输请求,当第二客户端同意接受流媒体传输时,向中继服务器发送携带第一会话标识的第二绑定请求消息。
步骤105,中继服务器根据所述第二绑定请求消息中携带的第一会话标识,查找到以第一会话标识作为标识的会话,将第二客户端作为该会话的另一方,建立第一客户端与第二客户端之间的中继链路。
步骤106,中继服务器向第一客户端发送携带确认信息的第一绑定响应消息。
步骤107,第一客户端在接收到所述确认信息之后,通过所述中继链路向第二客户端发送流媒体数据。
可见,在整个流媒体通道的建立过程中,第二客户端从接受第一客户端发送的流媒体传输请求,到流媒体通道建立完成的时间只需要耗费第二客户端向中继服务器发送第二绑定请求消息时间加上中继服务器给第一客户端反馈第一绑定响应消息的时间。如果网络情况良好,响应的实际可以控制到毫秒级。达到缩短第一客户端与第二客户端之间建立流媒体通道的总时间。
图2是本发明中一种流媒体传输的方法的信令流程图。参见图2所示,第一客户端发起与第二客户端的流媒体传输。第一客户端在登录到登录服务器时,登录服务器向第一客户端分配对应的第一会话标识。
步骤201,第一客户端向第二客户端发送流媒体传输请求。在该流媒体传输请求中携带第一客户端的第一会话标识。
步骤202,第一客户端向中继服务器发送第一绑定请求消息。该第一绑定请求消息中携带第一客户端的第一会话标识。
在本步骤中,第一客户端发送的第一绑定请求消息中包含:第一客户端与中继服务器之间的IP地址和对应的端口之间的请求捆绑信息,以及第一客户端将要发送的数据的请求捆绑信息。即第一客户端的IP地址与中继服务器的IP地址的绑定,第一客户端的对应端口与中继服务器的对应端口的绑定。
步骤203,中继服务器创建会话,等待第二客户端的加入。
在步骤203中,中继服务器根据第一客户端发送的第一绑定请求消息,创建会话,并且将第一会话标识作为该会话的ID,将第一客户端作为该会话的一方。
在本发明的一种实施例中,将第一客户端作为会话的一方具体为:根据第一绑定请求消息中的地址和端口的请求捆绑信息,将第一客户端的IP地址以及对应的端口分别与中继服务器的IP地址以及对应的端口绑定。
在本发明的一种较佳实施例中,在创建会话时设置该会话的等待时间,该等待时间优选为60s。如果在等待时间内,该会话的右端没有客户端接入,由中继服务器删除该会话。
步骤204,第二客户端在接收到第一客户端发送的流媒体传输请求之后,向中继服务器发送携带第一会话标识的第二绑定请求消息。
在步骤204中,第二绑定请求消息中包括:第二客户端与中继服务器之间的地址和端口的请求捆绑信息以及数据的请求捆绑信息。
步骤205,在等待时间内,将第二客户端加入会话。
在步骤205中,中继服务器根据第二绑定请求消息中携带的第一会话标识,查找到以第一会话标识作为标识的会话,将第二客户端作为该会话的另一方,建立第一客户端与第二客户端之间的流媒体通道。
在本发明的一种实施例中,中继服务器在等待时间内接收第二客户端发送的第二绑定请求消息,将第二客户端加入对应的会话的右端,具体为:根据第二绑定请求消息中的地址和端口的请求捆绑信息,将第二客户端的IP地址以及对应的端口与中继服务器的IP地址以及对应的端口绑定。
在本发明的一种实施例中,在第二客户端加入会话之后,还将记录第二客户端的IP地址以及相应的端口信息。
步骤206,中继服务器向第一客户端发送第一绑定响应消息,在第一绑定响应消息中携带对应的确认信息。
步骤207,第一客户端在接收到所述确认信息之后,向中继服务器发送流媒体数据。
步骤208,中继服务器将第一客户端发送的流媒体数据转发给第二客户端。
在步骤207和步骤208中,第一客户端在接收到中继服务器发送的确认信息之后,确认中继链路建立完成。
并且在第一客户端向第二客户端发送流媒体数据的过程中,通过第一客户端与中继服务器之间的IP地址与端口之间的绑定信息,可以直接将流媒体文件发送到中继服务器上。再根据第二客户端与中继服务器之间的IP地址与端口之间的绑定信息,中继服务器可以之间将对应的流媒体文件转发给会话对端的第二客户端。
通过上述步骤中可以明确得到,在整个流媒体通道的建立过程中,第二客户端从接受第一客户端发送的流媒体传输请求,到流媒体通道建立完成的时间只需要耗费第二客户端向中继服务器发送第二绑定请求消息时间加上中继服务器给第一客户端反馈第一绑定响应消息的时间。如果网络情况良好,响应的实际可以控制到毫秒级。相比较现有技术中需要花费上几秒甚至是几十秒的时间而已,大大缩短了第一客户端与第二客户端之间建立流媒体通道的时间,提高了效率。
步骤209,第二客户端在T1时间段内采集第一丢包率LR1。
在步骤209中,在第一客户端在接收到所述确认信息之后以及建立第一客户端与第二客户端之间的P2P链路之前,第二客户端进入丢包率采集阶段,即采集T1时间段内,在中继链路中进行数据传输的第一丢包率LR1;
在本发明的一种实施例中,采集的默认时间T1为30s,即第一丢包率LR1采集的是在第一客户端接收到确认信息之后的30s内进行数据传输的丢包率。
步骤210,第一客户端与第二客户端之间本地IP和出口IP之间的直连。
在步骤210中,在第一丢包率LR1采集完成之后,进行第一客户端的IP地址与第二客户端的IP地址之间的直连,尝试建立P2P链路连接。在第一客户端的IP地址与第二客户端的IP地址可以直连的情况下,建立第一客户端与第二客户端之间的P2P链路,将中继链路切换为P2P链路。
步骤211,第二客户端在T2时间段内采集第二丢包率LR2。
在步骤211中,在P2P链路建立完成之后,切换成P2P链路。第二客户端进入P2P链路的丢包率采集阶段,即采集T2时间段内,P2P链路中数据传输的第二丢包率LR2。
在本发明的一种实施例中,采集的默认时间T2为30s。即第二丢包率LR2采集的是在切换为P2P链路之后,30s内进行数据传输的丢包率。
在本发明的一种实施例中,在T2时间段内,还需要采集T2时间段内任意时间的当前丢包率LR,如果采集到的某一时刻的当前丢包率LR的值为第一丢包率LR1的值的n倍时,判定P2P链路的质量不好,并立刻切换回中继链路。其中n>1.4。较佳的,n的取值为1.5。即在本步骤中,通过采集T2时间段内多个时刻的当前丢包率,以查看在P2P链路建立之后的信道的波动性。
步骤212,对比第一丢包率LR1和第二丢包率LR2,判断采用中继链路进行流媒体数据传输还是采用P2P链路进行流媒体数据传输。
在本发明的一种实施例中,在T2时间段之后,通过判断第一丢包率LR1和第二丢包率LR2,当LR1小于LR2时,切换回中继链路。当第一丢包率LR1大于第二丢包率LR2时,继续采用P2P链路,并释放中继链路通道,最终完成通道的确认。
本发明通过采集建立中继链路之后T1时间段内的第一丢包率LR2,采集建立P2P链路之后T2时间段内的第二丢包率LR2。通过第一丢包率LR1和第二丢包率LR2之间比较,可以直观的判断出中继链路还是P2P链路的信道状况更好,并采用信道状况好的链路,提高流媒体传输的效率。并且在通过采集P2P链路建立成功之后T2时间段内的多个当前丢包率LR,判断所建立的P2P链路的信道状况是否平稳。如果出现当前丢包率LR大于第一丢包率的1.5倍时,判定P2P链路的信道状况不够稳定,切换为中继链路。使得建立的信道更加适合流媒体传输。
本发明还提供了一种流媒体传输的系统,图3是本发明中一种流媒体传输的系统的结构示意图。如图3所述,该系统包括:该系统包括:第一客户端301、第二客户端302、中继服务器303和登录服务器304。
登录服务器304,用于在第一客户端301登陆时,向第一客户端301分配对应的第一会话标识。
第一客户端301,用于向第二客户端302发送携带第一会话标识的流媒体传输请求,并向中继服务器303发送携带第一会话标识的第一绑定请求消息;并且在接收到中继服务器303返回的携带确认信息的第一绑定响应消息之后,向第二客户端302发送流媒体数据。
第二客户端302,用于接收到第一客户端301发送的流媒体传输请求,当同意接受流媒体传输时,向中继服务器303发送携带第一会话标识的第二绑定请求消息。
中继服务器303,用于接收第一绑定请求消息,创建会话,将第一会话标识作为该会话的标识,将第一客户端301作为该会话的一方;并根据第二客户端302发送的第二绑定请求消息中携带的第一会话标识,查找到以第一会话标识作为标识的会话,将第二客户端302作为该会话的另一方;建立第一客户端与第二客户端之间的中继链路;向第一客户端301发送携带确认信息的第一绑定响应消息。
在本发明的一种实施例中,所述第一绑定请求消息中包括:第一客户端与中继服务器之间的地址和端口的请求捆绑信息以及数据的请求捆绑信息;第二绑定请求消息中包括:第二客户端与中继服务器之间的地址和端口的请求捆绑信息以及数据的请求捆绑信息;
所述中继服务器303,用于根据所述第一绑定请求消息中的地址和端口的请求捆绑信息,将第一客户端301的IP地址以及对应的端口与中继服务器303的IP地址以及对应的端口绑定;根据所述第二绑定请求消息中的地址和端口的请求捆绑信息,将第二客户端302的IP地址以及对应的端口与中继服务器303的IP地址以及对应的端口绑定。
在本发明的一种实施例中,第一客户端301,用于与第二客户端302的IP地址可以直连的情况下,建立与第二客户端302之间的P2P链路;并切换到P2P链路;第二客户端302,用于在与第一客户端301的IP地址可以直连的情况下,建立与第二客户端302之间的P2P链路;并切换到P2P链路。
在本发明的一种实施例中,第二客户端302,用于在接收到所述确认信息之后,在建立第一客户端与第二客户端之间的P2P链路之前,采集在第一客户端301在接收到所述确认信息之后的T1时间段内,在所述流媒体的通道的中进行数据传输的第一丢包率LR1;
第二客户端302,还用于在切换到P2P链路之后,采集在P2P链路建立之后的T2时间段内,在所述P2P链路中进行数据传输的第二丢包率LR2;
其中,当第一丢包率LR1大于第二丢包率LR2时,继续采用P2P链路;当LR1小于LR2时,切换回中继链路。
在本发明的一种实施例中,第二客户端302,用于在T2时间段内的任意时刻,采集的当前丢包率LR为第一丢包率LR1的n倍时,立刻将P2P链路切换为中继链路;其中,n大于1.4。
综上所述,本发明提供的技术方案,通过第一客户端向中继服务器和第二客户端分别发送携带第一会话标识的第一绑定请求消息和流媒体传输请求消息。中继服务器创建会话,将第一客户端绑定在会话的左端,并根据第二客户端发送的第二绑定请求消息,将第二客户端绑定在会话的右端,建立第一客户端与第二客户端之间的连接。并且尝试建立第一客户端与第二客户端之间的P2P链路,通过采集丢包率判断采用中继链路还是P2P链路,实现链路的切换。在本发明提供的技术方案中,第二客户端从接受第一客户端发送的流媒体传输请求,到流媒体通道建立完成的时间只需要耗费第二客户端向中继服务器发送第二绑定请求消息时间加上中继服务器给第一客户端反馈第一绑定响应消息的时间。如果网络情况良好,响应的实际可以控制到毫秒级。相比较现有技术中需要花费上几秒甚至是几十秒的时间而已,大大缩短了第一客户端与第二客户端之间建立流媒体通道的时间,提高了效率。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种流媒体传输的方法,其特征在于,该方法包括:
当第一客户端登录到登录服务器时,登录服务器向第一客户端分配对应的第一会话标识;
第一客户端向第二客户端发送携带第一会话标识的流媒体传输请求,并向中继服务器发送携带第一会话标识的第一绑定请求消息;
中继服务器接收第一绑定请求消息,创建会话,将第一会话标识作为所述会话的标识,将第一客户端作为所述会话的一方;
第二客户端接收第一客户端发送的流媒体传输请求,当第二客户端同意接受流媒体传输时,向中继服务器发送携带第一会话标识的第二绑定请求消息;
中继服务器根据所述第二绑定请求消息中携带的第一会话标识,查找到以第一会话标识作为标识的会话,将第二客户端作为该会话的另一方,建立第一客户端与第二客户端之间的中继链路;
中继服务器向第一客户端发送携带确认信息的第一绑定响应消息;
第一客户端在接收到所述确认信息之后,通过所述中继链路向第二客户端发送流媒体数据。
2.根据权利要求1所述的方法,其特征在于,所述第一绑定请求消息中包括:第一客户端与中继服务器之间的地址和端口的请求捆绑信息以及数据的请求捆绑信息;第二绑定请求消息中包括:第二客户端与中继服务器之间的地址和端口的请求捆绑信息以及数据的请求捆绑信息;
所述中继服务器接收到第一绑定请求消息后创建会话,将第一会话标识作为该会话的标识,将第一客户端作为该会话的一方包括:
根据所述第一绑定请求消息中的地址和端口的请求捆绑信息,将第一客户端的IP地址以及对应的端口与中继服务器的IP地址以及对应的端口绑定;
所述中继服务器根据所述第二绑定请求消息中携带的第一会话标识,查找到以第一会话标识作为标识的会话,将第二客户端作为该会话的另一方包括:
根据所述第二绑定请求消息中的地址和端口的请求捆绑信息,将第二客户端的IP地址以及对应的端口与中继服务器的IP地址以及对应的端口绑定。
3.根据权利要求1所述的方法,其特征在于,所述通过所述中继链路向第二客户端发送流媒体数据之后,该方法还包括:
在第一客户端的IP地址与第二客户端的IP地址可以直连的情况下,建立第一客户端与第二客户端之间的对等网络P2P链路,并切换到P2P链路。
4.根据权利要求3所述的方法,其特征在于,
所述第一客户端在接收到所述确认信息之后,在建立第一客户端与第二客户端之间的P2P链路之前,该方法还包括:
第一客户端在接收到所述确认信息之后的T1时间段内,第二客户端采集在所述中继链路中进行数据传输的第一丢包率LR1;
所述切换到P2P链路之后,该方法还包括:
第二客户端采集在P2P链路建立之后的T2时间段内,在所述P2P链路中进行数据传输的第二丢包率LR2;
当第一丢包率LR1大于第二丢包率LR2时,继续采用P2P链路,释放中继链路;当LR1小于LR2时,切换回中继链路。
5.根据权利要求3所述的方法,其特征在于,该方法还包括:
在T2时间段内的任意时刻,第二客户端采集的当前丢包率LR为第一丢包率LR1的n倍时,立刻将P2P链路切换为中继链路;其中,n大于1.4。
6.一种流媒体传输的系统,其特征在于,该系统包括:第一客户端、第二客户端、中继服务器和登录服务器;
登录服务器,用于在第一客户端登陆时,向第一客户端分配对应的第一会话标识;
第一客户端,用于向第二客户端发送携带第一会话标识的流媒体传输请求,并向中继服务器发送携带第一会话标识的第一绑定请求消息;并且在接收到中继服务器返回的携带确认信息的第一绑定响应消息之后,向第二客户端发送流媒体数据;
第二客户端,用于接收到第一客户端发送的流媒体传输请求,当同意接受流媒体传输时,向中继服务器发送携带第一会话标识的第二绑定请求消息;
中继服务器,用于接收第一绑定请求消息,创建会话,将第一会话标识作为所述会话的标识,将第一客户端作为所述会话的一方;并根据第二客户端发送的第二绑定请求消息中携带的第一会话标识,查找到以第一会话标识作为标识的会话,将第二客户端作为该会话的另一方;建立第一客户端与第二客户端之间的中继链路;向第一客户端发送携带确认信息的第一绑定响应消息。
7.根据权利要求6所述的系统,其特征在于,
所述第一绑定请求消息中包括:第一客户端与中继服务器之间的地址和端口的请求捆绑信息以及数据的请求捆绑信息;第二绑定请求消息中包括:第二客户端与中继服务器之间的地址和端口的请求捆绑信息以及数据的请求捆绑信息;
所述中继服务器,用于根据所述第一绑定请求消息中的地址和端口的请求捆绑信息,将第一客户端的IP地址以及对应的端口与中继服务器的IP地址以及对应的端口绑定;根据所述第二绑定请求消息中的地址和端口的请求捆绑信息,将第二客户端的IP地址以及对应的端口与中继服务器的IP地址以及对应的端口绑定。
8.根据权利要求7所述的系统,其特征在于,
第一客户端,用于在与第二客户端的IP地址可以直连的情况下,建立与第二客户端之间的P2P链路;并切换到P2P链路;
第二客户端,用于在与第一客户端的IP地址可以直连的情况下,建立与第二客户端之间的P2P链路;并切换到P2P链路。
9.根据权利要求8所述的系统,其特征在于,
第二客户端,用于在接收到所述确认信息之后,在建立第一客户端与第二客户端之间的P2P链路之前,采集在第一客户端在接收到所述确认信息之后的T1时间段内,在所述中继链路中进行数据传输的第一丢包率LR1;
第二客户端,还用于在切换到P2P链路之后,采集在P2P链路建立之后的T2时间段内,在所述P2P链路中进行数据传输的第二丢包率LR2;
其中,当第一丢包率LR1大于第二丢包率LR2时,继续采用P2P链路,释放中继链路;当LR1小于LR2时,切换回中继链路。
10.根据权利要求8所述的系统,其特征在于,
第二客户端,用于在T2时间段内的任意时刻,采集的当前丢包率LR为第一丢包率LR1的n倍时,立刻将P2P链路切换为中继链路;其中,n大于1.4。
CN201310452372.3A 2013-09-27 2013-09-27 一种流媒体传输的方法和系统 Active CN104519414B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310452372.3A CN104519414B (zh) 2013-09-27 2013-09-27 一种流媒体传输的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310452372.3A CN104519414B (zh) 2013-09-27 2013-09-27 一种流媒体传输的方法和系统

Publications (2)

Publication Number Publication Date
CN104519414A true CN104519414A (zh) 2015-04-15
CN104519414B CN104519414B (zh) 2018-05-08

Family

ID=52794036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310452372.3A Active CN104519414B (zh) 2013-09-27 2013-09-27 一种流媒体传输的方法和系统

Country Status (1)

Country Link
CN (1) CN104519414B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330887A (zh) * 2016-08-22 2017-01-11 苏州华兴源创电子科技有限公司 一种用于多媒体中转服务的数据传输方法
WO2017174026A1 (zh) * 2016-04-08 2017-10-12 腾讯科技(深圳)有限公司 一种客户端连接方法及系统
CN108206853A (zh) * 2016-12-20 2018-06-26 乐视汽车(北京)有限公司 车辆间通信的方法和装置
CN110213272A (zh) * 2019-06-03 2019-09-06 重庆紫光华山智安科技有限公司 数据传输方法及装置
CN112118273A (zh) * 2019-06-19 2020-12-22 杭州萤石软件有限公司 一种数据交互方法、系统及第一客户端
CN112911027A (zh) * 2015-06-25 2021-06-04 微软技术许可有限责任公司 用于建立媒体会话的方法和装置
CN114070494A (zh) * 2020-07-28 2022-02-18 中移智行网络科技有限公司 数据传输的方法、装置、设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1968227A (zh) * 2006-06-29 2007-05-23 华为技术有限公司 一种无线接入网关支持透明代理的系统及方法
CN101102310A (zh) * 2007-07-25 2008-01-09 中国科学院沈阳计算技术研究所有限公司 支持p2p媒体传输的sip软交换系统及其实现方法
CN101437036A (zh) * 2008-12-22 2009-05-20 北京中企开源信息技术有限公司 支持nat/防火墙穿越的文件传输方法和系统
CN101465888A (zh) * 2007-12-19 2009-06-24 索尼株式会社 网络系统、直接访问方法、网络家用电器和程序
CN101662458A (zh) * 2008-08-28 2010-03-03 西门子(中国)有限公司 一种认证方法
CN101925053A (zh) * 2009-06-12 2010-12-22 中国移动通信集团公司 一种ims域的会话控制的方法、系统及服务器
CN101977178A (zh) * 2010-08-09 2011-02-16 中兴通讯股份有限公司 基于中继的媒体通道建立方法及系统
CN102457580A (zh) * 2010-10-18 2012-05-16 中兴通讯股份有限公司 Nat穿越方法及系统
CN102461115A (zh) * 2009-04-16 2012-05-16 爱普夏尔有限公司 基于网络的协作的方法和系统
CN102780675A (zh) * 2011-05-09 2012-11-14 中兴通讯股份有限公司 流媒体业务的传输方法、装置和系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1968227A (zh) * 2006-06-29 2007-05-23 华为技术有限公司 一种无线接入网关支持透明代理的系统及方法
CN101102310A (zh) * 2007-07-25 2008-01-09 中国科学院沈阳计算技术研究所有限公司 支持p2p媒体传输的sip软交换系统及其实现方法
CN101465888A (zh) * 2007-12-19 2009-06-24 索尼株式会社 网络系统、直接访问方法、网络家用电器和程序
CN101662458A (zh) * 2008-08-28 2010-03-03 西门子(中国)有限公司 一种认证方法
CN101437036A (zh) * 2008-12-22 2009-05-20 北京中企开源信息技术有限公司 支持nat/防火墙穿越的文件传输方法和系统
CN102461115A (zh) * 2009-04-16 2012-05-16 爱普夏尔有限公司 基于网络的协作的方法和系统
CN101925053A (zh) * 2009-06-12 2010-12-22 中国移动通信集团公司 一种ims域的会话控制的方法、系统及服务器
CN101977178A (zh) * 2010-08-09 2011-02-16 中兴通讯股份有限公司 基于中继的媒体通道建立方法及系统
CN102457580A (zh) * 2010-10-18 2012-05-16 中兴通讯股份有限公司 Nat穿越方法及系统
CN102780675A (zh) * 2011-05-09 2012-11-14 中兴通讯股份有限公司 流媒体业务的传输方法、装置和系统

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112911027A (zh) * 2015-06-25 2021-06-04 微软技术许可有限责任公司 用于建立媒体会话的方法和装置
CN112911027B (zh) * 2015-06-25 2023-08-08 微软技术许可有限责任公司 用于建立媒体会话的方法和装置
WO2017174026A1 (zh) * 2016-04-08 2017-10-12 腾讯科技(深圳)有限公司 一种客户端连接方法及系统
US10958735B2 (en) 2016-04-08 2021-03-23 Tencent Technology (Shenzhen) Company Limited Client connection method and system
CN106330887A (zh) * 2016-08-22 2017-01-11 苏州华兴源创电子科技有限公司 一种用于多媒体中转服务的数据传输方法
CN106330887B (zh) * 2016-08-22 2019-10-29 苏州华兴源创科技股份有限公司 一种用于多媒体中转服务的数据传输方法
CN108206853A (zh) * 2016-12-20 2018-06-26 乐视汽车(北京)有限公司 车辆间通信的方法和装置
CN108206853B (zh) * 2016-12-20 2021-01-19 法法汽车(中国)有限公司 车辆间通信的方法和装置
CN110213272A (zh) * 2019-06-03 2019-09-06 重庆紫光华山智安科技有限公司 数据传输方法及装置
CN112118273A (zh) * 2019-06-19 2020-12-22 杭州萤石软件有限公司 一种数据交互方法、系统及第一客户端
CN112118273B (zh) * 2019-06-19 2023-04-07 杭州萤石软件有限公司 一种数据交互方法、系统及第一客户端
CN114070494A (zh) * 2020-07-28 2022-02-18 中移智行网络科技有限公司 数据传输的方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN104519414B (zh) 2018-05-08

Similar Documents

Publication Publication Date Title
CN104519414A (zh) 一种流媒体传输的方法和系统
JP5678198B2 (ja) モバイルインターネットサービスの実現方法、ゲートウェイ、プロキシ及びシステム
CN101945141B (zh) 基于tcp的穿越nat设备的方法及系统
CN100361470C (zh) 数字用户线路接入中采用从框实现组播的方法
WO2014186757A2 (en) Multi-tier push hybrid service control architecture for large scale conferencing over icn
CN110022456A (zh) 邀请终端入会的方法和装置
CN102142978B (zh) 数据备份传输处理方法、装置及系统
CN112929595B (zh) 一种网络会议融合系统及方法
CN104349208A (zh) 消息处理方法、装置、网关、机顶盒及网络电视系统
WO2022253087A1 (zh) 一种数据传输方法、节点、网络管理器及系统
CN101674199A (zh) 用于实现网络故障时切换的方法及查询器
US20150207640A1 (en) Method for Implementing Point-To-Multipoint Multicast, Network Node, and System
WO2011120463A2 (zh) 跨媒介网络中的qos协商方法和系统及网络设备
CN104660550B (zh) 一种在多服务器之间进行会话迁移的方法
WO2009003407A1 (fr) Procédé et système d'acquisition de données multimédia dans le réseau de multidiffusion de la couche d'application
CN103188134A (zh) 逻辑中转通信方法、逻辑中转服务器和逻辑中转通信系统
WO2019137242A1 (zh) 建立承载方法、装置、处理器及存储介质
CN109451001A (zh) 一种通讯方法和系统
CN110557381B (zh) 基于媒体流热迁移机制的媒体高可用系统
KR100953507B1 (ko) 분산 구조의 미디어 서버를 이용한 그룹통신 시스템 및 그방법
CN115987871A (zh) 一种基于mqtt的拓扑关系保鲜方法、装置及介质
CN110049100A (zh) 一种业务数据的处理方法和系统
CN109873817A (zh) 一种一对一访问网络的方法和装置
CN100542099C (zh) 一种多点控制单元及其基于ip网的共享方法与会议系统
CN109413142A (zh) 一种Linux下的iSCSI虚拟代理实现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Room 810, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080

Patentee after: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building 6 storey block A room 602

Patentee before: BEIJING D-MEDIA COMMUNICATION TECHNOLOGY Co.,Ltd.