Hi,
I can stream video from GstRtspServer ( example test-video.c) with certificate and user/password to client when the “prococols” property are left default on client and server. But when I set in client the ““prococols” property to GST_RTSP_LOWER_TRANS_TCP, then I get the following errors:
Rtstsrc gstrtspsrc.c:5523: gst_rtspsrc_loop<rtspsrc> error: Internal data flow error> gstrtspsrc.c(5523): gst_rtspsrc_loop (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc:streaming task paused, reason not-negotiated (-4) Error: Internal data flow error
I did experiment with “protocols” setting on server/client and with protocol Rtsp and Rtsps, But I can’t get it working when protocol =GST_RTSP_LOWER_TRANS_TCP The client pipeline is rtspsrc location=rtsps://127.0.0.1:8554/test user-id=user user-pw=X name=Y ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink" and "tls-validation-flags" is set G_TLS_CERTIFICATE_GENERIC_ERROR
Any help is welkom. _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Fr, 2016-04-15 at 07:21 +0100, marc lievens wrote:
> Hi, > > I can stream video from GstRtspServer ( example test-video.c) with certificate and user/password to client when the “prococols” property are left default on client and server. > But when I set in client the ““prococols” property to GST_RTSP_LOWER_TRANS_TCP, then I get the following errors: > > Rtstsrc gstrtspsrc.c:5523: gst_rtspsrc_loop error: Internal data flow error> > gstrtspsrc.c(5523): gst_rtspsrc_loop (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc:streaming task paused, reason not-negotiated (-4) > Error: Internal data flow error > > I did experiment with “protocols” setting on server/client and with protocol Rtsp and Rtsps, But I can’t get it working when protocol =GST_RTSP_LOWER_TRANS_TCP > > The client pipeline is rtspsrc location=rtsps://127.0.0.1:8554/test user-id=user user-pw=X name=Y ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink" > and "tls-validation-flags" is set G_TLS_CERTIFICATE_GENERIC_ERROR the TLS certificate is not considered trusted, but needs more debug output to know for sure. Also your last comment suggests that this is unrelated to using the TCP protocol for the media but is a general problem with the RTSP connection. -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (968 bytes) Download Attachment |
Hi Sebastian, I not familiar with this mater can you more specific about your question or info wanted. I used the Gstreammer example test-video.c without any modification, also the certificate is left as is. The client pipeline is rtspsrc location=rtsps://127.0.0.1:8554/test user-id=user user-pw=password1 name=rtspsrc ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink" The client rtspsrc property "tls-validation-flags" is set to enum GTlsCertificateFlags G_TLS_CERTIFICATE_GENERIC_ERROR. In this case I receive video but also some warnings: basesrc gstbasesrc.c:2943:gst_base_src_loop<udpsrc2> error internal data flow error. basesrc gstbasesrc.c:2943:gst_base_src_loop<udpsrc2> error streaming task paused, reason not linked -1 But since I want communication via Tcp/Ip I changed next: When I set the client rtspsrc property "protocols" to GST_RTSP_LOWER_TRANS_TCP then no video is received, on msg bus error received (internal data flow error) and logged info is: basesrc gstbasesrc.c:5523:gst_rtspsrc_loop<rtspsrc> error internal data flow error. basesrc gstbasesrc.c:5523:st_rtspsrc_loop<rtspsrc>> error streaming task paused, reason not-negotiated(-4) Any help is welkom 2016-04-18 9:11 GMT+02:00 Sebastian Dröge <[hidden email]>: On Fr, 2016-04-15 at 07:21 +0100, marc lievens wrote: _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Mo, 2016-04-18 at 12:29 +0200, marc lievens wrote:
> Hi Sebastian, > > I not familiar with this mater can you more specific about your question or info wanted. > > I used the Gstreammer example test-video.c without any modification, also the certificate is left as is. > The client pipeline is rtspsrc location=rtsps://127.0.0.1:8554/test user-id=user user-pw=password1 name=rtspsrc ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink" > The client rtspsrc property "tls-validation-flags" is set to enum GTlsCertificateFlags G_TLS_CERTIFICATE_GENERIC_ERROR. > > In this case I receive video but also some warnings: > basesrc gstbasesrc.c:2943:gst_base_src_loop error internal data flow error. > basesrc gstbasesrc.c:2943:gst_base_src_loop error streaming task paused, reason not linked -1 > > But since I want communication via Tcp/Ip I changed next: > When I set the client rtspsrc property "protocols" to GST_RTSP_LOWER_TRANS_TCP then no video is received, on msg bus error received (internal data flow error) and logged info is: > basesrc gstbasesrc.c:5523:gst_rtspsrc_loop error internal data flow error. > basesrc gstbasesrc.c:5523:st_rtspsrc_loop> error streaming task paused, reason not-negotiated(-4) problem: https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer I assume you're also using GStreamer 1.8 and not an older version? -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (968 bytes) Download Attachment |
Hi Sebastian, Sorry for not mentioning I'm using gstreamer 1.7.1. Is this solved in the 1.8 version or do I have to fill in a bug report and how to reproduce it When the cerficate is used, are then only the Rtsp messages secured or is the video also secured and is this dependent and is there a difference when udp or .tcp is used. Thanks 2016-04-19 8:13 GMT+02:00 Sebastian Dröge <[hidden email]>: On Mo, 2016-04-18 at 12:29 +0200, marc lievens wrote: _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Di, 2016-04-19 at 09:21 +0200, marc lievens wrote:
> Hi Sebastian, > > Sorry for not mentioning I'm using gstreamer 1.7.1. > > Is this solved in the 1.8 version or do I have to fill in a bug > report and how to reproduce it There were lots of bugfixes since 1.7.1, no idea if your specific bug is fixed since then. Please try it yourself with your test case > When the cerficate is used, are then only the Rtsp messages secured > or is the video also secured and is this dependent and is there a > difference when udp or .tcp is used. TLS is only used for the TCP RTSP connection. So all RTSP messages are encrypted, and if you use TCP for media transport then that is encrypted too. If UDP is used for media transport, you'll have to enable SRTP to make that encrypted too. -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (968 bytes) Download Attachment |
Hi Sebasian, I will install version 1.8 and will verify it again. For the security via Udp , where in the gst-rtspserver pipeline do I have to set the caps 'application/x-srtp' ? gst_rtsp_media_factory_set_launch(factory, "videotestsrc ! caps='application/x-srtp' ! video/x-raw,width=123,height=456, framerate=30/1 !....
and that the transport for the media can be set via gst_rtsp_media_factory_set_protocols(factory, GST_RTSP_LOWER_TRANS_UDP); Thanks 2016-04-19 9:35 GMT+02:00 Sebastian Dröge <[hidden email]>: On Di, 2016-04-19 at 09:21 +0200, marc lievens wrote: _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Di, 2016-04-19 at 10:54 +0200, marc lievens wrote:
> Hi Sebasian, > > I will install version 1.8 and will verify it again. > > For the security via Udp , where in the gst-rtspserver pipeline do I > have to set the caps 'application/x-srtp' ? > > gst_rtsp_media_factory_set_launch(factory, "videotestsrc ! > caps='application/x-srtp' ! video/x-raw,width=123,height=456, > framerate=30/1 !.... > and that the transport for the media can be set via > gst_rtsp_media_factory_set_protocols(factory, > GST_RTSP_LOWER_TRANS_UDP); -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (968 bytes) Download Attachment |
Hi Sebastian, Sorry for the many questions, but I really new in this security matter. if I understand correctly, then since in server the certificate is specified and since also profile GST_RTSP_PROFILE_SAVP or GST_RTSP_PROFILE_SAVPF is set When used via tcp rtsp message and video is secured When used via Udp the rtsp message and video is secured But when I change profile to GST_RTSP_PROFILE_AVP or GST_RTSP_PROFILE_AVPF When used via tcp rtsp message and video is secured sine certificate is still specified When used via Udp the rtsp message are and video is not secured Is there some more info about this issue in gstreamer or some examples I will also take a more in depth look at the rtc5124 specifications and ,..... Thank for your help and patience 2016-04-19 13:16 GMT+02:00 Sebastian Dröge <[hidden email]>: On Di, 2016-04-19 at 10:54 +0200, marc lievens wrote: _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Di, 2016-04-19 at 16:58 +0200, marc lievens wrote:
> Hi Sebastian, > > Sorry for the many questions, but I really new in this security matter. > > if I understand correctly, then since in server the certificate is specified and since also profile GST_RTSP_PROFILE_SAVP or GST_RTSP_PROFILE_SAVPF is set > > When used via tcp rtsp message and video is secured > When used via Udp the rtsp message and video is secured > > But when I change profile to GST_RTSP_PROFILE_AVP or GST_RTSP_PROFILE_AVPF > > When used via tcp rtsp message and video is secured sine certificate is still specified > When used via Udp the rtsp message are and video is not secured > > Is there some more info about this issue in gstreamer or some examples > I will also take a more in depth look at the rtc5124 specifications and ,..... RTP is unencrypted, SRTP is encrypted. TLS is (usually) encrypted, sending unencrypted RTP via TLS gives you protection. -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (968 bytes) Download Attachment |
In reply to this post by marc lievens-2
Hi Sebastian, I verified problem again with version 1.8.0. The original fatal error is gone when Tcp is specified , but instead I' see now critical errors. I tested this with client side rtspsrc "protocol" property with default, only udp and only tcp ( behavior was different in 1.7.1.) with always the same result. The server is example test-video.c and the client pipeline is; rtspsrc location=rtsps://127.0.0.1:8554/test user-id=user user-pw=password tls-validation=G_TLS_CERTIFICATE_GENERIC_ERROR ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink What am I missing, do I have to change or add something? The video is received. I added screenshot with logging of client Thanks for the support. 2016-04-19 16:58 GMT+02:00 marc lievens <[hidden email]>:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by marc lievens-2
On Tue, 2016-04-19 at 10:54 +0200, marc lievens wrote:
This is not right by the way, this will result in a not-negotiated error, since videotestsrc does not produce applicatoin/x-srtp. There's also a syntax error, it should be either .. ! capsfilter caps=... ! or ... ! foo/x-bar,abc=x ! ... Cheers -Tim -- Tim Müller, Centricular Ltd - http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by marc lievens-2
On Wed, 2016-04-20 at 10:37 +0200, marc lievens wrote: Hi Marc,
It looks like you're running into a problem/bug in 1.8.0 with SRTP: It should be fixed in 1.8.1 which is in the process of being released right now. Cheers -Tim -- Tim Müller, Centricular Ltd - http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi, I updated system to 1.8.1 and all errors are solved. I verified with with/without security and this for tcp and udp. Thanks for the support and patience. 2016-04-20 16:44 GMT+02:00 Tim Müller <[hidden email]>:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi Marc,
I have a similar use-case. When i tried to run the test-video example and below client pipeline, it gives me the below error: Could you advise me if it is correct and how did you mention the TLS cerficates for the client pipeline. yoctoadm@kickseed:~$ gst-launch-1.0 -v -e rtspsrc location=rtsps://user:password@127.0.0.1:8554/test ! rtph264depay ! h264parse ! openh264dec ! autovideosink sync=false libEGL warning: GLX: XOpenDisplay failed Pipeline is live and does not need PREROLL ... WARNING: from element /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0: Failed to initialize egl: EGL_NOT_INITIALIZED Additional debug info: gstglimagesink.c(1011): _ensure_gl_setup (): /GstGLImageSinkBin:autovideosink0-actual-sink-glimage/GstGLImageSink:sink Progress: (open) Opening Stream Progress: (connect) Connecting to rtsps://user:password@127.0.0.1:8554/test 0:00:01.285020820 130201 0x13f9990 ERROR default gstrtspconnection.c:1049:gst_rtsp_connection_connect_with_response: failed to connect: Unacceptable TLS certificate 0:00:01.285132250 130201 0x13f9990 ERROR rtspsrc gstrtspsrc.c:4698:gst_rtsp_conninfo_connect:<rtspsrc0> Could not connect to server. (Generic error) ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Could not open resource for reading and writing. Additional debug info: gstrtspsrc.c(7465): gst_rtspsrc_retrieve_sdp (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Failed to connect. (Generic error) ERROR: pipeline doesn't want to preroll. Setting pipeline to PAUSED ... Any support from you will really help me, as you could successfully getting it working. Thansk, Ansa -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |