事件未到达kurento java服务器
我是Kurento媒体服务器的新手,我正在尝试将一个事件从kurento媒体服务器发送到我拥有的java应用程序。
我使用以下步骤创建了一个事件:
编辑了interface
json文件:
"events": [{ "properties": [{ "name": "Total", "doc": "Total", "type": "float" }], "extends": "Media", "name": "TotalDetected", "doc": "Total Detected." }]
然后在我的.hpp
文件中:
sigc::signal signalTotalDetected;
在我的.cpp
文件中:
try { GST_WARNING ("Sending Event: TotalDetected"); TotalDetected event (shared_from_this(), "Total-detected", total); signalTotalDetected (event); GST_WARNING ("Sent Event: TotalDetected"); } catch (std::bad_weak_ptr &e) { GST_WARNING ("EXCEPTION: Total detected "); }
在我的java服务器中,我使用以下命令注册了该事件:
totalFilter.addTotalDetectedListener(new EventListener() { @Override public void onEvent(TotalDetectedEvent event) { log.info("\n\nTotal Detected Event By:"+event.getTotal()); } });
但是在完成所有这些之后,我无法接收来自kms的任何事件,我查看了kms日志我得到的事件日志正在发送但我没有在java服务器端获得任何事件。
我在代码中缺少什么?
编辑1:在eclipse控制台上我得到了这个日志
[KurentoClient] Req-> { “ID”:17, “方法”:“订阅”, “PARAMS”:{ “对象”: “fcffbeb5-4ee0-4b49-ba05-a7bc7e716b2f_kurento.MediaPipeline / cb218dbd-0d4a-48cd-88ee-e6ecaf9f4350_vadcustomfilter.VADCustomFilter”, “类型”:“TotalReceived” “的sessionId”: “67361dad-bce7-4ad6-a4ce-a26090190bad” }, “jsonrpc”: “2.0” }
[KurentoClient] <-Res { “ID”:17, “结果”:{ “值”: “0f2a346b-49f1-4867-aa7d-45ac3780bbbd” “的sessionId”: “67361dad-bce7-4ad6-a4ce-a26090190bad” }, “jsonrpc”: “2.0” }
编辑2:以下是dpkg -l | egrep -i "kurento|nice|kms"
的输出 dpkg -l | egrep -i "kurento|nice|kms"
ii gstreamer0.10-nice:amd64 - > 0.1.4-1 ii gstreamer1.0-nice:amd64 - > 0.1.4-1 ii gstreamer1.5-nice:amd64 - > 0.1.13.1~20160224182402.77.g7bbb87a.trusty ii kms-cmake-utils - > 1.3.0.trusty ii kms-core-6.0 - > 6.4.0.trusty ii kms-core-6.0-dev - > 6.4.0.trusty ii kms-elements-6.0 - > 6.4.0.trusty ii kms-elements-6.0-dev - > 6.4.0.trusty ii kms-filters-6.0 - > 6.4.0.trusty ii kms-filters-6.0-dev - > 6.4.0.trusty ii kms-jsonrpc-1.0 - > 1.1.0.trusty ii kms-jsonrpc-1.0-dev - > 1.1.0.trusty ii kmsjsoncpp - > 1.6.3~20160119154506.38.g263929e.trusty ii kmsjsoncpp-dev - > 1.6.3~20160119154506.38.g263929e.trusty ii kurento-media-server-6.0 - > 6.4.0.trusty ii kurento-media-server-6.0-dev - > 6.4.0.trusty ii kurento-module-creator-4.0 - > 4.0.4.trusty ii libnice-dev - > 0.1.7.1~20160119154918.10.ge060eb5.trusty ii libnice10:amd64 - > 0.1.7.1~20160119154918.10.ge060eb5.trusty
尝试将libnice版本升级到0.1.13。这是一些冰候选者的错误来源。 让我们看看这是否解决了事件的问题。
一切似乎都好。 您只需要确定事件是否被触发。
如果您通过错误更改警告,您将能够在不配置任何内容的情况下查看日志。 这样您就可以知道事件是否被触发。
如果您看不到日志,那么您可能无法从GStreamer元素触发事件或者可能注册来自cpp的信号。