SDP简介

SDP简介1 概述 SDP 制订的目的是描述多媒体会话 如会话通知 会话邀请或其他发起多媒体会话的形式 SDP 是纯粹的会话的描述格式而不是一个传输协议 它可以使用不同的传输协议 包括会话通知协议 SAP 会话初始协议 SIP 实时流协议 RTSP MIME 扩展协议的电子邮件以及超文本传输协议 HTTP SDP 并不描述广播地址的分配 或者详细的消息描述 并且 SDP 也不是为沟通媒体编解码而设计的 SDP 被设计

1 概述

SDP制订的目的是描述多媒体会话,如会话通知、会话邀请或其他发起多媒体会话的形式。

SDP是纯粹的会话的描述格式而不是一个传输协议。它可以使用不同的传输协议,包括会话通知协议(SAP)、会话初始协议(SIP)、实时流协议(RTSP)、MIME扩展协议的电子邮件以及超文本传输协议(HTTP),SDP并不描述广播地址的分配,或者详细的消息描述,并且SDP也不是为沟通媒体编解码而设计的。

SDP被设计成一个用于通用目的,它可以广泛的用于网络环境和应用。

2 SDP的使用

SDP是一种多媒体会议的会话描述协议,SDP通常的使用模式为:一个客户机定期的向已知的广播地址和端口广播通知报文(announcement Packet),来通知一个会议的会话(conference session)。这是一种广播通知(Multicast Announcements)的形式。主要使用Session Announcement Protocol (SAP)来承载。

文本静荷(The text payload)是一个SDP会话描述。文本静荷的长度不应该超过1 Kbyte。如果使用SAP的话,一个报文只能承载一个会话通知。

除了使用SAP进行广播性的通知,电子邮件和WWW也可以传送会话描述。对于email 和WWW,MIME类型”application/sdp”是必须要使用的。这使为作为会话参与者的WWW客户端和邮件的读者提供的应用程序可以以一种标准的方式自动运行。

注意的是仅仅通过email和WWW通告的多播会话并不包含会话通知的接收者有能力接收这个会话的属性。因为多播会话可能在范围上受局限,连接到WWW服务器或接收电子邮件有可能超出了这一局限。SAP 通告不会有这样的问题。

3 SDP的内容

SDP的目的是传送多媒体会话中的媒体流的信息,以使会话描述的接收者可以参加会话。所以,SDP应该包含足够的信息来发起会话或使接收者加入会话。

SDP应该包含:

  • l 会话名和会话目的
  • l 会话激活的时间
  • l 会话由何种媒体组成
  • l 接收这些媒体的信息(地址,端口,格式等等)
  • l 会话所用到的带宽信息。
  • l 连接信息

通常情况下,SDP应该传送加入会话的足够的信息 (包含可能的特殊的加密钥匙)并且通知未参与者可能要用到的资源。

3.1 媒体信息 Media Information

SDP包含:

  • l 媒体类型(video, audio, etc)
  • l 传输协议(RTP/UDP/IP, H.320, etc)
  • l 媒体格式(H.261 video, MPEG video, etc)

    对于IP多播会话,应该包含:

  • l 媒体的多播地址和媒体的传输端口

    对于IP单播,需要传输以下信息:

  • l 媒体的目的地址和传输端口

    这里的地址和端口与媒体和传输协议的定义有关。缺省情况下,地址和端口是发端的地址和端口及收端的地址和端口,可是,有些媒体可以定义使用这些来为实际的媒体流建立一个控制通道。

3.2 时间信息 Timing Information

  • l 一个任意的会话的起止时间范围的列表
  • l 每一个时间段可以循环的时间范围,如”every Wednesday at 10am for one hour”

    这些时间信息是全局一致的,与本地的时间无关。

3.3 私有会话 Private Sessions

3.4 预留 Obtaining Further Information about a Session

会话描述应该传输足够的信息,以使用户决定是否参与会话。SDP可以在Universal Resources Identifiers (URIs)加入额外的标记,以提供会话的更多的信息。

3.5 分类Categorisation

当SAP或其他的通告机制传输几种会话描述,那么应该可以过滤这些通告,决定哪些是感兴趣的,那些不是。SDP支持一种会话的分类机制,这是可以自动完成的。

3.6 国际化 Internationalization

SDP规范推荐使用UTF-8 encoding (RFC 2044)中的ISO 10646 字符集,以使不同的语言都可以表达。可是,为了简洁的表述,SDP也可以使用其它的字符集,如ISO 8859-1,国际化仅仅由free-text fields (会话名和背景信息)使用, 并不是所有的SDP都要使用。

4 SDP格式

SDP会话描述全部是基于文本的,使用UTF-8 encoding制定的ISO 10646 字符集,SDP域的名称和属性的名称只使用UTF-8中的US-ASCII子集, 但文本域和属性值可以使用完整的ISO 10646字符集。

选择文本编码形式是基于简便,以便使用不同的传输方式,允许更好的柔韧性和使用基于文本的工具来产生和处理会话描述。 因为给所有的SAP通告的整个带宽的分配是有严格限制的,所以编码尽量做得紧凑。又因为通告可能会通过一些不可靠的传输途径 (如: email)或者被一些中间的缓存服务器损坏,编码就必须被设计成有严格的顺序和格式,这样大多数的错误就会更容易被检测和丢弃。这也可以让没有密码钥匙的用户快速的监测和丢弃有密码保护的通告。

一个会话描述由一个会话级描述(session-level description,整个会话和所有媒体流都接受的细节)和几个媒体级描述(media-level descriptions单个媒体流接受的细节)组成。

一个通告由一个会话级部分(session-level section)和0个或几个媒体级部分(media-level sections)组成。会话级部分由一个‘v=’行开始,后面跟随第一个媒体级部分。媒体描述由‘m=’行开始,后面跟随下一个媒体描述,或者是整个会话描述的结尾。通常情况下,会话级的值是所有媒体的缺省值,除非被媒体级的相同的值覆盖。

当SDP被SAP传输,每个包只允许一个会话描述。当SDP 被其他形式运载,几个SDP会话描述有可能会被组装到一起,(‘v=’行是上一个会话描述的结束,和新的会话描述的开始)。在每一个描述中,一些行是必需的,一些是可选的,但所有的必须按照下面的顺序出现(固定的顺序可以极大地提高错误检测并可以使用简单的解析器),可选行由‘*’标识。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208930.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午10:26
下一篇 2026年3月19日 上午10:26


相关推荐

  • 考研-数据库_数据库系统考研看什么书

    考研-数据库_数据库系统考研看什么书文章目录前言一、数据库的概念二、综合知识前言一、数据库的概念1、数据数据:描述事物的符号记录称为数据。特点:数据和关于数据的解释不可分。2、数据库长期存储在计算机内、有组织、可共享的大量的数据的集合。数据库中的数据按照一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。特点:永久存储、有组织、可共享。3、数据库系统(DBS)(DateBaseSystem)数据库系统,指在计算机系统中引入数据库后的系统,一般由数据库、数据

    2025年6月21日
    5
  • kafka集群及与springboot集成

    kafka集群及与springboot集成linux搭建,kafkao3节点虚拟机为CentOS6,ip为192.168.1.128,192.168.1.129和192.168.1.130,域名分别为master,worker1,worker21.集群#192.168.1.128[root@masterlocal]#cd/home/gilbert/app/rar/[root@masterrar]#tarzxv…

    2022年4月25日
    45
  • C——问号表达式用法

    C——问号表达式用法C 语言问号表达式用法

    2026年3月17日
    2
  • 系统首选dns服务器修改,如何在Windows系统中设置首选DNS「建议收藏」

    系统首选dns服务器修改,如何在Windows系统中设置首选DNS「建议收藏」有时候可能需要修改或者调整DNS服务器地址的设置,以达到优化网络连接速度的效果。那么如何在Windows系统中设置首选DNS呢?具体请看下面学习啦小编介绍的操作方法!在Windows系统中设置首选DNS的方法这里Windows8为例,首先在屏幕的右下角找到“网络连接”图标,在“网络连接”图标上点击鼠标右键,然后选择“打开网络和共享中心”,接下来在“网络和共享中心”窗口中点击左侧的“更改适…

    2022年6月1日
    53
  • Kafka集群配置

    Kafka集群配置之前一篇博文简单讲述了zookeeper和kafka的单机配置,详细可以参考《Linux(CentOS)中常用软件安装,使用及异常——Zookeeper,Kafka》。本文只要讲述Kafka集群的配置事项,包括zookeeper集群的配置。本文讲述的前提是kafka和zookeeper在单机情况下已正确安装和配置。如有疑问,可以参考《Linux(CentOS)中常用软件安装,使用及异常——Z…

    2022年4月25日
    65
  • pycharm下载哪个版本_pycharm有几个版本

    pycharm下载哪个版本_pycharm有几个版本https://www.jetbrains.com/pycharm/download/previous.html

    2022年8月28日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号