美文网首页
sdp RTCMediaConstraints

sdp RTCMediaConstraints

作者: 何颀 | 来源:发表于2024-08-27 10:11 被阅读0次

创建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(前向误差隐藏)。                        |

相关文章

  • SDP 软件定义边界

    3.3.1 SDP 控制器(Controller)SDP 控制器确定哪些 SDP 主机可以相互通信。SDP 控制器...

  • WebRTC中的SDP

    SDP简介 在WebRTC的通信过程中,SDP是其中重要的协议。SDP(Session Description P...

  • iOS webRTC SDP介绍及设置

    今天说说webRTC中的Session Description Protocol (SDP,会话描述协议)。SDP...

  • 蓝牙学习-SDP

    SDP - Service Discovery Protocol SDP协议提供服务声明和发现远端蓝牙服务。 SD...

  • SDP: Session Description Protoco

    SDP 本身 介绍 SDP(Session Description Protocol)会话描述协议,提供一个标准的...

  • SDP协议

    SDP协议介绍 SDP全称是Session Description Protocol,翻译过来就是描述会话的协议。...

  • WebRTC之SDP协议

    什么是SDP SDP(Session Description Protocol) 是一种会话描述协议,基于文本,其...

  • medooze源码分析--SDP

    前言 SDP(Session Description Protocol) 的目的是在媒体会话中传递媒体信息。SDP...

  • NuPlayer:RTP/RTSP

    RTSP SDP RTP/RTCP 介绍应用层 RTSP、SDP; 传输层 RTP、TCP、UDP; 网络层 IP...

  • WebRTC之SDP篇

    1 SDP 是什么 见名知意,SDP是session description protocol,会话描述协议。即S...

网友评论

      本文标题:sdp RTCMediaConstraints

      本文链接:https://www.haomeiwen.com/subject/lqtzkjtx.html