Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

PSA: Important for RecorderEndpoint saving to HTTP servers

67 views
Skip to first unread message

Juan Navarro

unread,
Jul 23, 2020, 5:52:31 AM7/23/20
to kurento
Yesterday we figured out an issue that had been bugging some users for a while, regarding usage of "http://" or "https://" URLs in the RecorderEndpoint. In theory the recordings from Kurento can be saved directly into any remote HTTP endpoint, but in practice this was causing some headaches to some users, because the server would reject the incoming upload from Kurento RecorderEndpoint.

After some digging we found out that our RecorderEndpoint API documentation page contains a bug: the HTTP server must support POST requests (not PUT). It must also be compatible with chunked encoding (HTTP header "Transfer-Encoding: chunked").

We'll be fixing the docs shortly. Meanwhile, if you were facing issues with the RecorderEndpoint not uploading files to a web server, that was probably the cause. Enable POST instead of PUT requests and file uploads should work fine.

Andreas Anoneas

unread,
Jul 29, 2020, 12:23:58 PM7/29/20
to kurento
Is the HTTP POST feature of the RecorderEndpoint, using the gstcurlhttpsink, currently expected to work with HTTPS and DNS? 
With the latest Docker image of Kurento, I have successfully pushed a recorded video to our Webserver using http and the server's IP, but in a customer environment there will only be https to a DNS-resolved name (e.g. https://server.company.com/...) in the internal network, and the gstcurlhttpsink fails. The log shows me the following:

ERROR KurentoMediaPipelineImpl MediaPipelineImpl.cpp:69:processBusMessage: Error code 10: 'poll timed out after 0:00:30.000000000', element: kmsrecorderendpoint2, parent: pipeline4

ERROR KurentoMediaPipelineImpl MediaPipelineImpl.cpp:72:processBusMessage: Debugging info: gstcurlbasesink.c(401): gst_curl_base_sink_render (): /GstPipeline:pipeline5/GstCurlHttpSink:curlhttpsink2


The website is reachable over HTTPS and the DNS alias and communicates WebRtc with KMS just fine in this setup, it is also pingable from the Docker container.

Are there any common reasons why this doesn't work, or is there a fundamental issue here?

Juan Navarro

unread,
Aug 3, 2020, 8:42:49 AM8/3/20
to kur...@googlegroups.com
It should work fine with both HTTP and HTTPS, and yes it should also be able to resolve DNS names. Please run with the suggested debug levels for the RecorderEndpoint, so we have more info about what is going on inside the Curl plugin:

https://doc-kurento.readthedocs.io/en/latest/features/logging.html#suggested-levels

--
Juan Navarro
Kurento maintainer & developer
@j1elo at GitHub, Twitter
--
You received this message because you are subscribed to the Google Groups "kurento" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kurento+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/kurento/3b71a912-050e-457f-b649-b80160a025cfo%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages