Я новичок в медиасервере Kurento, я пытаюсь отправить событие с медиа-сервера kurento на приложение java, которое у меня есть.События, не достигнувшие kurento java server
Я создал событие, используя следующие шаги:
редактировали файл 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 я получаю журналы отправки событий, но я не получаю никакого события на стороне сервера java.
Есть что-то недостающее в коде?
Edit 1: на затмение консоли я получаю Этот журнал
[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" }
Edit 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
Я пытаюсь вызвать событие в своем плагине (отправить ответ клиенту). Являются ли вышеуказанные шаги достаточно, чтобы вызвать событие? Или я хочу реализовать «gst plugin» или что-то еще. Я упомянул несколько километров фильтров. Но я не получил точного шага, чтобы отправить значение в мероприятии (не получил никакой документации). Когда я делаю вышеописанные шаги, я получаю следующую ошибку: «ошибка« shared_from_this »не была объявлена в этой области». Примечание ::: Я использую модуль Opencv. Не могли бы вы помочь мне сделать это? Благодарю. – SKK
использовать 'this' вместо метода' static' для 'error shared_from_this', и да, событие sendign из пользовательского плагина kms на java-сервер хорошо работает в описанных здесь шагах. –
Спасибо за ответ. Я использовал модуль OpenCV. Когда я добавляю события в «интерфейс» Json и пытаюсь сделать cmake, у меня есть 4 сгенерированных файла в папке с объектами. В какой CPP я должен внести изменения. У меня есть файлы moduleImpl.cpp, moduleImpl.hpp, moduleOpenCVImpl.cpp и moduleOpenCVImpl.hpp. Я добавил свои логики в файл «moduleOpenCVImpl.cpp». Можете ли вы помочь мне двигаться вперед? – SKK