Webrtc 如何将kurento media server用于纯音频流?

Webrtc 如何将kurento media server用于纯音频流?,webrtc,kurento,Webrtc,Kurento,我想在对等点之间只进行音频流通信,我更改了kurento.utils.js的部分,通过getusermedia只获取音频流 但它不起作用 我用了这个例子 到 WebRtcPeer.prototype.userMediaConstraints={ 音频:是的, 视频:错误 }; 是否可以仅将kurento服务用于音频流?这确实可以用于kurento。根据所需的修改范围,有两种方法: Per webrtc端点:当您处理客户端发送的SDP报价时,您将从KMS获得一个SDP应答,您必须将其发回。调用

我想在对等点之间只进行音频流通信,我更改了kurento.utils.js的部分,通过getusermedia只获取音频流 但它不起作用
我用了这个例子

WebRtcPeer.prototype.userMediaConstraints={
音频:是的,
视频:错误
};

是否可以仅将kurento服务用于音频流?

这确实可以用于kurento。根据所需的修改范围,有两种方法:

  • Per webrtc端点:当您处理客户端发送的SDP报价时,您将从KMS获得一个SDP应答,您必须将其发回。调用
    processOffer
    方法调用后,可以篡改SDP以删除所有视频部分。这样,您的客户端将只发送回音频
  • 全局:您可以编辑
    /etc/kurento/sdp_pattern.txt
    文件删除所有与视频相关的部分,这将强制SdpEndpoints(WebrtcEndpoint的父类)仅使用音频

  • 编辑1

    KMS 6.1.0中不推荐使用文件
    sdp_pattern.txt
    ,因此不应使用方法2


    编辑2

    kurento utils库出现问题,客户端未正确设置
    OfferToReceiveAudio
    。它在一段时间前已修复,现在不需要篡改SDP。

    git origin: git分支:6.6.0


    我的解决方案只是更改
    var offerVideo=true
    var offerVideo=false在kurento-utils.js文件的
    generateOffer
    函数中。

    我的方法是修改传递给WebRtcPeer的选项

    var options = {  
      onicecandidate: onIceCandidate,  
      iceServers: iceServers,  
      mediaConstraints: {  
        audio:true,  
        video:false  
      }  
    }  
    
    此外,在kurento-utils.js中,MediaContracts被以下内容覆盖:

    constraints.unshift(MEDIA_CONSTRAINTS);
    

    所以请评论一下

    那么,经过所有编辑后的新解决方案是什么?我正在尝试mediaConstraints:{audio:true},但在hello world示例中它从未连接。@DobesVandermeer
    {audio:true,video:false}
    应该可以正常工作。它对你不起作用吗?事实上,我确实是这样做的,我应该用我的音频示例创建一个pull请求。@Dobesvandermer好吧,已经有一个了
    constraints.unshift(MEDIA_CONSTRAINTS);