創(chuàng)建offer 或者answer sdp時(shí)的RTCMediaConstraints 有一下可設(shè)定
| 屬性名 | 類型 | 描述 |
|----------------------------------|--------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `kRTCMediaConstraintsMandatory` | `NSString` | 表示約束是強(qiáng)制的。如果無(wú)法滿足這些約束枢里,`RTCPeerConnection` 將不會(huì)生成 Offer 或 Answer。 |
| `kRTCMediaConstraintsOptional` | `NSString` | 表示約束是可選的林艘。如果無(wú)法滿足這些約束,`RTCPeerConnection` 仍然可以生成 Offer 或 Answer炒瘟。 |
| `kRTCMediaConstraintsMinWidth` | `NSString` | 視頻軌道的最小寬度片吊,以像素為單位。例如悉稠,`640` 表示視頻寬度至少為 640 像素。 |
| `kRTCMediaConstraintsMinHeight` | `NSString` | 視頻軌道的最小高度艘包,以像素為單位的猛。例如,`480` 表示視頻高度至少為 480 像素想虎。 |
| `kRTCMediaConstraintsMinFrameRate`| `NSString` | 視頻軌道的最小幀率卦尊,以每秒幀數(shù)為單位。例如舌厨,`30` 表示幀率至少為 30 FPS岂却。 |
| `kRTCMediaConstraintsMaxWidth` | `NSString` | 視頻軌道的最大寬度,以像素為單位裙椭。例如躏哩,`1280` 表示視頻寬度最多為 1280 像素。 |
| `kRTCMediaConstraintsMaxHeight` | `NSString` | 視頻軌道的最大高度揉燃,以像素為單位震庭。例如,`720` 表示視頻高度最多為 720 像素你雌。 |
| `kRTCMediaConstraintsMaxFrameRate`| `NSString` | 視頻軌道的最大幀率,以每秒幀數(shù)為單位。例如婿崭,`60` 表示幀率最多為 60 FPS拨拓。 |
| `kRTCMediaConstraintsOfferToReceiveAudio` | `NSString` | 控制是否希望從遠(yuǎn)端接收音頻。值為 `true` 或 `false`氓栈,通常在創(chuàng)建 Offer 或 Answer 時(shí)使用渣磷。 |
| `kRTCMediaConstraintsOfferToReceiveVideo` | `NSString` | 控制是否希望從遠(yuǎn)端接收視頻。值為 `true` 或 `false`授瘦,通常在創(chuàng)建 Offer 或 Answer 時(shí)使用醋界。 |
| `kRTCMediaConstraintsVoiceActivityDetection`| `NSString`| 控制是否啟用語(yǔ)音活動(dòng)檢測(cè)(VAD)。值為 `true` 或 `false`提完,用于在音頻軌道中檢測(cè)是否有語(yǔ)音活動(dòng)形纺。 |
| `kRTCMediaConstraintsIceRestart` | `NSString` | 控制是否強(qiáng)制 ICE 重新啟動(dòng)。值為 `true` 或 `false`徒欣,用于在現(xiàn)有連接上重新啟動(dòng) ICE 代理逐样。 |
| `kRTCMediaConstraintsUseRtpMux` | `NSString` | 控制是否使用 RTP 復(fù)用。值為 `true` 或 `false`打肝,如果設(shè)置為 `true`脂新,將 RTP 和 RTCP 流復(fù)用在同一連接上。 |
| `kRTCMediaConstraintsEnableDtlsSrtp` | `NSString` | 控制是否啟用 DTLS-SRTP粗梭。值為 `true` 或 `false`争便,用于加密音視頻流。 |
| `kRTCMediaConstraintsDtlsSrtpKeyAgreement` | `NSString`| 控制 DTLS-SRTP 的密鑰協(xié)商断医,通常用于在兩個(gè)端點(diǎn)之間的安全連接中滞乙。 |
sdp 內(nèi)容描述
| 字段 | 描述 |
|-----------|----------------------------------------------------------------------------------------------|
| `v=0` | 版本號(hào),目前 SDP 版本總是 0孩锡。 |
| `o=` | 會(huì)話的起源酷宵,包括用戶名、會(huì)話ID躬窜、版本號(hào)浇垦、網(wǎng)絡(luò)類型(IN)、地址類型(IP4/IP6)荣挨、IP 地址男韧。 |
| `s=` | 會(huì)話名,通常為一個(gè)簡(jiǎn)短的描述默垄。 |
| `t=` | 時(shí)間描述字段此虑,表示會(huì)話的有效時(shí)間范圍。通常為 `0 0`口锭,表示會(huì)話持續(xù)有效朦前。 |
| `a=group:`| BUNDLE 組介杆,表示音頻和視頻流將通過(guò)同一個(gè)傳輸通道傳輸。 |
| `a=msid-semantic:` | 流和軌道的關(guān)聯(lián)韭寸,表示媒體流標(biāo)識(shí)符 (MSID) 的語(yǔ)義春哨。 |
| `m=` | 媒體描述,包括媒體類型(audio恩伺、video)赴背、傳輸端口、傳輸協(xié)議晶渠、編碼列表凰荚。 |
| `c=` | 連接信息,指定媒體流傳輸?shù)?IP 地址褒脯。通常為 `IN IP4 0.0.0.0` 表示先不指定具體 IP便瑟。 |
| `a=rtcp:` | RTCP(實(shí)時(shí)傳輸控制協(xié)議)連接信息,類似于 `c=` 字段憨颠。 |
| `a=ice-ufrag:` | ICE(交互式連接建立)的用戶名片段胳徽,用于 NAT 穿越。 |
| `a=ice-pwd:` | ICE 的密碼片段爽彤,用于與 `ice-ufrag` 一起進(jìn)行 NAT 穿越的認(rèn)證养盗。 |
| `a=fingerprint:` | DTLS-SRTP 指紋,用于傳輸層安全性(TLS)連接的認(rèn)證适篙。 |
| `a=setup:` | 指定 DTLS 連接的角色往核,`actpass` 表示既可以是主動(dòng)端也可以是被動(dòng)端。 |
| `a=mid:` | 媒體標(biāo)識(shí)符嚷节,用于標(biāo)識(shí)每個(gè)媒體流聂儒。 |
| `a=extmap:` | RTP 頭擴(kuò)展,用于傳輸附加信息硫痰,如絕對(duì)發(fā)送時(shí)間衩婚、視頻方向等。 |
| `a=sendrecv` | 媒體方向效斑,`sendrecv` 表示同時(shí)發(fā)送和接收媒體非春。 |
| `a=rtcp-mux` | 表示使用單個(gè) RTP 通道來(lái)傳輸 RTP 和 RTCP 數(shù)據(jù)包。 |
| `a=rtpmap:` | 映射 RTP payload 類型到編解碼器及其參數(shù)缓屠。 |
| `a=fmtp:` | 編解碼器的格式參數(shù)奇昙,如 `packetization-mode`、`profile-level-id` 等敌完。 |
| `a=ssrc:` | 源標(biāo)識(shí)符储耐,用于標(biāo)識(shí)媒體流的唯一性。 |
| `a=ssrc-group:` | SSRC 組滨溉,用于將多個(gè) SSRC 組合在一起什湘,例如 FID(前向誤差隱藏)长赞。 |