没有音频的Kurento Media Server录音无法正常工作

时间:2018-01-15 13:37:28

标签: javascript getusermedia kurento mediastream

我为Kurento Media Server试用了以下演示:

https://github.com/Kurento/kurento-tutorial-js/tree/master/kurento-recorder

默认演示效果很好。但是,当我将index.js更改为以audio: false录制时,我开始面临问题。

我只在index.js代码中进行了以下更改:

var mediaConstraints = {
  audio: false,
  video: {
    width: 320,
    framerate: 15
  }   
};

var options = {
  localVideo: videoInput,
  remoteVideo: videoOutput,
  mediaConstraints: mediaConstraints      
};

如果我使用audio: true运行代码,则在服务器上创建的录制文件是正确的。

但是,对于audio: false,录制文件的大小始终为0KB

我在日志中看不到任何特别的东西。唯一出现的错误日志是在按下" STOP"按钮。它的行为就像STOP按钮已被按下,即使它不是。

详细日志放在此处:https://pastebin.com/397U14uG

我确信有一些流来到服务器,因为我的服务器确实使用ifstat命令显示数据传输。

Kurento版本

root@ip-10-0-0-49:/var/log/kurento-media-server# kurento-media-server -v
libdc1394 error: Failed to initialize libdc1394
Version: 6.6.2
Found modules:
        Module: 'core' version '6.6.3'
        Module: 'elements' version '6.6.3'
        Module: 'filters' version '6.6.2'

Ubuntu版本

Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:        14.04
Codename:       trusty

1 个答案:

答案 0 :(得分:1)

recorderEndpoint对象有一个mediaProfile属性,表示它等待记录的数据类型。默认情况下,它是WEBM音频和视频。当您的媒体限制删除来自客户端的音频时,它会使recorderEndpoint等待音频流开始录制,并且由于它永远不会到来,因此文件将保持在0kb。处理此问题的正确方法是将line 112中记录器端点的创建修改为以下内容:

{type: 'RecorderEndpoint', params: {uri : args.file_uri, mediaProfile: 'WEBM_VIDEO_ONLY'}},

供参考: