webrtc,如何在没有 m=video 的情况下创建AnswerSdp?

问题描述 投票:0回答:1

我正在使用JSSIP来实现WebRTC电话,当视频呼叫进来时我遇到了麻烦(SDP包含m=video)。我希望创建的 SDP 仅包含音频,而不是 m=video。但 createAnswer sdp 始终包含 m=video 和 a=recvonly。

一些 SIP 电话(例如 MicroSIP 和 Linphone)只能通过音频应答。 是否没有 api 可以仅使用 WebRTC API 返回音频 sdp?我发现 createAnswer 中的选项已被弃用,并且 OfferToReceiveVideo 没有用。我该怎么办?

我尝试添加所有可能的参数,但没有效果。 而且jssip google群已经被拉了,我不知道去哪里提问

session.answer({
    rtcOfferConstraints: {
      offerToReceiveAudio: true,
      offerToReceiveVideo: false,
      //@ts-ignore
      OfferToReceiveAudio: true,
      OfferToReceiveVideo: false,
      //@ts-ignore
      mandatory: { OfferToReceiveAudio: true, OfferToReceiveVideo: false, offerToReceiveAudio: true, offerToReceiveVideo: false }
    },
    rtcAnswerConstraints: {
      offerToReceiveAudio: true,
      offerToReceiveVideo: false,
      //@ts-ignore
      OfferToReceiveAudio: true,
      OfferToReceiveVideo: false,
      //@ts-ignore
      mandatory: { OfferToReceiveAudio: true, OfferToReceiveVideo: false, offerToReceiveAudio: true, offerToReceiveVideo: false }
    },
    rtcConstraints: {
      offerToReceiveAudio: true,
      offerToReceiveVideo: false,
      //@ts-ignore
      OfferToReceiveAudio: true,
      OfferToReceiveVideo: false,
      //@ts-ignore
      mandatory: { OfferToReceiveAudio: true, OfferToReceiveVideo: false, offerToReceiveAudio: true, offerToReceiveVideo: false }
    },

    mediaConstraints: {
      audio: true,
      video: false
    },

    sessionTimersExpires: 180
  })
webrtc
1个回答
0
投票

解析收到的SDP,找到行'm=video xxx RTP/AVP',其中xxx - 它是端口号。将此端口号替换为“0”。使用修改后的 SDP 作为“SetRemoteDescription”的参数 => webrtc 将忽略视频媒体。

© www.soinside.com 2019 - 2024. All rights reserved.