Kurento WebRTC没有录音

pol*_*u2s 6 javascript node.js webrtc kurento

我正在尝试使用带有nodejs的Kurento媒体服务器录制视频.我一直在这里运行你好世界的例子.我将一个recorderEndpoint连接到webrtcEndpoint并且能够使整个事情运行但我在服务器上收到此错误消息:

0:37:59.122469563 7003 0xaf5500错误KurentoMediaPipelineImpl /build/buildd/kms-core-5.0.3/src/server/implementation/objects/MediaPipelineImpl.cpp:32:busMessage:总线错误:错误消息:0x7f11c0330ea0,时间99: 99:99.999999999,seq-num 514729,元素'kmsrecorderendpoint10',GstMessageError,gerror =(GError)NULL,debug =(string)"/ build/buildd/kms-elements-5.0.3/src/gst-plugins/kmsrecorderendpoint. c(876):\ sink_required_cb \():\/GstPipeline:pipeline8/KmsRecorderEndpoint:kmsrecorderendpoint10";

我不认为它的录音是正确的,但我不确定是什么问题.我能够运行原始示例,因此服务器很好.

代码在这里:

https://gist.github.com/poliu2s/2cd3fc2a5dc929062481

lul*_*lop 11

在代码正常运行之前,您需要解决几个问题.我已经创建了一个代码分支,并且我添加了一些您需要包含的修改,以便能够记录WebRTC流.叉子在这里.另外,我来提供一些意见:

  1. 您选择的示例("Hello World")无法停止(GUI中没有"停止"按钮).因此,您将无法停止录制.您应该使用具有"开始"和"停止"按钮的更高级示例,以便您可以停止录制以访问存储的媒体并进行查看.可能你应该更好地使用Magic Mirror Tutorial作为说明点,因为它使用WebSockets进行信号传输,它可以让你停止录制.
  2. 你应该避免竞争条件.在你的代码,您使用的是"recorderEndpoint" rariable因为它是一个回调初始化,并在不同的回调使用其中有一个竞争条件,既是回调使用并联执行和既是受有竞争条件.

编辑:该示例确实有一个停止按钮,当按下该按钮时,释放管道,然后停止录制.因此,评论1也不适用.