如何使用kurento-media-server仅用于音频流?

时间:2015-03-11 10:34:54

标签: webrtc kurento

我想在对等体之间只进行音频流通信,我改变了kurento.utils.js的部分,只通过getusermedia获取音频流 但它不起作用 我使用了这个示例node-hello-world示例

WebRtcPeer.prototype.userMediaConstraints = {
    audio : true,
    video : {
        mandatory : {
            maxWidth : 640,
            maxFrameRate : 15,
            minFrameRate : 15
        }
    }
};

WebRtcPeer.prototype.userMediaConstraints = {
    audio : true,
    video : false
};

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

3 个答案:

答案 0 :(得分:6)

Kurento确实可以做到这一点。有两种方法可以执行此操作,具体取决于所需的修改范围:

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

  3. 编辑1

    文件sdp_pattern.txt在KMS 6.1.0中已弃用,因此不应使用方法2.


    编辑2

    kurento-utils库存在问题,客户端未正确设置OfferToReceiveAudio。它已经修复了一段时间了,你现在不应该篡改SDP。

答案 1 :(得分:2)

git origin:https://github.com/Kurento/kurento-tutorial-js.git git branch:6.6.0

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

答案 2 :(得分:1)

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

var options = {  
  onicecandidate: onIceCandidate,  
  iceServers: iceServers,  
  mediaConstraints: {  
    audio:true,  
    video:false  
  }  
}  

此外,在kurento-utils.js中,mediaContraints被这一行覆盖:

constraints.unshift(MEDIA_CONSTRAINTS);

所以评论它。