音视频信令协议SIP的SDP协商

在 SIP 的 SDP 协商中,媒体类型通过 SDP 的m=(media)行定义,用于指定会话中支持的媒体类型及相关传输参数。这些类型覆盖了音频、视频、消息、数据等多种交互场景,核心类型如下:

一、基础核心媒体类型

  • audio(音频)

最常用的媒体类型,用于传输语音、音频流等。

典型编码:G.711(PCMU/PCMA)、G.729、OPUS 等。

应用场景:IP 电话、语音通话、会议中的音频传输。

SIP协商:在SIP的INVITE消息和183回应初始协商audio的IP和端口,后续在update和200OK消息中更新协商信息;

  • video(视频)

用于传输视频流,支持实时视频通话或视频会议。

典型编码:H.264、VP8、VP9、H.265 等。

应用场景:视频通话、远程会议、监控视频流。

SIP协商:在SIP的INVITE消息和183回应初始协商audio的IP和端口,后续在update和200OK消息中更新增加video的协商信息;

  • message(消息)
    用于传输即时消息(IM)的Large Message Mode或者IM Session Mode。

典型协议:与 MSRP(Message Session Relay Protocol)配合,支持实时文本消息交互。

应用场景:SIP-based 即时通讯、聊天消息传递。

SIP协商:在SIP的invite和200OK消息中进行初始协商message的IP和端口号,后续在UPDATE和200OK消息中进行协商的更新:

示例:

二、扩展媒体类型

  • application(应用数据)
    传输应用层特定数据,如控制指令、协作数据、实时游戏数据等。

典型用途:白板协作(绘图指令)、实时游戏状态同步、应用程序间的控制信令。

示例:m=application 5004 RTP/AVP 107(使用 RTP 传输应用数据,Payload 107 对应特定应用协议)。

  • data(通用数据)
    传输非实时的通用数据流,格式不限,支持文件、文档等数据交换。

典型场景:会议中共享的文档数据、配置文件同步。

示例:m=data 5006 UDP 96(通过 UDP 传输自定义数据流)。

  • text(实时文本)
    用于实时流式文本传输,区别于message类型(后者更偏向离散消息),适用于实时字幕、实时翻译等。

应用场景:视频会议的实时字幕、双语实时翻译文本流。

示例:m=text 5008 TCP 100(通过 TCP 传输实时文本流)。

  • image(图像)
    传输静态或动态图像数据,如图片共享、幻灯片切换等。

应用场景:远程教学中共享课件图片、实时截图传输。

示例:m=image 5010 RTP/AVP 98(使用 RTP 传输图像数据)。

  • control(控制)
    用于传输会话控制指令,协调多个媒体流的同步或参数调整(如音视频同步、带宽控制)。

应用场景:多方会议中调整媒体流优先级、动态分辨率切换指令。

示例:m=control 5012 UDP 101(通过 UDP 传输控制信令)。

三、特殊场景类型

  • whiteboard(白板)

专门用于白板协作,传输绘图坐标、标注指令等数据,常见于远程会议工具。

application/rtp-mux:用于复用媒体流(如音频和视频共用一个 RTP 会话),减少端口占用。

这些媒体类型的定义遵循 SDP 核心规范(RFC 4566)及扩展协议,实际协商时需结合传输协议(如 RTP、TCP、UDP)、编码格式(Payload Type)和会话参数(如带宽、端口),以实现多样化的实时通信功能。不同 SIP 应用(如视频会议系统、IP 电话、协作工具)会根据需求选择特定媒体类型组合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值