sdp RTCMediaConstraints

创建offer 或者answer sdp时的RTCMediaConstraints 有一下可设定


| 属性名                           | 类型               | 描述                                                                                                                                                         |
|----------------------------------|--------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `kRTCMediaConstraintsMandatory`  | `NSString`         | 表示约束是强制的。如果无法满足这些约束,`RTCPeerConnection` 将不会生成 Offer 或 Answer。                                                                    |
| `kRTCMediaConstraintsOptional`   | `NSString`         | 表示约束是可选的。如果无法满足这些约束,`RTCPeerConnection` 仍然可以生成 Offer 或 Answer。                                                                  |
| `kRTCMediaConstraintsMinWidth`   | `NSString`         | 视频轨道的最小宽度,以像素为单位。例如,`640` 表示视频宽度至少为 640 像素。                                                                                 |
| `kRTCMediaConstraintsMinHeight`  | `NSString`         | 视频轨道的最小高度,以像素为单位。例如,`480` 表示视频高度至少为 480 像素。                                                                                 |
| `kRTCMediaConstraintsMinFrameRate`| `NSString`         | 视频轨道的最小帧率,以每秒帧数为单位。例如,`30` 表示帧率至少为 30 FPS。                                                                                     |
| `kRTCMediaConstraintsMaxWidth`   | `NSString`         | 视频轨道的最大宽度,以像素为单位。例如,`1280` 表示视频宽度最多为 1280 像素。                                                                                |
| `kRTCMediaConstraintsMaxHeight`  | `NSString`         | 视频轨道的最大高度,以像素为单位。例如,`720` 表示视频高度最多为 720 像素。                                                                                  |
| `kRTCMediaConstraintsMaxFrameRate`| `NSString`         | 视频轨道的最大帧率,以每秒帧数为单位。例如,`60` 表示帧率最多为 60 FPS。                                                                                     |
| `kRTCMediaConstraintsOfferToReceiveAudio` | `NSString` | 控制是否希望从远端接收音频。值为 `true` 或 `false`,通常在创建 Offer 或 Answer 时使用。                                                                      |
| `kRTCMediaConstraintsOfferToReceiveVideo` | `NSString` | 控制是否希望从远端接收视频。值为 `true` 或 `false`,通常在创建 Offer 或 Answer 时使用。                                                                      |
| `kRTCMediaConstraintsVoiceActivityDetection`| `NSString`| 控制是否启用语音活动检测(VAD)。值为 `true` 或 `false`,用于在音频轨道中检测是否有语音活动。                                                               |
| `kRTCMediaConstraintsIceRestart` | `NSString`         | 控制是否强制 ICE 重新启动。值为 `true` 或 `false`,用于在现有连接上重新启动 ICE 代理。                                                                       |
| `kRTCMediaConstraintsUseRtpMux`  | `NSString`         | 控制是否使用 RTP 复用。值为 `true` 或 `false`,如果设置为 `true`,将 RTP 和 RTCP 流复用在同一连接上。                                                        |
| `kRTCMediaConstraintsEnableDtlsSrtp` | `NSString`     | 控制是否启用 DTLS-SRTP。值为 `true` 或 `false`,用于加密音视频流。                                                                                            |
| `kRTCMediaConstraintsDtlsSrtpKeyAgreement` | `NSString`| 控制 DTLS-SRTP 的密钥协商,通常用于在两个端点之间的安全连接中。                                                                                              |

sdp 内容描述


| 字段      | 描述                                                                                         |
|-----------|----------------------------------------------------------------------------------------------|
| `v=0`     | 版本号,目前 SDP 版本总是 0。                                                                |
| `o=`      | 会话的起源,包括用户名、会话ID、版本号、网络类型(IN)、地址类型(IP4/IP6)、IP 地址。       |
| `s=`      | 会话名,通常为一个简短的描述。                                                               |
| `t=`      | 时间描述字段,表示会话的有效时间范围。通常为 `0 0`,表示会话持续有效。                        |
| `a=group:`| BUNDLE 组,表示音频和视频流将通过同一个传输通道传输。                                        |
| `a=msid-semantic:` | 流和轨道的关联,表示媒体流标识符 (MSID) 的语义。                                     |
| `m=`      | 媒体描述,包括媒体类型(audio、video)、传输端口、传输协议、编码列表。                        |
| `c=`      | 连接信息,指定媒体流传输的 IP 地址。通常为 `IN IP4 0.0.0.0` 表示先不指定具体 IP。             |
| `a=rtcp:` | RTCP(实时传输控制协议)连接信息,类似于 `c=` 字段。                                         |
| `a=ice-ufrag:` | ICE(交互式连接建立)的用户名片段,用于 NAT 穿越。                                      |
| `a=ice-pwd:`   | ICE 的密码片段,用于与 `ice-ufrag` 一起进行 NAT 穿越的认证。                            |
| `a=fingerprint:` | DTLS-SRTP 指纹,用于传输层安全性(TLS)连接的认证。                                    |
| `a=setup:`   | 指定 DTLS 连接的角色,`actpass` 表示既可以是主动端也可以是被动端。                        |
| `a=mid:`     | 媒体标识符,用于标识每个媒体流。                                                          |
| `a=extmap:`  | RTP 头扩展,用于传输附加信息,如绝对发送时间、视频方向等。                                 |
| `a=sendrecv` | 媒体方向,`sendrecv` 表示同时发送和接收媒体。                                             |
| `a=rtcp-mux` | 表示使用单个 RTP 通道来传输 RTP 和 RTCP 数据包。                                           |
| `a=rtpmap:`  | 映射 RTP payload 类型到编解码器及其参数。                                                  |
| `a=fmtp:`    | 编解码器的格式参数,如 `packetization-mode`、`profile-level-id` 等。                      |
| `a=ssrc:`    | 源标识符,用于标识媒体流的唯一性。                                                        |
| `a=ssrc-group:` | SSRC 组,用于将多个 SSRC 组合在一起,例如 FID(前向误差隐藏)。                        |
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,258评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,335评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,225评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,126评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,140评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,098评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,018评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,857评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,298评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,518评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,400评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,993评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,638评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,661评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容

  • SDP协议 概述 SDP(会话描述协议),用于两个会话实体之间的媒体协商,并达成一致,属信令语言族,采用文本(字符...
    耦耦阅读 6,793评论 0 6
  • WebRTC是Google公司的一款跨平台的音视频通话技术,它为我们提供了音视频通信的核心技术,包括音视频的采集、...
    yitez阅读 12,127评论 24 67
  • SDP 本身 介绍 SDP(Session Description Protocol)会话描述协议,提供一个标准的...
    给艺艺一个未来阅读 1,480评论 0 2
  • 今天说说webRTC中的Session Description Protocol (SDP,会话描述协议)。SDP...
    王沐凡阅读 8,275评论 23 6
  • SDP协议介绍 SDP全称是Session Description Protocol,翻译过来就是描述会话的协议。...
    吴虎虎_zzz阅读 34,575评论 1 6