Problems with more than one client when using gst-rtsp-server

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Problems with more than one client when using gst-rtsp-server

BrunoArantes
My application requires that I receive video from a camera, connected via
serial(USB) and create a rtsp stream for at least 2 clients.
I used the example code test-appsrc.c as a base for my code.

The application works when there is only one client connected.
The problem is: the second client takes a long time to connect and only
updates a few frames every around 8 to 10 seconds.

This behavior does not happen when I run the example.

Has anyone encountered something similar to that?

Some information which may be relevant:

The image is a 120X160 GRAY8.
The framerate is approximately 14 fps, some frames may be lost in the serial
communication.
I am using a raspberry pi 3b+.
GStreamer version: 1.14.4

My factory pipeline is as follows: appsrc name=mysrc ! videoconvert
n-threads=3 ! x264enc bitrate=512 speed-preset=ultrafast threads=3
sliced-threads=true ! rtph264pay name=pay0 pt=96

My appsrc "caps" property is: gst_caps_new_simple("video/x-raw", "is-live",
G_TYPE_BOOLEAN, true,"format", G_TYPE_STRING, "GRAY8","width", G_TYPE_INT,
user_data->width,"height", G_TYPE_INT, user_data->height,"framerate",
GST_TYPE_FRACTION, 0, 1, NULL)



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Problems with more than one client when using gst-rtsp-server

Tyler Compton
I'm not sure how to explain the exact behavior you're seeing here, but does it still happen if you call `gst_rtsp_media_factory_set_shared(factory, TRUE)` on the factory before adding the factory to the server? This will make it so that multiple clients get their frames from the same pipeline, which is nice from an efficiency standpoint.

On Wed, Oct 14, 2020 at 8:20 AM BrunoArantes <[hidden email]> wrote:
My application requires that I receive video from a camera, connected via
serial(USB) and create a rtsp stream for at least 2 clients.
I used the example code test-appsrc.c as a base for my code.

The application works when there is only one client connected.
The problem is: the second client takes a long time to connect and only
updates a few frames every around 8 to 10 seconds.

This behavior does not happen when I run the example.

Has anyone encountered something similar to that?

Some information which may be relevant:

The image is a 120X160 GRAY8.
The framerate is approximately 14 fps, some frames may be lost in the serial
communication.
I am using a raspberry pi 3b+.
GStreamer version: 1.14.4

My factory pipeline is as follows: appsrc name=mysrc ! videoconvert
n-threads=3 ! x264enc bitrate=512 speed-preset=ultrafast threads=3
sliced-threads=true ! rtph264pay name=pay0 pt=96

My appsrc "caps" property is: gst_caps_new_simple("video/x-raw", "is-live",
G_TYPE_BOOLEAN, true,"format", G_TYPE_STRING, "GRAY8","width", G_TYPE_INT,
user_data->width,"height", G_TYPE_INT, user_data->height,"framerate",
GST_TYPE_FRACTION, 0, 1, NULL)



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Problems with more than one client when using gst-rtsp-server

BrunoArantes
Calling 'gst_rtsp_media_factory_set_shared(factory, TRUE)' solves the
problem.

Now it works with several clients at the same time.

Thank you for your help.


Tyler Compton wrote
> I'm not sure how to explain the exact behavior you're seeing here, but
> does
> it still happen if you call `gst_rtsp_media_factory_set_shared(factory,
> TRUE)` on the factory before adding the factory to the server? This will
> make it so that multiple clients get their frames from the same pipeline,
> which is nice from an efficiency standpoint.
>
> On Wed, Oct 14, 2020 at 8:20 AM BrunoArantes &lt;

> brunoaamello@

> &gt; wrote:
>
>> My application requires that I receive video from a camera, connected via
>> serial(USB) and create a rtsp stream for at least 2 clients.
>> I used the example code test-appsrc.c as a base for my code.
>>
>> The application works when there is only one client connected.
>> The problem is: the second client takes a long time to connect and only
>> updates a few frames every around 8 to 10 seconds.
>>
>> This behavior does not happen when I run the example.
>>
>> Has anyone encountered something similar to that?
>>
>> Some information which may be relevant:
>>
>> The image is a 120X160 GRAY8.
>> The framerate is approximately 14 fps, some frames may be lost in the
>> serial
>> communication.
>> I am using a raspberry pi 3b+.
>> GStreamer version: 1.14.4
>>
>> My factory pipeline is as follows: appsrc name=mysrc ! videoconvert
>> n-threads=3 ! x264enc bitrate=512 speed-preset=ultrafast threads=3
>> sliced-threads=true ! rtph264pay name=pay0 pt=96
>>
>> My appsrc "caps" property is: gst_caps_new_simple("video/x-raw",
>> "is-live",
>> G_TYPE_BOOLEAN, true,"format", G_TYPE_STRING, "GRAY8","width",
>> G_TYPE_INT,
>> user_data->width,"height", G_TYPE_INT, user_data->height,"framerate",
>> GST_TYPE_FRACTION, 0, 1, NULL)
>>
>>
>>
>> --
>> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
>> _______________________________________________
>> gstreamer-devel mailing list
>>

> gstreamer-devel@.freedesktop

>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>
> _______________________________________________
> gstreamer-devel mailing list

> gstreamer-devel@.freedesktop

> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel





--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel