Kurento WebRTC不logging

我试图使用带有nodejs的Kurento媒体服务器来录制video。 我一直在这里运行你好世界的例子。 我连接一个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

在正确运行代码之前,您需要解决几个问题。 我已经创build了一个代码的分支,并且添加了一些需要包含的能够loggingWebRTCstream的修改。 叉子在这里 。 另外,请允许我提供几点意见:

  1. 你select的例子('Hello World')不能被停止(它在GUI中没有“停止”button)。 因此,您将无法停止录制。 您应该使用具有“开始”和“停止”button的更高级的示例,以便您可以停止录制以便能够访问存储的媒体并查看它。 也许你应该使用更好的魔术镜教程作为你的起点,因为它使用WebSockets的信号,它可以让你停止录制。
  2. 你应该避免比赛条件。 在你的代码中,你使用的是一个'recorderEndpoint'rariable,它有一个竞争条件,因为它是在一个callback中初始化的,在不同的callback函数中使用,都是以并行方式执行的callback函数,并且都有竞争条件。

编辑:这个例子确实有一个停止button,当按下时,释放pipe道,并停止logging。 因此,评论1也不是真的适用。