一种非对称媒体参数的SDP协商方法与流程

文档序号:12478093阅读:753来源:国知局
一种非对称媒体参数的SDP协商方法与流程

本发明属于网络通信技术领域,具体涉及一种非对称媒体参数的SDP协商方法。



背景技术:

随着互联网的飞速发展,会话类业务在互联网业务中占有重要的一席之地。现有的会话类业务不仅需要进行用户间的语音交互,而且需要将视频、声音、图像、数据和文字等信息内容中的一种或者多种媒体流进行组合和交互处理。为了使会话双方顺利进行媒体会话,确保多种类型的媒体流能够正确传输,会话正式开始前需进行媒体参数协商。

SDP(Session Description Protocol,会话描述协议)是由IETF(Interne工程任务组)作为RFC4566(RFC2327已过时)颁布,它描述了流媒体初始化参数的格式。会话描述协议为会话通知、会话邀请和其它形式的多媒体会话初始化等目的提供了多媒体会话描述。一个SDP会话描述包含一个或多个媒体流描述信息,该信息包括IP地址、媒体流类型(视频或者音频等)、传输协议类型、媒体格式(不同的编解码)以及其它的会话和媒体流参数。SDP定义了会话描述的统一格式,但并不定义多播地址的分配和SDP消息的传输,也不支持媒体编码方案的协商,这些功能均由下层传送协议完成。

然而,在会话协商中,简单的媒体流描述是不够的。因为在会话协商中,两个或更多的实体之间要建立媒体会话,需要设置一系列媒体流参数,并且要求每一个实体都要支持这一系列的媒体流参数。要实现这一目的,首先每一实体必须通知其他实体它的接收地址,其次,所有实体需要同意该会话的媒体流参数。为了解决这个问题,RFC3264定义了offer/answer机制。利用该机制两个实体可以使它们之间的多媒体会话达成一致,在该机制中,发送方构造一个offer,列出媒体流、编解码以及其它支持的SDP参数,发送方将该offer发给接收方,接收方根据自身参数,对比offer,生成一个answer,将该answer发送给发送方完成会话协商。

在传统会话场景中,一般会话双方的参数均为对等的,但随着会话类业务的发展,会话类型增多,参与会话的终端类型不断增加,需传输的媒体流种类也不断增加,会话双方的参数变得不尽相同,比如,手机和电视进行视频通话,手机可以捕获高分辨率的视频,但只能播放低分辨率的视频;而电视与之相反,可以捕获低分辨率的视频,播放高分辨率的视频。这种非对称的媒体参数为媒体会话的协商带来了困难。传统的SDP会话协商方法需要使用媒体流方向参数进行协商,增加了SDP协商的冗余度,增加了会话双方的通信代价。如何更有效率、更加准确地在非对称场景下进行SDP会话协商是本发明要解决的问题。



技术实现要素:

针对现有技术的不足,本发明提出一种非对称媒体参数的SDP协商方法。

本发明的技术方案是:

一种非对称媒体参数的SDP协商方法,包括以下步骤:

步骤1:发送方向接收方发送一个携带发送方的发送配置和接收配置的offer,该发送方的发送配置和接收配置携带发送方进行会话的媒体参数;

步骤2:接收方根据会话双方的发送配置和接收配置,协商发送方与接收方支持的媒体参数,向发送方回送一个携带接收方协商后的发送配置和接收配置的answer;

步骤3:发送方根据收到的answer确认发送与接收时使用的媒体参数,以单向媒体流的形式向接收方发送一个携带协商后的煤体参数的offer,并将其设为实际配置;

步骤4:接收方以单向媒体流的形式向发送方回送一个携带协商后的煤体参数的answer,确认发送方选择的媒体参数。

可选地,所述发送方向接收方发送一个携带发送方的发送配置和接收配置的offer,具体为:

若当前会话业务为音视频会话且支持针对音视频业务定义的媒体能力,则将进行会话的媒体参数以配置列表表示,并将配置列表进行配置编号,则该发送方的发送配置和接收配置携带发送方进行会话的媒体参数的配置编号;若当前会话业务并非为音视频会话或者不支持针对音视频业务定义的媒体能力,则该发送方的发送配置和接收配置直接携带发送方进行会话的媒体参数。

可选地,所述步骤2包括以下具体步骤:

步骤2.1:根据会话双方的协商,确定当前会话业务的配置优先级基准,若以发送方的配置优先级为基准,则执行步骤2.2,若以接收方的配置优先级为基准,则执行步骤2.4;

步骤2.2:接收方将发送方的发送配置按照优先级顺序依次与接收方的所有接收配置依次进行匹配,将最先匹配到的配置作为接收方协商后的接收配置;

步骤2.3:接收方将发送方的接收配置按照优先级顺序依次与接收方的所有发送配置依次进行匹配,将最先匹配到的配置作为接收方协商后的发送配置,执行步骤2.6;

步骤2.4:接收方将接收方的发送配置按照优先级顺序依次与发送方的所有接收配置依次进行匹配,将最先匹配到的配置作为接收方协商后的发送配置;

步骤2.5:接收方将接收方的接收配置按照优先级顺序依次与发送方的所有发送配置依次进行匹配,将最先匹配到的配置作为接收方协商后的接收配置;

步骤2.6:接收方向发送方回送一个携带接收方协商后的发送配置和接收配置的answer。

可选地,所述接收方向发送方回送一个携带接收方协商后的发送配置和接收配置的answer,具体为:

若当前会话业务为音视频会话且支持针对音视频业务定义的媒体能力,则将会话协商后的媒体参数以配置列表表示,并将配置列表进行配置编号,则该接收方协商后的发送配置和接收配置携带协商后的媒体参数的配置编号;若当前会话业务并非为音视频会话或者不支持针对音视频业务定义的媒体能力,则该接收方协商后的发送配置和接收配置直接携带会话协商后的媒体参数。

可选地,所述的媒体参数包括:分辨率、帧率、编解码格式的一种或多种。

可选地,所述offer或answer中至少要包含一个发送配置;所述offer或answer中至少要包含一个接收配置。

可选地,所述发送配置与所述接收配置进行匹配,或所述接收配置与所述发送配置进行匹配,具体为:当所述发送配置所携带的媒体参数与所述接收配置所携带的媒体参数完全一致时,即所述发送配置与所述接收配置匹配,当所述接收配置所携带的媒体参数与所述发送配置所携带的媒体参数完全一致时,即所述接收配置与所述发送配置匹配。

本发明的有益效果:

本发明提出一种非对称媒体参数的SDP协商方法,可以应用于媒体参数较多、条件较为复杂、且在会话过程中有可能改变参数条件的场景。与传统协商方式相比,本发明的优势在于,可以在一个offer中提供可供选择的包含多种媒体参数的发送配置与接收配置,在一个信息包里可以包含大量信息,再通过有效的压缩,大大提高信息包空间大小的利用率。会话过程中会话双方随时可以改变媒体参数,通过发送配置编号来选择不同的发送配置或接收配置,提高了信令效率,同时,发送配置和接收配置的优先级编号可以一定程度地反映会话双方对相应媒体参数的选择偏好,在多种配置存在时,选择优先级高的媒体参数可以保证双方更好的通信质量。此外,根据音视频会话的重要参数定义的媒体属性有助于提高特定业务中会话协商的效率,减少SDP协商的冗余度,降低信令代价。

附图说明

图1为本发明实施方式中非对称媒体参数的SDP协商方法的流程图;

图2为本发明实施方式中根据会话双方的发送配置和接收配置协商发送方与接收方支持的媒体参数的流程图。

具体实施方式

下面结合附图对本发明具体实施方式加以详细的说明。

针对现有技术的不足,本发明提出一种非对称媒体参数的SDP协商方法,对原有SDP协议定义的媒体描述和会话协商过程加以改进与完善,以解决会话协商过程中,会话双方媒体参数不对等造成的协商问题;同时,本发明提出的方案中定义的新媒体参数类型,用简单的编号代表复杂的媒体参数,减少SDP报文长度,可以使会话类业务中较为重要的音视频会话进行更有效率的SDP协商,降低了通信双方在会话过程中因为会话协商消耗的代价。

本实施方式中,定义新的配置类型:发送配置(sending configuration)和接收配置(receiving configuration),发送配置包含用户可以发送媒体流的各项媒体参数,接收配置包含用户可以接收媒体流的各项媒体参数。发送配置或者接收配置中可以包含多种配置组合,并按照优先级顺序排列。

发送配置的具体定义为:发送配置a=scfg:<配置编号><发送配置列表>,配置编号说明了该发送配置的优先级别,优先级别越高编号越小。每个发送配置列表携带的主要内容包括发送媒体流使用的分辨率(r=)、帧率(f=)、编解码格式(co=)。offer或answer中至少要包含一个发送配置。为了区分发送方和接收方的发送配置,发送方的发送配置标记为scfgs1,scfgs2,scfgs3,...,scfgsn,接收方的发送配置标记为scfgr1,scfgr2,scfgr3,...,scfgrn。

分辨率具体定义为:分辨率a=rcap:<分辨率编号><分辨率参数>,其中,分辨率编号是一个从1到2^31-1范围内的整数。分辨率一般由发送方进行编号,当接收方需要添加分辨率时,需按照之前的编号依次向下进行编号。

帧率具体定义为:帧率a=fcap:<帧率编号><帧率参数>,其中,帧率编号是一个从1到2^31-1范围内的整数。帧率一般由发送方进行编号,当接收方需要添加帧率时,需按照之前的编号依次向下进行编号。

编解码格式具体定义为:编解码格式a=cocap:<编解码格式编号><编解码参数>,其中,编解码格式编号是一个从1到2^31-1范围内的整数。编解码格式一般由发送方进行编号,当接收方需要添加编解码格式时,需按照之前的编号依次向下进行编号。

例如,a=scfg:1 r=1 f=1 co=1,其中r=1表示“a=rcap”配置列表上的第一个分辨率,f=1表示“a=fcap”配置列表上的第一个帧率编号,co=1表示“a=cocap”配置列表上的第一个编解码格式。在一个发送配置中不需要全部包括r=、f=、co=三种能力。

接收配置的具体定义为:接收配置a=rcfg:<配置编号><接收配置列表>,配置编号说明了该接收配置的优先级别,优先级别越高编号越小。每个接收配置列表携带的主要内容包括接收媒体流使用的分辨率(r=)、帧率(f=)、编解码格式(co=)和扩展的媒体参数。offer或answer中至少要包含一个接收配置。为了区分发送方和接收方的接收配置,发送方的接收配置标记为rcfgs1,rcfgs2,rcfgs3,...,rcfgsn,接收方的接收配置标记为rcfgr1,rcfgr2,rcfgr3,...,rcfgrn。

实施例一:

一种非对称媒体参数的SDP协商方法,如图1所示,包括以下步骤:

本实施方式中,Alice和Bob进行视频会话,Alice使用手机,可以捕获1080p(FHD)的视频发送给Bob,但只能播放720p(HD)的视频流;Bob使用电视,可以播放1080p的视频,但只能捕获720p的视频流发送给Alice,Alice和Bob均使用H.265编解码。会话双方支持使用发送配置与接收配置进行媒体协商,但并不支持针对音视频业务定义的媒体能力。

步骤1:发送方向接收方发送一个携带发送方的发送配置和接收配置的offer,该发送方的发送配置和接收配置携带发送方进行会话的媒体参数。

本实施方式中,若当前会话业务为音视频会话且支持针对音视频业务定义的媒体能力,则将进行会话的媒体参数以配置列表表示,并将配置列表进行配置编号,则该发送方的发送配置和接收配置携带发送方进行会话的媒体参数的配置编号;若当前会话业务并非为音视频会话或者不支持针对音视频业务定义的媒体能力,则该发送方的发送配置和接收配置直接携带发送方进行会话的媒体参数。

本实施方式中,发送方Alice向接收方Bob发送一个携带发送方的发送配置和接收配置的offer,即发送方的发送配置scfgs1携带编解码格式为H.265、分辨率为1080p,发送配置scfgs2携带编解码格式为H.265、分辨率为720p,发送方的接收配置rcfgs1携带编解码格式为H.265、分辨率为720p。

步骤2:接收方根据会话双方的发送配置和接收配置,协商发送方与接收方支持的媒体参数,向发送方回送一个携带接收方协商后的发送配置和接收配置的answer,如图2所示。

步骤2.1:根据会话双方的协商,确定当前会话业务的配置优先级基准,若以发送方的配置优先级为基准,则执行步骤2.2,若以接收方的配置优先级为基准,则执行步骤2.4。

本实施方式中,为了比较发送方与接收方的配置优先级,定义新的属性字段a=pri。当以发送方的配置优先级为准时,a=pri:1;当以接收方的配置优先级为准时,a=pri:2。如果业务中没有特殊说明,则默认以接收方的配置优先级为准。

步骤2.2:接收方将发送方的发送配置按照优先级顺序依次与接收方的所有接收配置依次进行匹配,将最先匹配到的配置作为接收方协商后的接收配置。

本实施方式中,选择接收方的接收配置时,接收方将发送方的发送配置scfgs1与接收方的接收配置rcfgr1,rcfgr2,rcfgr3,...,rcfgrn依次比较匹配,若匹配成功,则停止匹配,若匹配失败,依此类推继续匹配,直至将发送方的发送配置scfgsn与接收方的接收配置rcfgr1,rcfgr2,rcfgr3,...,rcfgrn依次匹配,若匹配成功,则停止匹配过程,选择匹配成功的配置作为接收方协商后的接收配置,若匹配失败,则会话双方的媒体参数不一致,双方无法使用已有的媒体参数进行会话。

步骤2.3:接收方将发送方的接收配置按照优先级顺序依次与接收方的所有发送配置依次进行匹配,将最先匹配到的配置作为接收方协商后的发送配置,执行步骤2.6。

本实施方式中,选择接收方的发送配置时,接收方将发送方的接收配置rcfgs1与接收方的发送配置scfgr1,scfgr2,scfgr3,...,scfgrn依次比较匹配,若匹配成功,则停止比较匹配,若匹配失败,依此类推继续匹配,直至将发送方的接收配置rcfgsn与接收方的发送配置scfgr1,scfgr2,scfgr3,...,scfgrn依次比较匹配,若匹配成功,则停止匹配过程,选择匹配成功的配置为接收方协商后的发送配置,若匹配失败,则会话双方的媒体参数不一致,双方无法使用已有的媒体参数进行会话。

本实施方式中,发送配置与接收配置进行匹配,或接收配置与发送配置进行匹配,具体为:当发送配置所携带的媒体参数与接收配置所携带的媒体参数完全一致时,即发送配置与接收配置匹配,当接收配置所携带的媒体参数与发送配置所携带的媒体参数完全一致时,即接收配置与发送配置匹配。

步骤2.4:接收方将接收方的发送配置按照优先级顺序依次与发送方的所有接收配置依次进行匹配,将最先匹配到的配置作为接收方协商后的发送配置。

本实施方式中,选择接收方的发送配置时,接收方将接收方的发送配置scfgr1与发送方的接收配置rcfgs1,rcfgs2,rcfgs3,...,rcfgsn依次比较匹配,若匹配成功,则停止比较匹配,若匹配失败,依此类推继续匹配,直至将接收方的发送配置scfgrn与发送方的接收配置rcfgs1,rcfgs2,rcfgs3,...,rcfgsn依次比较匹配,若匹配成功,则停止匹配过程,选择匹配成功的配置为接收方协商后的发送配置,若匹配失败,则会话双方的媒体参数不一致,双方无法使用已有的媒体参数进行会话。

步骤2.5:接收方将接收方的接收配置按照优先级顺序依次与发送方的所有发送配置依次进行匹配,将最先匹配到的配置作为接收方协商后的接收配置。

本实施方式中,选择接收方的接收配置时,接收方将接收方的接收配置rcfgr1与发送方的发送配置scfgs1,scfgs2,scfgs3,...,scfgsn依次比较匹配,若匹配成功,则停止比较匹配,若匹配失败,依此类推继续匹配,直至将接收方的接收配置rcfgrn与发送方的发送配置scfgs1,scfgs2,scfgs3,...,scfgsn依次比较匹配,若匹配成功,则停止匹配过程,选择匹配成功的配置为接收方协商后的接收配置,若匹配失败,则会话双方的媒体参数不一致,双方无法使用已有的媒体参数进行会话。

步骤2.6:接收方向发送方回送一个携带接收方协商后的发送配置和接收配置的answer。

本实施方式中,若当前会话业务为音视频会话且支持针对音视频业务定义的媒体能力,则将会话协商后的媒体参数以配置列表表示,并将配置列表进行配置编号,则该接收方协商后的发送配置和接收配置携带协商后的媒体参数的配置编号;若当前会话业务并非为音视频会话或者不支持针对音视频业务定义的媒体能力,则该接收方协商后的发送配置和接收配置直接携带会话协商后的媒体参数。

本实施方式中,接收方Bob向发送方Alice回送一个携带接收方协商后的发送配置和接收配置的answer,即协商后的接收方的发送配置为scfgr1,即携带编解码格式为H.265、分辨率为720p,协商后的接收方的接收配置为rcfgr1,即携带编解码格式为H.265、分辨率为1080p。

步骤3:发送方根据收到的answer确认发送与接收时使用的媒体参数,以单向媒体流的形式向接收方发送一个携带协商后的煤体参数的offer,并将其设为实际配置。

本实施方式中,发送方Alice确认选择发送1080p的视频流,接收720p的视频流,发送方Alice以单向媒体流的形式向接收方Bob发送一个携带协商后的煤体参数的offer,并将其设为实际配置。

步骤4:接收方以单向媒体流的形式向发送方回送一个携带协商后的煤体参数的answer,确认发送方选择的媒体参数。

本实施方式中,接收方Bob同样以单向媒体流的形式向发送方Alice回送一个携带协商后的煤体参数的answer,确认发送方选择的媒体参数,会话协商结束,双方开始进行会话。

实施例二:

本实施方式中,Alice和Bob进行视频会话,双方支持的能力有:编解码H.264、编解码H.265、帧率为30帧/秒、帧率25帧/秒、分辨率为720p、分辨率为1080p,各媒体参数在相应的发送配置与接收配置中有不同的组合方式。会话双方支持使用发送配置与接收配置进行媒体协商,且支持针对音视频业务定义的媒体能力。

步骤1:发送方向接收方发送一个携带发送方的发送配置和接收配置的offer,该发送方的发送配置和接收配置携带发送方进行会话的媒体参数。

本实施方式中,发送方Alice将进行会话的媒体参数以配置列表表示,并将配置列表进行配置编号,分辨率:“a=rcap:1 HD”、“a=rcap:2 FHD”,帧率:“a=fcap:1 30”、“a=fcap:2 25”,编解码:“a=cocap:1 H.264”、“a=cocap:2 H.265”,发送方Alice向接收方Bob发送的offer携带的发送配置和接收配置包含发送方进行会话的媒体参数的配置编号:“a=scfgs:1 r=1 f=1 co=1”、“a=scfgs:2 r=1 f=2 co=2”、“a=rcfgs:1 r=2 f=1 co=2”、“a=rcfgs:2 r=1 f=1 co=2”。即发送配置scfgs1携带编解码格式为H.264、帧率为30帧/秒、分辨率为720p,发送配置scfgs2携带编解码格式为H.265、帧率为25帧/秒、分辨率为720p,接收配置rcfgs1携带编解码格式为H.265、帧率为30帧/秒、分辨率为1080p,接收配置rcfgs1携带编解码格式为H.265、帧率为30帧/秒、分辨率为720p。

步骤2:接收方根据会话双方的发送配置和接收配置,协商发送方与接收方支持的媒体参数,向发送方回送一个携带接收方协商后的发送配置和接收配置的answer。

本实施方式中,接收方Bob将会话协商后的媒体参数以配置列表表示,并将配置列表进行配置编号,接收方Bob向发送方Alice回送的answer携带的接收方协商后的发送配置和接收配置包含协商后的媒体参数的配置编号,即协商后的接收方Bob的发送配置为scfgr1,即携带编解码格式为H.265、帧率为30帧/秒、分辨率为1080p,协商后的接收方的接收配置为rcfgr1,即携带编解码格式为H.264、帧率为30帧/秒、分辨率为720p。

步骤3:发送方根据收到的answer确认发送与接收时使用的媒体参数,以单向媒体流的形式向接收方发送一个携带协商后的煤体参数的offer,并将其设为实际配置。

本实施方式中,发送方Alice确认发送时选择H.264编解码、帧率为30帧/秒、分辨率为720p的视频流,接收时选择H.265编解码、帧率为30帧/秒、分辨率为1080p的视频流,发送方Alice向接收方Bob发送一个携带协商后的煤体参数的offer,并将其设为实际配置。

步骤4:接收方以单向媒体流的形式向发送方回送一个携带协商后的煤体参数的answer,确认发送方选择的媒体参数。

本实施方式中,接收方Bob以单向媒体流的形式向发送方Alice回送一个携带协商后的煤体参数的answer,确认发送方选择的媒体参数,会话协商结束,双方开始进行会话。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1