kms-windows icon indicating copy to clipboard operation
kms-windows copied to clipboard

Getting many errors on attempted playback

Open chris64digital opened this issue 9 years ago • 18 comments

I get these errors whenever I try to start playback using the kurento tutorial. It doesn't seem to matter what url I try to stream:

(kurento-media-server.exe:34188): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(kurento-media-server.exe:34188): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(kurento-media-server.exe:34188): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(kurento-media-server.exe:34188): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(kurento-media-server.exe:34188): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(kurento-media-server.exe:34188): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(kurento-media-server.exe:34188): GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)' failed

(kurento-media-server.exe:34188): GStreamer-CRITICAL **: gst_bin_add: assertion 'GST_IS_ELEMENT (element)' failed WARNING: no real random source present!

(kurento-media-server.exe:34188): GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)' failed

chris64digital avatar May 13 '16 15:05 chris64digital

Can you please mention what tutorial have you tried? kurento-hello-world tutorial works good for me in Chrome. And after OPUS plugin has been added sound appeared.

kirushyk avatar May 13 '16 15:05 kirushyk

It's this one: https://github.com/lulop-k/kurento-rtsp2webrtc

It looks like it should be working, The last lines in the console are: ICE candidate received Player playing ... oniceconnectionstatechange -> connected icegatheringstate -> complete oniceconnectionstatechange -> completed icegatheringstate -> complete

But no display in the remote stream window

chris64digital avatar May 13 '16 15:05 chris64digital

Didn't test that tutorial. Can you please share GStreamer logs with GST_DEBUG set to 3 or 5? Also, can you try this tutorial with standard Ubuntu version of KMS and compare communication between KMS and tutorial code via Websockets to try find some difference?

kirushyk avatar May 13 '16 16:05 kirushyk

Hi, please check with recent version of KMS port.

kirushyk avatar Jun 06 '16 08:06 kirushyk

We tried the same ... The tutorial from https://github.com/lulop-k/kurento-rtsp2webrtc worked fine at a ubuntu system

  • Ubuntu: we see the stream in the browser
  • Windows: errors on server console and stream-loading-icon in the browser.

We used kurento 6.5.0 on Ubuntu and v6.4.1 Alpha 11 on windows

kurento config: { "mediaServer" : { "resources": { "garbageCollectorPeriod": 240}, "net" : { "websocket": { "port": 8888, "secure": { "port": 8433, "certificate": "defaultCertificate.pem", "password": "" }, "registrar": { "address": "ws://localhost:9090", "localAddress": "localhost" }, "path": "kurento", "threads": 10 }} }}

in our Javascript we use to connect to the server (this is working on ubuntu) but not in windows:

 ....
 var args = getopts(location.search,
{
  default:
  {
    ws_uri: 'ws://' + location.hostname + ':8888/kurento',
    ice_servers: undefined
  }
});

the last java script console logs are:

...
Remote icecandidate {"__module__":"kurento","__type__":"IceCandidate","candidate":"candidate:39 2 TCP 1015022078 192.268.2.11 56677 typ host tcptype passive","sdpMLineIndex":1,"sdpMid":"sdparta_1"}
ICE candidate received
Player playing ...

Server log on server console:

(kurento-media-server.exe:7236): GLib-GObject-WARNING **: invalid (NULL) pointer instance
(kurento-media-server.exe:7236): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
(kurento-media-server.exe:7236): GLib-GObject-WARNING **: invalid (NULL) pointer instance
(kurento-media-server.exe:7236): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
(kurento-media-server.exe:7236): GLib-GObject-WARNING **: invalid (NULL) pointer instance
(kurento-media-server.exe:7236): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
(kurento-media-server.exe:7236): GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)' failed
(kurento-media-server.exe:7236): GStreamer-CRITICAL **: gst_bin_add: assertion 'GST_IS_ELEMENT (element)' failed
(kurento-media-server.exe:7236): GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)' failed

Now we are out of more ideas. Do you have a hint?

kendziorra avatar Aug 04 '16 12:08 kendziorra

Yep, I have a hint. It looks like some GStreamer element class is missing. So please tweak GST_DEBUG to show messages from element factory and take a look on missing element message before invalid (NULL) pointer instance .

kirushyk avatar Aug 04 '16 12:08 kirushyk

hmm ... and how should I tweak GST_DEBUG .. and what is GST_DEBUG (an enviroment variable, config item in a file or some other ...)

kendziorra avatar Aug 04 '16 13:08 kendziorra

OK I've got it. SET GST_DEBUG=*:4 kurento-media-server.exe --enable-gst-debug=yes > log.txt 2>&1

The right debug level is not so easy: 5/6 seems to much .. I've got a timeout on the browser client because of the server is logging and not working. 3 deliveres not more then before. Could I use a specific category_name (instead of '*')?

kendziorra avatar Aug 04 '16 17:08 kendziorra

With level 4:

it seems to be that: INFO GST_ELEMENT_FACTORY gstelementfactory.c:456:gst_element_factory_make: no such element factory "uridecodebin"!

`0:00:15.921899106 8896 0290EBC0 INFO KurentoWebSocketRegistrar server/transport/websocket/WebSocketRegistrar.cpp:193:connectRegistrar: Registrar disconnected, trying to reconnect in 3200 ms 0:00:19.122719329 8896 0290EBC0 INFO KurentoWebSocketRegistrar server/transport/websocket/WebSocketRegistrar.cpp:108:connectRegistrar: Connecting registrar 0:00:20.978972771 8896 02914220 INFO GST_ELEMENT_FACTORY gstelementfactory.c:364:gst_element_factory_create: creating element "pipeline" 0:00:20.979306708 8896 02914220 INFO GST_STATES gstelement.c:2305:gst_element_continue_state: committing state from NULL to READY, pending PLAYING, next PAUSED 0:00:20.979405125 8896 02914220 INFO GST_STATES gstelement.c:2235:_priv_gst_element_state_changed: notifying about state-changed NULL to READY (PLAYING pending) 0:00:20.979499561 8896 02914220 INFO GST_STATES gstelement.c:2312:gst_element_continue_state: continue state change READY to PAUSED, final PLAYING 0:00:20.979577498 8896 02914220 INFO GST_STATES gstelement.c:2305:gst_element_continue_state: committing state from READY to PAUSED, pending PLAYING, next PLAYING 0:00:20.979648040 8896 02914220 INFO GST_STATES gstelement.c:2235:_priv_gst_element_state_changed: notifying about state-changed READY to PAUSED (PLAYING pending) 0:00:20.979737356 8896 02914220 INFO GST_STATES gstelement.c:2312:gst_element_continue_state: continue state change PAUSED to PLAYING, final PLAYING 0:00:20.979856253 8896 02914220 INFO GST_EVENT gstevent.c:1245:gst_event_new_latency: creating latency event 0:00:00.000000000 0:00:20.979937604 8896 02914220 INFO bin gstbin.c:2520:gst_bin_do_latency_func: configured latency of 0:00:00.000000000 0:00:20.980014404 8896 02914220 INFO GST_STATES gstelement.c:2330:gst_element_continue_state: completed state change to PLAYING 0:00:20.980077551 8896 02914220 INFO GST_STATES gstelement.c:2235:_priv_gst_element_state_changed: notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending) 0:00:20.987751277 8896 02914220 INFO GST_PLUGIN_LOADING gstplugin.c:842:_priv_gst_plugin_load_file_for_registry: plugin "D:\kurento\kms-windows-6.4.1-alpha.11\lib\gstreamer-1.0\libkmselementsplugins.dll" loaded 0:00:20.987870744 8896 02914220 INFO GST_ELEMENT_FACTORY gstelementfactory.c:364:gst_element_factory_create: creating element "playerendpoint" 0:00:20.988985764 8896 02914220 INFO GST_ELEMENT_FACTORY gstelementfactory.c:362:gst_element_factory_create: creating element "pipeline" named "pipeline" 0:00:20.989129693 8896 02914220 INFO GST_ELEMENT_FACTORY gstelementfactory.c:456:gst_element_factory_make: no such element factory "uridecodebin"!

(kurento-media-server.exe:8896): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(kurento-media-server.exe:8896): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(kurento-media-server.exe:8896): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(kurento-media-server.exe:8896): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(kurento-media-server.exe:8896): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(kurento-media-server.exe:8896): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(kurento-media-server.exe:8896): GLib-GObject-CRITICAL **: g_object_set: assertion 'G_IS_OBJECT (object)' failed

(kurento-media-server.exe:8896): GStreamer-CRITICAL **: gst_bin_add: assertion 'GST_IS_ELEMENT (element)' failed 0:00:20.989589923 8896 02914220 INFO GST_STATES gstelement.c:2305:gst_element_continue_state: committing state from NULL to READY, pending PLAYING, next PAUSED 0:00:20.989667860 8896 02914220 INFO GST_STATES gstelement.c:2235:_priv_gst_element_state_changed: notifying about state-changed NULL to READY (PLAYING pending) `

kendziorra avatar Aug 04 '16 17:08 kendziorra

Okay, now we know uridecodebin is missing. Currently I am working on new version, I will add needed .DLL to next release.

kirushyk avatar Aug 04 '16 17:08 kirushyk

You can set debug level to 5 for GstElementFactory and to 3 for other categories: set GST_DEBUG=*:3,GST_ELEMENT_FACTORY:5

kirushyk avatar Aug 07 '16 15:08 kirushyk

@kirushyk still not working in v6.4.1 Beta 3, i'm getting insufficient memory error message

ialexivy avatar Aug 14 '16 05:08 ialexivy

I tried v6.4.1 Beta 3 with the same result and log messages like in the last alpha (missing uridecodebin ). Did you change something at this point ...

kendziorra avatar Aug 30 '16 10:08 kendziorra

Test with 6.6.1 beta 4 We gone the next steps! Seams that uridecodebin no more is missing. Now it looks unsuccessfully for a h264 decoder:

`0:00:50.945499322 10800 07B0B9A0 DEBUG GST_ELEMENT_FACTORY gstelementfactory.c:848:gst_element_factory_list_filter: Trying sirendec 0:00:50.946162077 10800 07B0B9A0 WARN uridecodebin gsturidecodebin.c:939:unknown_type_cb: warning: No decoder available for type 'video/x-h264, stream-format=(string)avc, alignment=(string)au, codec_data=(buffer)0142801effe100126742801e95a0507e8407ea5e005f5e10005001000468ce3880, level=(string)3, profile=(string)baseline, width=(int)320, height=(int)240, framerate=(fraction)0/1, parsed=(boolean)true'. 0:00:50.946387357 10800 07B0B9A0 WARN decodebin gstdecodebin2.c:4565:gst_decode_bin_expose: error: no suitable plugins found: Missing decoder: H.264 (Baseline Profile) (video/x-h264, stream-format=(string)avc, alignment=(string)au, codec_data=(buffer)0142801effe100126742801e95a0507e8407ea5e005f5e10005001000468ce3880, level=(string)3, profile=(string)baseline, width=(int)320, height=(int)240, framerate=(fraction)0/1, parsed=(boolean)true)

0:00:50.946575660 10800 07B0B9A0 WARN uridecodebin gsturidecodebin.c:1006:no_more_pads_full: error: no suitable plugins found: gstdecodebin2.c(4565): gst_decode_bin_expose (): /GstPipeline:pipeline/GstURIDecodeBin:uridecodebin/GstDecodeBin:decodebin0: no suitable plugins found: Missing decoder: H.264 (Baseline Profile) (video/x-h264, stream-format=(string)avc, alignment=(string)au, codec_data=(buffer)0142801effe100126742801e95a0507e8407ea5e005f5e10005001000468ce3880, level=(string)3, profile=(string)baseline, width=(int)320, height=(int)240, framerate=(fraction)0/1, parsed=(boolean)true)

0:00:50.946748602 10800 07B0B9A0 ERROR playerendpoint kmsplayerendpoint.c:1207:bus_sync_signal_handler:`

Do you know where to get it and how to integrate it?

kendziorra avatar Sep 20 '16 09:09 kendziorra

Test with 6.6.1 beta 4 We gone the next steps! Seams that uridecodebin no more is missing. Now it looks unsuccessfully for a h264 decoder:

`0:00:50.945499322 10800 07B0B9A0 DEBUG GST_ELEMENT_FACTORY gstelementfactory.c:848:gst_element_factory_list_filter: Trying sirendec 0:00:50.946162077 10800 07B0B9A0 WARN uridecodebin gsturidecodebin.c:939:unknown_type_cb: warning: No decoder available for type 'video/x-h264, stream-format=(string)avc, alignment=(string)au, codec_data=(buffer)0142801effe100126742801e95a0507e8407ea5e005f5e10005001000468ce3880, level=(string)3, profile=(string)baseline, width=(int)320, height=(int)240, framerate=(fraction)0/1, parsed=(boolean)true'. 0:00:50.946387357 10800 07B0B9A0 WARN decodebin gstdecodebin2.c:4565:gst_decode_bin_expose: error: no suitable plugins found: Missing decoder: H.264 (Baseline Profile) (video/x-h264, stream-format=(string)avc, alignment=(string)au, codec_data=(buffer)0142801effe100126742801e95a0507e8407ea5e005f5e10005001000468ce3880, level=(string)3, profile=(string)baseline, width=(int)320, height=(int)240, framerate=(fraction)0/1, parsed=(boolean)true)

0:00:50.946575660 10800 07B0B9A0 WARN uridecodebin gsturidecodebin.c:1006:no_more_pads_full: error: no suitable plugins found: gstdecodebin2.c(4565): gst_decode_bin_expose (): /GstPipeline:pipeline/GstURIDecodeBin:uridecodebin/GstDecodeBin:decodebin0: no suitable plugins found: Missing decoder: H.264 (Baseline Profile) (video/x-h264, stream-format=(string)avc, alignment=(string)au, codec_data=(buffer)0142801effe100126742801e95a0507e8407ea5e005f5e10005001000468ce3880, level=(string)3, profile=(string)baseline, width=(int)320, height=(int)240, framerate=(fraction)0/1, parsed=(boolean)true)

0:00:50.946748602 10800 07B0B9A0 ERROR playerendpoint kmsplayerendpoint.c:1207:bus_sync_signal_handler:`

Do you know where to get it and how to integrate it?

kendziorra avatar Sep 23 '16 11:09 kendziorra

Hi @kendziorra !

Were you able to get KMS to work? I'm having the same issue.

@kirushyk do you have any new release scheduled? The latest version in master it also appears not to work. Any suggestions?

Thanks to both of you!

luismcosta avatar Sep 25 '17 15:09 luismcosta

Hi luismcosta! As we now the project is pausing at the moment. The parts of features the client of kirushyk needed was implemented. H264 coded rtsp streams send to webrtc wasn't a part of this. Unfortunately this is just the main feature for my company. We know we have to update to last kurento version. We understand the build prozess, but the result dont work and the logs are not so useful. Our problem is, that kirushyk at this time is working on an other project and we dont have the manpower to push kms-windows along by ourself. If you anyone know who is able to do that - we are interessing in contact him (or her ;-))

all the best ... Heiko Kendziorra

kendziorra avatar Sep 26 '17 13:09 kendziorra

Hi,

At this moment I can not dedicate my time for this. However, as I know, company named Estos works a lot with this. Try contact them for help.

Cheers, —K.

kirushyk avatar Sep 27 '17 11:09 kirushyk