6

我只想在对等点之间进行音频流通信,我将 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 服务用于音频流?

4

3 回答 3

6

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

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

编辑 1

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


编辑 2

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

于 2015-03-12T10:15:36.250 回答
1

git 来源:https ://github.com/Kurento/kurento-tutorial-js.git git 分支:6.6.0

我的解决方案只是更改var offerVideo = true;为kurento-utils.js 文件var offerVideo = false;的功能。generateOffer

于 2017-01-11T05:32:23.040 回答
1

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

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

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

constraints.unshift(MEDIA_CONSTRAINTS);

所以评论一下。

于 2017-03-28T08:19:52.817 回答