事件未到达 kurento java 服务器
Events not reaching kurento java server
我是 Kurento 媒体服务器的新手,我正在尝试将事件从 kurento 媒体服务器发送到我拥有的 java 应用程序。
我使用以下步骤创建了一个事件:
编辑了 interface
json 文件:
"events": [{
"properties": [{
"name": "Total",
"doc": "Total",
"type": "float"
}],
"extends": "Media",
"name": "TotalDetected",
"doc": "Total Detected."
}]
然后在我的 .hpp
文件中:
sigc::signal<void, TotalDetected> 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<TotalDetectedEvent>() {
@Override
public void onEvent(TotalDetectedEvent event) {
log.info("\n\nTotal Detected Event By:"+event.getTotal());
}
});
但是在完成所有这些之后,我无法从 kms 接收到任何事件,我查看了 kms 日志我收到了正在发送的事件日志,但我在 java 服务器上没有收到任何事件边.
我在代码中遗漏了什么吗?
编辑 1: 在 eclipse 控制台上我得到这个日志
[KurentoClient] Req->
{
"id":17,
"method":"subscribe",
"params":{
"object":"fcffbeb5-4ee0-4b49-ba05-a7bc7e716b2f_kurento.MediaPipeline/cb218dbd-0d4a-48cd-88ee-e6ecaf9f4350_vadcustomfilter.VADCustomFilter",
"type":"TotalReceived",
"sessionId":"67361dad-bce7-4ad6-a4ce-a26090190bad"
},
"jsonrpc":"2.0"
}
[KurentoClient] <-Res
{
"id":17,
"result":{
"value":"0f2a346b-49f1-4867-aa7d-45ac3780bbbd",
"sessionId":"67361dad-bce7-4ad6-a4ce-a26090190bad"
},
"jsonrpc":"2.0"
}
编辑 2:
以下是 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
一切正常。您只需要确定事件是否被触发。
如果您通过错误更改警告,您将能够在不配置任何内容的情况下查看您的日志。这样你就可以知道事件是否被触发了。
如果您看不到您的日志,您可能无法从 GStreamer 元素触发事件,或者可能无法注册来自 cpp 的信号。
尝试将您的 libnice 版本升级到 0.1.13,这是一些 ice 候选人的错误来源。让我们看看这是否解决了事件的问题。
我是 Kurento 媒体服务器的新手,我正在尝试将事件从 kurento 媒体服务器发送到我拥有的 java 应用程序。
我使用以下步骤创建了一个事件:
编辑了 interface
json 文件:
"events": [{
"properties": [{
"name": "Total",
"doc": "Total",
"type": "float"
}],
"extends": "Media",
"name": "TotalDetected",
"doc": "Total Detected."
}]
然后在我的 .hpp
文件中:
sigc::signal<void, TotalDetected> 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<TotalDetectedEvent>() {
@Override
public void onEvent(TotalDetectedEvent event) {
log.info("\n\nTotal Detected Event By:"+event.getTotal());
}
});
但是在完成所有这些之后,我无法从 kms 接收到任何事件,我查看了 kms 日志我收到了正在发送的事件日志,但我在 java 服务器上没有收到任何事件边.
我在代码中遗漏了什么吗?
编辑 1: 在 eclipse 控制台上我得到这个日志
[KurentoClient] Req-> { "id":17, "method":"subscribe", "params":{ "object":"fcffbeb5-4ee0-4b49-ba05-a7bc7e716b2f_kurento.MediaPipeline/cb218dbd-0d4a-48cd-88ee-e6ecaf9f4350_vadcustomfilter.VADCustomFilter", "type":"TotalReceived", "sessionId":"67361dad-bce7-4ad6-a4ce-a26090190bad" }, "jsonrpc":"2.0" }
[KurentoClient] <-Res { "id":17, "result":{ "value":"0f2a346b-49f1-4867-aa7d-45ac3780bbbd", "sessionId":"67361dad-bce7-4ad6-a4ce-a26090190bad" }, "jsonrpc":"2.0" }
编辑 2:
以下是 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
一切正常。您只需要确定事件是否被触发。
如果您通过错误更改警告,您将能够在不配置任何内容的情况下查看您的日志。这样你就可以知道事件是否被触发了。
如果您看不到您的日志,您可能无法从 GStreamer 元素触发事件,或者可能无法注册来自 cpp 的信号。
尝试将您的 libnice 版本升级到 0.1.13,这是一些 ice 候选人的错误来源。让我们看看这是否解决了事件的问题。