CN107734284A - 媒体会话建立方法、装置及计算机可读存储介质 - Google Patents
媒体会话建立方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN107734284A CN107734284A CN201710848796.XA CN201710848796A CN107734284A CN 107734284 A CN107734284 A CN 107734284A CN 201710848796 A CN201710848796 A CN 201710848796A CN 107734284 A CN107734284 A CN 107734284A
- Authority
- CN
- China
- Prior art keywords
- media
- media session
- session
- client
- data
- 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
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
- H04N7/147—Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种媒体会话建立方法、装置及计算机可读存储介质,所述媒体会话建立方法包括:接收客户端的媒体会话请求;与所述媒体会话请求对应的媒体数据发送端建立媒体会话连接,接收所述媒体数据发送端发送的媒体数据;反馈媒体会话建立成功信息至所述客户端,将所述媒体数据发送至所述客户端。通过本发明,使得媒体会话控制和媒体数据传输都在同一装置上进行,简化了媒体会话建立流程,降低了对媒体会话流程的管理难度,最大程度上保证媒体会话与媒体数据传输的一致性。
Description
技术领域
本发明涉及数据传输领域,尤其涉及媒体会话建立方法、装置及计算机可读存储介质。
背景技术
随着视频监控技术的发展在各行业的广泛应用,数字化、标准化、网络化是其发展趋势。其中标准化又是不同厂商设备、系统之间互联互通的基础。《GBT28181公共安全视频监控联网系统信息传输、交换、控制技术要求》是公安部针对平安城市建设发布的互联标准,包括:SIP客户端实时视频播放时,首先向中心信令控制服务器(SIP服务器)发起请求,中心信令控制服务器再分别向媒体服务器和SIP设备(媒体发送者)发起会话请求。会话建立成功后,SIP设备向媒体服务器发送实时媒体数据,媒体服务器再转发给SIP客户端。其中会话控制信令采用SIP协议(Session Initiation Protocol,会话初始协议),媒体数据发送采用RTP(Real-time Transport Protocol实时传输协议)发送打包成PS(ProgramStream)流,基于UDP协议(User Datagram Protocol,用户数据报协议)发送。
现有媒体数据传输流程中,媒体会话由SIP服务器控制,媒体数据传输由媒体服务器控制,导致媒体数据传输流程管理复杂,难以保持媒体会话同媒体数据传输的一致。
发明内容
本发明的主要目的在于提供一种媒体会话建立方法、装置及计算机可读存储介质,旨在解决现有技术中媒体会话与媒体数据传输不一致的技术问题。
为实现上述目的,本发明提供一种媒体会话建立方法,所述媒体会话建立方法包括:
接收客户端的媒体会话请求;
与所述媒体会话请求对应的媒体数据发送端建立媒体会话连接,接收所述媒体数据发送端发送的媒体数据;
反馈媒体会话建立成功信息至所述客户端,将所述媒体数据发送至所述客户端。
优选地,所述接收客户端发送的媒体会话请求包括:
接收客户端发送的媒体会话请求,确定所述媒体会话请求对应的接收端口;
开启所述接收端口。
优选地,所述与所述媒体会话请求对应的媒体数据发送端建立媒体会话连接包括:
若检测到存在所述媒体会话请求对应的历史会话信息,则进一步检测预设时间段内所述接收端口是否接收到媒体数据;
若预设时间段内所述接收端口接收到媒体数据,则根据所述历史会话信息与所述媒体会话请求对应的媒体数据发送端建立媒体会话连接。
优选地,所述与所述媒体会话请求对应的媒体数据发送端建立媒体会话连接还包括:
若检测到不存在所述媒体会话请求对应的历史会话信息,则将所述媒体会话请求发送至所述媒体会话请求对应的媒体数据发送端;
当接收到所述媒体数据发送端反馈的确认信息时,与所述媒体数据发送端建立媒体会话连接。
优选地,所述与所述媒体数据发送端建立媒体会话连接之后包括:
保存当前媒体会话连接对应的当前会话信息。
优选地,所述将所述媒体数据发送至所述客户端包括:
获取当前采用的与所述客户端进行数据传输的流媒体协议类型;
检测当前采用的流媒体协议是否支持所述媒体数据的传输;
若是,则将所述媒体数据发送至所述客户端;
若否,则将所述媒体数据格式转换为当前采用的流媒体协议支持的格式,将格式转换后的媒体数据发送至所述客户端。
优选地,所述会话信息至少包括:
会话ID、接收端口信息、发送端口信息、数据发送端标识。
此外,为实现上述目的,本发明还提供一种媒体会话建立装置,所述媒体会话建立装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的媒体会话建立程序,所述媒体会话建立程序被所述处理器执行时实现如上所述的媒体会话建立方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有媒体会话建立程序,所述媒体会话建立程序被处理器执行时实现如上所述的媒体会话建立方法的步骤。
本发明中,当接收到客户端的媒体会话请求时,确定该媒体会话请求对应的媒体数据发送端,与该媒体数据发送端建立媒体会话连接,在媒体会话连接建立后,接收媒体数据发送端发送的媒体数据,反馈媒体会话建立成功信息至客户端,并将接收的媒体数据发送至客户端。通过本发明,使得媒体会话控制和媒体数据传输都在同一装置上进行,简化了媒体会话建立流程,降低了对媒体会话流程的管理难度,最大程度上保证媒体会话与媒体数据传输的一致性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图;
图2为本发明媒体会话建立方法第一实施例的流程示意图;
图3为现有技术中媒体会话建立流程一实施例的场景示意图;
图4为本发明媒体会话建立流程一实施例的场景示意图;
图5为本发明媒体会话建立方法第二实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图。
本发明实施例媒体会话建立装置可以是服务器。服务器,也称伺服器,是提供计算服务的设备。服务器需要响应服务请求,并进行处理,服务器具备承担服务并且保障服务的能力。
如图1所示,该媒体会话建立装置可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的媒体会话建立装置结构并不构成对媒体会话建立装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及媒体会话建立程序。
在图1所示的媒体会话建立装置中,处理器1001可以用于调用存储器1005中存储的媒体会话建立程序,并执行以下操作:
接收客户端的媒体会话请求;
与所述媒体会话请求对应的媒体数据发送端建立媒体会话连接,接收所述媒体数据发送端发送的媒体数据;
反馈媒体会话建立成功信息至所述客户端,将所述媒体数据发送至所述客户端。
进一步地,处理器1001可以调用存储器1005中存储的媒体会话建立程序,还执行以下操作:
接收客户端发送的媒体会话请求,确定所述媒体会话请求对应的接收端口;
开启所述接收端口。
进一步地,处理器1001可以调用存储器1005中存储的媒体会话建立程序,还执行以下操作:
若检测到存在所述媒体会话请求对应的历史会话信息,则进一步检测预设时间段内所述接收端口是否接收到媒体数据;
若预设时间段内所述接收端口接收到媒体数据,则根据所述历史会话信息与所述媒体会话请求对应的媒体数据发送端建立媒体会话连接。
进一步地,处理器1001可以调用存储器1005中存储的媒体会话建立程序,还执行以下操作:
若检测到不存在所述媒体会话请求对应的历史会话信息,则将所述媒体会话请求发送至所述媒体会话请求对应的媒体数据发送端;
当接收到所述媒体数据发送端反馈的确认信息时,与所述媒体数据发送端建立媒体会话连接。
进一步地,处理器1001可以调用存储器1005中存储的媒体会话建立程序,还执行以下操作:
保存当前媒体会话连接对应的当前会话信息。
进一步地,处理器1001可以调用存储器1005中存储的媒体会话建立程序,还执行以下操作:
获取当前采用的与所述客户端进行数据传输的流媒体协议类型;
检测当前采用的流媒体协议是否支持所述媒体数据的传输;
若是,则将所述媒体数据发送至所述客户端;
若否,则将所述媒体数据格式转换为当前采用的流媒体协议支持的格式,将格式转换后的媒体数据发送至所述客户端。
进一步地,处理器1001可以调用存储器1005中存储的媒体会话建立程序,还执行以下操作:
会话信息至少包括:
会话ID、接收端口信息、发送端口信息、数据发送端标识。
参照图2,图2为本发明媒体会话建立方法第一实施例的流程示意图。
在一实施例中,媒体会话方法建立包括:
步骤S10,接收客户端的媒体会话请求;
步骤S20,与所述媒体会话请求对应的媒体数据发送端建立媒体会话连接,接收所述媒体数据发送端发送的媒体数据;
步骤S30,反馈媒体会话建立成功信息至所述客户端,将所述媒体数据发送至所述客户端。
参照图3,图3为现有技术中媒体会话建立流程一实施例的场景示意图。
如图3所示,第一步:SIP客户端向SIP服务器发起媒体会话请求;第二步:SIP服务器向媒体服务器发送请求,建立媒体接收会话;第三步:SIP服务器根据和媒体服务器建立的媒体接收信息,SIP服务器向SIP设备发送请求,建立媒体发送会话,媒体发送会话建立后,SIP设备发送媒体数据至媒体服务器;第四步:SIP服务器向媒体服务器发起请求,建立服务端媒体发送会话,用于向SIP客户端发送媒体数据;第五步:SIP服务器向客户端反馈媒体会话建立成功信息。如图3所示,现有技术中媒体会话建立、维护、管理由SIP服务器完成,媒体数据的传输由媒体服务器完成。即媒体会话控制和媒体传输是分开的,在不同的服务器上。对于媒体会话的管理便会存在一些问题,例如:1.媒体会话管理复杂,SIP服务器需要监控和管理发起的会话,这些会话在不同的服务器和设备上;2.在一些异常情况下(例如:网络中断、媒体服务器、SIP设备或SIP客户端异常退出或重新启动),媒体会话控制和媒体传输难以保持一致,可能媒体会话都已被结束,但媒体流还在传输;3.由于媒体会话控制和传输的不一致,可能会影响新的媒体会话建立,例如:重复的媒体流发送;4.在需要转成其他流媒体协议格式时,只能通过新增加流媒体服务器,作为SIP客户端来申请实时媒体数据,在转成不同的流媒体协议格式。
参照图4,图4为本发明媒体会话建立流程一实施例的场景示意图。
本实施例中,客户端可以是手机、电脑等终端设备,媒体会话建立装置可以是服务器,数据发送端可以是网络摄像机。
本实施例中,接收来自客户端的媒体会话请求(第一步),该媒体会话请求中可包括:客户端的身份信息,例如客户端的IP地址,被请求的数据发送端的身份信息,例如被请求的数据发送端的IP地址。媒体会话建立装置在接收到客户端的媒体会话请求后,便可根据媒体会话请求中包括的被请求的数据发送端的IP地址,确定对应的媒体数据发送端,然后与该媒体数据发送端建立媒体会话连接(第二步),并将媒体会话建立成功的信息反馈至客户端(第三步),从而将接收的媒体数据发送端发送的媒体数据发送至客户端,其中接收媒体数据的过程和发送反馈至客户端的过程可同步进行。
需要说明的是,本实施例中,客户端是直接向媒体会话建立装置发送媒体会话请求,媒体会话建立装置再通过SIP服务器(中心信令控制服务器)向对应的媒体数据发送端发起请求,其中SIP服务器仅负责媒体会话请求的转发,不涉及到维护和管理媒体会话。媒体会话的建立、媒体数据的传输均由媒体会话建立装置控制,易于管理和维护。
参照图5,图5为本发明媒体会话建立方法第二实施例的流程示意图。
本发明媒体会话建立方法一可选实施例中,当媒体会话建立装置接收到来自客户端的媒体会话请求,首先根据该媒体会话请求确定被请求的数据发送端,例如根据媒体会话请求中包含的被请求的数据发送端的IP地址信息,确定数据发送端,然后根据该数据发送端的信息确定对应的UDP接收端口,并开启该UDP接收端口,用以接收数据发送端发送端的媒体数据。例如,确定的数据发送端为A,则检测是否存在与A对应的UDP接收端口,若存在,则开启该UDP接收端口,若不存在,则找到一个可用的UDP端口,例如UDP端口10000,并将该UDP端口10000的端口信息与数据发送端A关联保存至本地数据库(本地数据库指媒体会话建立装置中的数据库,下文亦同),若后续某个客户端发送的媒体会话请求对应的数据发送端为A,则在数据库中找到A对应的端口信息,然后开启该端口信息对应的UDP端口10000。接下来,进一步检测本地数据库中是否存在与当前接收到的媒体会话请求对应的媒体会话信息(每一次新的媒体会话建立后,对应的媒体会话信息均会保存在本地数据库中)。
媒体会话信息包括:
会话ID,会话ID是一个全局唯一的字符串,由媒体会话请求中一些字段组成,用于标识一个媒体会话,一个媒体会话(一次数据接收从开始到结束)中这些字段相同,包括:一个会话由一个Call-ID,一个local tag和一个remote tag来标识(SIP规范),例如:
SIP/2.0 200OK
Via:SIP/2.0/UDP192.168.1.109:5060;branch=z9hG4bK-3833-2bc57536a6bf841c6a555eb18fb74b7a;received=192.168.1.113
From:
<sip:34020000002000000001@34020000>;tag=53ced481-72d3-426f-ad35-74db98e7417d
To:<sip:34020000001320000002@34020000>;tag=2070713418
Call-ID:f5f898c995ada4c4edb546e8954b0113@0.0.0.0
CSeq:101INVITE
Contact:<sip:34020000001320000002@192.168.1.64:5060>
Content-Type:application/sdp
User-Agent:IP Camera
Content-Length:225
例如一个会话ID:f5f898c995ada4c4edb546e8954b0113@0.0.0.0:53ced481-72d3-426f-ad35-74db98e7417d:2070713418。
SSRC,Synchronization source同步源,用于标识不同的数据发送端。
UDP接收端口,指媒体会话建立装置接收媒体数据的UDP端口。
UDP发送端口,指数据发送端发送媒体数据的UDP端口。
会话建立时间,指媒体会话被建立时的时间。
本实施例中,媒体会话信息包括的内容可根据实际需要进行扩充或缩减,在此不作限制。
本实施例中,若检测到本地数据库中存在与当前接收到的媒体会话请求对应的媒体会话信息,则进一步检测在预设时间段内开启的UDP接收端口是否接收到媒体数据,例如若检测到本地数据库中存在与当前接收到的媒体会话请求对应的媒体会话信息,则开启1秒定时器(或任意时间的定时器,具体根据实际需要进行设置,在此不作限制),若在1秒内开启的UDP接收端口接收到媒体数据,则直接反馈媒体会话建立成功信息至客户端,并将将接收到的媒体数据发送至客户端。若检测到本地数据库中存在与当前接收到的媒体会话请求对应的媒体会话信息,在开启1秒定时器后,在1秒内开启的UDP接收端口未接收到媒体数据,则发送媒体会话请求至对应的数据发送端,在接收到数据发送端反馈的确认信息(即确认建立媒体会话请求的信息)时,建立媒体会话连接,并将当前建立的媒体会话对应的媒体会话信息保存至本地数据库,开始通过开启的UDP接收端口接收媒体数据,同时反馈给客户端媒体会话建立成功信息,并将接收到的媒体数据发送至客户端。
本发明另一可选实施例中,若检测到本地数据库中不存在与当前接收到的媒体会话请求对应的媒体会话信息,则发送媒体会话请求至对应的数据发送端,在接收到数据发送端反馈的确认信息(即确认建立媒体会话请求的信息)时,建立媒体会话连接,并将当前建立的媒体会话对应的媒体会话信息保存至本地数据库,开始通过开启的UDP接收端口接收媒体数据,同时反馈给客户端媒体会话建立成功信息,并将接收到的媒体数据发送至客户端。
本实施例中,媒体会话信息在本地数据库中的保存时长可以设置,例如设置为1天。若根据媒体会话请求1建立了媒体会话1,该媒体会话1对应的媒体会话信息为A,媒体会话建立的时间为2017.08.08,00:00,则该媒体会话信息A在本地数据库中存在的时间为2017.08.08,00:00~2017.08.09,00:00,若在这个期间,媒体会话1异常中断,例如该中断是由于媒体会话建立装置(服务器)异常退出、升级等原因引起,若客户端重新发起了媒体会话请求1,若检测到预设时间内媒体会话请求1对应的UDP接收端口接收到媒体数据,则直接回复媒体会话,将媒体会话建立成功信息反馈至客户端,并将接收到的媒体数据发送至客户端,不用再发起新的媒体会话。通过本实施例增强的媒体冲突检测机制,通过包括会话ID、SSRC、UDP接收端口、UDP发送端口来确认媒体源的有效性,防止媒体数据错误发送、避免同一数据发送多次的问题。
本实施例中,当接收到客户端的媒体会话请求时,确定该媒体会话请求对应的媒体数据发送端,与该媒体数据发送端建立媒体会话连接,在媒体会话连接建立后,接收媒体数据发送端发送的媒体数据,反馈媒体会话建立成功信息至客户端,并将接收的媒体数据发送至客户端。通过本实施例,使得媒体会话控制和媒体数据传输都在同一装置上进行,简化了媒体会话建立流程,降低了对媒体会话流程的管理难度,最大程度上保证媒体会话与媒体数据传输的一致性。
进一步的,本发明媒体会话建立方法一实施例中,步骤S10包括:
接收客户端发送的媒体会话请求,确定所述媒体会话请求对应的接收端口;
开启所述接收端口。
本实施例中,根据该媒体会话请求确定被请求的数据发送端,例如根据媒体会话请求中包含的被请求的数据发送端的IP地址信息,确定数据发送端,然后根据该数据发送端的信息确定对应的UDP接收端口,并开启该UDP接收端口,用以接收数据发送端发送端的媒体数据。例如,确定的数据发送端为A,则检测是否存在与A对应的UDP接收端口,若存在,则开启该UDP接收端口,若不存在,则找到一个可用的UDP端口,例如UDP端口10000,并将该UDP端口10000的端口信息与数据发送端A关联保存至本地数据库(本地数据库指媒体会话建立装置中的数据库,下文亦同),若后续某个客户端发送的媒体会话请求对应的数据发送端为A,则在数据库中找到A对应的端口信息,然后开启该端口信息对应的UDP端口10000。
本实施例中,媒体会话请求是请求某个特定数据发送端的数据,故媒体会话请求中包含对应数据发送端的信息,例如IP信息,则检测本地数据库中是否存在该IP信息对应的UDP接收端口,若存在,则开启该UDP接收端口,如果不存在,则找到一个可用UDP接收端口,并将该IP信息和该UDP接收端口的信息保存到本地数据库(以后该IP信息对应的数据发送端发送的数据使用这个UDP接收端口接收),然后直接打开UDP接收端口,开始接收数据(如果之前是异常造成的媒体会话未结束,数据发送端可能还在发送媒体数据,那么这时在没有发起媒体会话的情况下,直接接收到媒体数据)。通过本实施例每次在向某个数据发送端申请媒体数据时,都指定该数据发送端向同一个UDP端口发送数据,这也可以有效的避免不同的数据发送端将数据发送到同一个UDP接收端口的问题。
进一步的,本发明媒体会话建立方法一实施例中,与所述媒体会话请求对应的媒体数据发送端建立媒体会话连接包括:
若检测到存在所述媒体会话请求对应的历史会话信息,则进一步检测预设时间段内所述接收端口是否接收到媒体数据;
若预设时间段内所述接收端口接收到媒体数据,则根据所述历史会话信息与所述媒体会话请求对应的媒体数据发送端建立媒体会话连接。
本实施例中,若检测到本地数据库中存在与当前接收到的媒体会话请求对应的媒体会话信息,则进一步检测在预设时间段内开启的UDP接收端口是否接收到媒体数据,例如若检测到本地数据库中存在与当前接收到的媒体会话请求对应的媒体会话信息,则开启1秒定时器(或任意时间的定时器,具体根据实际需要进行设置,在此不作限制),若在1秒内开启的UDP接收端口接收到媒体数据,则直接反馈媒体会话建立成功信息至客户端,并将将接收到的媒体数据发送至客户端。若检测到本地数据库中存在与当前接收到的媒体会话请求对应的媒体会话信息,在开启1秒定时器后,在1秒内开启的UDP接收端口未接收到媒体数据,则发送媒体会话请求至对应的数据发送端,在接收到数据发送端反馈的确认信息(即确认建立媒体会话请求的信息)时,建立媒体会话连接,并将当前建立的媒体会话对应的媒体会话信息保存至本地数据库,开始通过开启的UDP接收端口接收媒体数据,同时反馈给客户端媒体会话建立成功信息,并将接收到的媒体数据发送至客户端。
本实施例中,某次媒体会话可能会因为一些异常信息而断开,例如媒体会话建立装置(一服务器)异常退出了或升级重启,在媒体会话建立装置重新启动后,若客户端在此发起媒体会话请求,若该媒体会话请求对应的媒体会话信息存在,且检测到该媒体会话请求对应的UDP接收端口接收到媒体数据,则根据该媒体会话信息恢复媒体会话连接,并将接收到的媒体数据发送至客户端,不用再发起新的媒体会话,避免了同一数据发送多次的问题。
进一步的,本发明媒体会话建立方法一实施例中,与所述媒体会话请求对应的媒体数据发送端建立媒体会话连接还包括:
若检测到不存在所述媒体会话请求对应的历史会话信息,则将所述媒体会话请求发送至所述媒体会话请求对应的媒体数据发送端;
当接收到所述媒体数据发送端反馈的确认信息时,与所述媒体数据发送端建立媒体会话连接。
本实施例中,若检测到本地数据库中不存在与当前接收到的媒体会话请求对应的媒体会话信息,则发送媒体会话请求至对应的数据发送端,在接收到数据发送端反馈的确认信息(即确认建立媒体会话请求的信息)时,建立媒体会话连接,并将当前建立的媒体会话对应的媒体会话信息保存至本地数据库,开始通过开启的UDP接收端口接收媒体数据,同时反馈给客户端媒体会话建立成功信息,并将接收到的媒体数据发送至客户端。需要说明的是,本实施例中,媒体会话信息在本地数据库中的保存时长可以根据实际情况自由设置,例如设置为1天。若根据媒体会话请求1建立了媒体会话1,该媒体会话1对应的媒体会话信息为A,媒体会话建立的时间为2017.08.08,00:00,则该媒体会话信息A在本地数据库中存在的时间为2017.08.08,00:00~2017.08.09,00:00,若在这个期间,媒体会话1异常中断,例如该中断是由于媒体会话建立装置(服务器)异常退出、升级等原因引起,若客户端重新发起了媒体会话请求1,若检测到预设时间内媒体会话请求1对应的UDP接收端口接收到媒体数据,则直接恢复媒体会话,将媒体会话建立成功信息反馈至客户端,并将接收到的媒体数据发送至客户端,不用再发起新的媒体会话。通过本实施例增强的媒体冲突检测机制,通过包括会话ID、SSRC、UDP接收端口、UDP发送端口来确认媒体源的有效性,防止媒体数据错误发送、避免同一数据发送多次的问题。
进一步的,本发明媒体会话建立方法一实施例中,将所述媒体数据发送至所述客户端包括:
获取当前采用的与所述客户端进行数据传输的流媒体协议类型;
检测当前采用的流媒体协议是否支持所述媒体数据的传输;
若是,则将所述媒体数据发送至所述客户端;
若否,则将所述媒体数据格式转换为当前采用的流媒体协议支持的格式,将格式转换后的媒体数据发送至所述客户端。
本实施例中,客户端可使用SIP(Session Initiation Protocol,会话初始协议)、RTSP(Real Time Streaming Protocol,RFC2326,实时流传输协议)、RTMP(Real TimeMessaging Protocol实时消息传输协议)、HLS(HTTP Live Streaming是Apple的动态码率自适应技术。主要用于PC和Apple终端的音视频服务。包括一个m3u(8)的索引文件,TS媒体分片文件和key加密串文件)等流媒体协议发起媒体会话请求。
例如,在本发明一可选实施例中,媒体会话建立装置与数据发送端之间采用SIP协议,媒体会话建立装置与客户端之间采用RTMP协议。媒体会话建立装置接收来自数据发送端的媒体数据,由于媒体会话建立装置与客户端之间采用RTMP协议与媒体会话建立装置与数据发送端之间采用的SIP协议不同,该流媒体协议RTMP不支持当前媒体数据的传输,则对当前媒体数据格式进行转换,以供该流媒体协议RTMP支持格式经过转换后的媒体数据的传输。
在本发明另一可选实施例中,媒体会话建立装置与数据发送端之间采用SIP协议,媒体会话建立装置与客户端之间也采用SIP协议。则媒体会话建立装置在接收到数据发送端发送的媒体数据后,无需对媒体数据进行格式转换,可直接将接收到的媒体数据发送至客户端。
本实施例中,媒体会话建立装置支持客户端使用SIP、RTSP、RTMP、HLS等流媒体协议发起媒体会话请求。媒体会话建立装置通过SIP和数据发送端建立媒体会话,对接收到的媒体数据进行解析、打包成不同流媒体协议需要的格式。增强了本实施例对各种流媒体协议的兼容性。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有媒体会话建立程序,所述媒体会话建立程序被处理器执行时实现如上所述的媒体会话建立方法的步骤。
本发明计算机可读存储介质的具体实施例与上述媒体会话建立方法各个实施例基本相同,在此不做赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种媒体会话建立方法,其特征在于,所述媒体会话建立方法包括:
接收客户端的媒体会话请求;
与所述媒体会话请求对应的媒体数据发送端建立媒体会话连接,接收所述媒体数据发送端发送的媒体数据;
反馈媒体会话建立成功信息至所述客户端,将所述媒体数据发送至所述客户端。
2.如权利要求1所述的媒体会话建立方法,其特征在于,所述接收客户端发送的媒体会话请求包括:
接收客户端发送的媒体会话请求,确定所述媒体会话请求对应的接收端口;
开启所述接收端口。
3.如权利要求2所述的媒体会话建立方法,其特征在于,所述与所述媒体会话请求对应的媒体数据发送端建立媒体会话连接包括:
若检测到存在所述媒体会话请求对应的历史会话信息,则进一步检测预设时间段内所述接收端口是否接收到媒体数据;
若预设时间段内所述接收端口接收到媒体数据,则根据所述历史会话信息与所述媒体会话请求对应的媒体数据发送端建立媒体会话连接。
4.如权利要求1所述的媒体会话建立方法,其特征在于,所述与所述媒体会话请求对应的媒体数据发送端建立媒体会话连接还包括:
若检测到不存在所述媒体会话请求对应的历史会话信息,则将所述媒体会话请求发送至所述媒体会话请求对应的媒体数据发送端;
当接收到所述媒体数据发送端反馈的确认信息时,与所述媒体数据发送端建立媒体会话连接。
5.如权利要求4所述的媒体会话建立方法,其特征在于,所述与所述媒体数据发送端建立媒体会话连接之后包括:
保存当前媒体会话连接对应的当前会话信息。
6.如权利要求1所述的媒体会话建立方法,其特征在于,所述将所述媒体数据发送至所述客户端包括:
获取当前采用的与所述客户端进行数据传输的流媒体协议类型;
检测当前采用的流媒体协议是否支持所述媒体数据的传输;
若是,则将所述媒体数据发送至所述客户端;
若否,则将所述媒体数据格式转换为当前采用的流媒体协议支持的格式,将格式转换后的媒体数据发送至所述客户端。
7.如权利要求1-6中任一项所述的媒体会话建立方法,其特征在于,所述会话信息至少包括:
会话ID、接收端口信息、发送端口信息、数据发送端标识。
8.一种媒体会话建立装置,其特征在于,所述媒体会话建立装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的媒体会话建立程序,所述媒体会话建立程序被所述处理器执行时实现如下步骤:
接收客户端的媒体会话请求;
与所述媒体会话请求对应的媒体数据发送端建立媒体会话连接,接收所述媒体数据发送端发送的媒体数据;
反馈媒体会话建立成功信息至所述客户端,将所述媒体数据发送至所述客户端。
9.如权利要求8所述的媒体会话建立装置,其特征在于,所述媒体会话建立程序被所述处理器执行时还实现如下步骤:
若检测到存在所述媒体会话请求对应的历史会话信息,则进一步检测预设时间段内所述接收端口是否接收到媒体数据;
若预设时间段内所述接收端口接收到媒体数据,则根据所述历史会话信息与所述媒体会话请求对应的媒体数据发送端建立媒体会话连接。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有媒体会话建立程序,所述媒体会话建立程序被处理器执行时实现如权利要求1至7中任一项所述的媒体会话建立方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710848796.XA CN107734284A (zh) | 2017-09-18 | 2017-09-18 | 媒体会话建立方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710848796.XA CN107734284A (zh) | 2017-09-18 | 2017-09-18 | 媒体会话建立方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107734284A true CN107734284A (zh) | 2018-02-23 |
Family
ID=61206642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710848796.XA Pending CN107734284A (zh) | 2017-09-18 | 2017-09-18 | 媒体会话建立方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107734284A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213272A (zh) * | 2019-06-03 | 2019-09-06 | 重庆紫光华山智安科技有限公司 | 数据传输方法及装置 |
CN110798714A (zh) * | 2019-10-23 | 2020-02-14 | 深圳创维新世界科技有限公司 | 一种基于hls的本地视频播放系统及播放方法 |
CN111193941A (zh) * | 2020-01-07 | 2020-05-22 | 北京东土科技股份有限公司 | 一种媒体数据的传输方法、装置、设备及存储介质 |
CN111491007A (zh) * | 2020-03-04 | 2020-08-04 | 北京中盾安全技术开发公司 | Sip中心信令控制服务负载均衡方法及其负载均衡器 |
CN112188227A (zh) * | 2020-09-30 | 2021-01-05 | 武汉中科通达高新技术股份有限公司 | 一种流媒体数据分发方法和装置 |
CN113973089A (zh) * | 2021-09-30 | 2022-01-25 | 阿里巴巴(中国)有限公司 | 一种流媒体传输方法、系统、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103428168A (zh) * | 2012-05-17 | 2013-12-04 | 北京信悦通科技有限公司 | 一种sip客户端访问rtsp媒体资源的方法、系统及信令网关 |
CN103458318A (zh) * | 2013-07-26 | 2013-12-18 | 深圳市融创天下科技股份有限公司 | 媒体数据传输方法及系统 |
CN104159165A (zh) * | 2014-07-26 | 2014-11-19 | 佳都新太科技股份有限公司 | 一种基于sip协议下的通过tcp传输rtp媒体流的方法 |
CN104320490A (zh) * | 2014-11-12 | 2015-01-28 | 深圳市博康系统工程有限公司 | 一种基于sip的断点续传的可靠数据传输方法和系统 |
CN104735400A (zh) * | 2013-12-24 | 2015-06-24 | 浙江省公众信息产业有限公司 | 一种视频监控系统中sip客户端访问rtsp媒体设备的方法及网关设备 |
-
2017
- 2017-09-18 CN CN201710848796.XA patent/CN107734284A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103428168A (zh) * | 2012-05-17 | 2013-12-04 | 北京信悦通科技有限公司 | 一种sip客户端访问rtsp媒体资源的方法、系统及信令网关 |
CN103458318A (zh) * | 2013-07-26 | 2013-12-18 | 深圳市融创天下科技股份有限公司 | 媒体数据传输方法及系统 |
CN104735400A (zh) * | 2013-12-24 | 2015-06-24 | 浙江省公众信息产业有限公司 | 一种视频监控系统中sip客户端访问rtsp媒体设备的方法及网关设备 |
CN104159165A (zh) * | 2014-07-26 | 2014-11-19 | 佳都新太科技股份有限公司 | 一种基于sip协议下的通过tcp传输rtp媒体流的方法 |
CN104320490A (zh) * | 2014-11-12 | 2015-01-28 | 深圳市博康系统工程有限公司 | 一种基于sip的断点续传的可靠数据传输方法和系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213272A (zh) * | 2019-06-03 | 2019-09-06 | 重庆紫光华山智安科技有限公司 | 数据传输方法及装置 |
CN110798714A (zh) * | 2019-10-23 | 2020-02-14 | 深圳创维新世界科技有限公司 | 一种基于hls的本地视频播放系统及播放方法 |
CN110798714B (zh) * | 2019-10-23 | 2022-02-01 | 深圳创维新世界科技有限公司 | 一种基于hls的本地视频播放系统及播放方法 |
CN111193941A (zh) * | 2020-01-07 | 2020-05-22 | 北京东土科技股份有限公司 | 一种媒体数据的传输方法、装置、设备及存储介质 |
CN111491007A (zh) * | 2020-03-04 | 2020-08-04 | 北京中盾安全技术开发公司 | Sip中心信令控制服务负载均衡方法及其负载均衡器 |
CN111491007B (zh) * | 2020-03-04 | 2023-08-18 | 北京中盾安全技术开发公司 | Sip中心信令控制服务负载均衡方法及其负载均衡器 |
CN112188227A (zh) * | 2020-09-30 | 2021-01-05 | 武汉中科通达高新技术股份有限公司 | 一种流媒体数据分发方法和装置 |
CN113973089A (zh) * | 2021-09-30 | 2022-01-25 | 阿里巴巴(中国)有限公司 | 一种流媒体传输方法、系统、设备及存储介质 |
CN113973089B (zh) * | 2021-09-30 | 2024-01-26 | 阿里巴巴(中国)有限公司 | 一种流媒体传输方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107734284A (zh) | 媒体会话建立方法、装置及计算机可读存储介质 | |
CN101453477B (zh) | 实时媒体内容上传的方法和装置 | |
EP2590376B1 (en) | Method, apparatus and system for cross-platform conference convergence | |
US20080107108A1 (en) | System and method for enabling fast switching between psse channels | |
CN103370914A (zh) | 用于媒体描述输送的方法和装置 | |
CN103026680A (zh) | 用于媒体流传输的会话控制 | |
CN104584482A (zh) | 基于ims的p2p流和下载服务 | |
EP1593047A2 (en) | Method for signaling streaming quality adaptation and control mechanisms in multimedia streaming | |
US20100118111A1 (en) | Method and apparatus for remote camera control indications in video conferencing | |
EP2314048A1 (en) | Fast content switching in a communication system | |
CN101056273B (zh) | 基于会话的网络限速方法及装置 | |
CN102986187B (zh) | 用于改变进行中流传输会话的配置的方法和设备 | |
CN103929623A (zh) | 一种视频监控系统中视频数据处理方法 | |
EP1954002B1 (en) | Method for determining the available bandwidth for multimedia data transmission | |
US11716363B2 (en) | Messaging resource function | |
US20080101412A1 (en) | Method and apparatus for generating a message in a communication system | |
US9712392B2 (en) | SIP endpoint configuration in VoIP networks | |
CN101094159B (zh) | 一种媒体流私网穿透的方法 | |
US9100412B2 (en) | Method and apparatus for transmitting media resources | |
CN102378064A (zh) | 一种iptv网络中实现nat穿越的方法及装置 | |
KR20110092966A (ko) | 네트워크에서 세션 설정 지연시간을 최소화하기 위한 방법 및 장치 | |
EP2200254B1 (en) | Mobile network system and guidance message providing method | |
WO2015176746A1 (en) | A method and apparatus for establishing an additional session to an anonymous user | |
KR20090073316A (ko) | 이동통신 단말기의 어플리케이션 실행 제어 시스템 및 그제어방법 | |
EP1954001B1 (en) | Method for Providing Data Securely Allowing Smooth Switching of Channels |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180223 |