我为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
答案 0 :(得分:1)
recorderEndpoint对象有一个mediaProfile属性,表示它等待记录的数据类型。默认情况下,它是WEBM音频和视频。当您的媒体限制删除来自客户端的音频时,它会使recorderEndpoint等待音频流开始录制,并且由于它永远不会到来,因此文件将保持在0kb。处理此问题的正确方法是将line 112中记录器端点的创建修改为以下内容:
{type: 'RecorderEndpoint', params: {uri : args.file_uri, mediaProfile: 'WEBM_VIDEO_ONLY'}},
供参考: