gstreamer application versus gst-launch pipeline

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

gstreamer application versus gst-launch pipeline

nagendra sarma

hi all

i have a complex gstreamer pipeline with TEEs, Encoders with mpegts etc
the pipeline is working without any issue.

if i put same pipeline into application  i saw some frame losses (not in the case of gst-launch-0.10)

i enabled debug level=3 but i could not get any error;

i would like to know

1. is there any difference between application and pipeline (gst-launch) in performance ?
2. any special care should take care while writing application ?
3. is it normal ? (application performance is always less than raw pipeline performance ?)

please let me know your views

regards
nagendra
Reply | Threaded
Open this post in threaded view
|

Re: gstreamer application versus gst-launch pipeline

Chuck Crisler-3

The main difference is that gst_launch was written by some really smart people and they knew what was needed for each element. You probably don't have your pipeline implementation optimized. It is more work to implement a pipeline in C, but you do get the same performance, more flexibility and a more robust application. Post your pipeline and someone can make some suggestions to help.


On Jul 18, 2016 9:43 AM, "nagendra sarma" <[hidden email]> wrote:

hi all

i have a complex gstreamer pipeline with TEEs, Encoders with mpegts etc
the pipeline is working without any issue.

if i put same pipeline into application  i saw some frame losses (not in the
case of gst-launch-0.10)

i enabled debug level=3 but i could not get any error;

i would like to know

1. is there any difference between application and pipeline (gst-launch) in
performance ?
2. any special care should take care while writing application ?
3. is it normal ? (application performance is always less than raw pipeline
performance ?)

please let me know your views

regards
nagendra




--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/gstreamer-application-versus-gst-launch-pipeline-tp4678733.html
Sent from the GStreamer-devel mailing list archive at 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: gstreamer application versus gst-launch pipeline

Duncan Palmer-2
It may help you to dump the pipelines to .dot files (both when using gst-launch and your application), and then compare these. As Chuck has mentioned, it's possible the pipeline created with gst-launch is in some way different to what you've created, and this is a very quick and easy way to make the comparison.

On 19 July 2016 at 04:40, Chuck Crisler <[hidden email]> wrote:

The main difference is that gst_launch was written by some really smart people and they knew what was needed for each element. You probably don't have your pipeline implementation optimized. It is more work to implement a pipeline in C, but you do get the same performance, more flexibility and a more robust application. Post your pipeline and someone can make some suggestions to help.


On Jul 18, 2016 9:43 AM, "nagendra sarma" <[hidden email]> wrote:

hi all

i have a complex gstreamer pipeline with TEEs, Encoders with mpegts etc
the pipeline is working without any issue.

if i put same pipeline into application  i saw some frame losses (not in the
case of gst-launch-0.10)

i enabled debug level=3 but i could not get any error;

i would like to know

1. is there any difference between application and pipeline (gst-launch) in
performance ?
2. any special care should take care while writing application ?
3. is it normal ? (application performance is always less than raw pipeline
performance ?)

please let me know your views

regards
nagendra




--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/gstreamer-application-versus-gst-launch-pipeline-tp4678733.html
Sent from the GStreamer-devel mailing list archive at 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



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

Re: gstreamer application versus gst-launch pipeline

nagendra sarma
This post was updated on .
hi Guys

thanks for the support i`ll  get .dot files in both cases

thanks
nagendra
Reply | Threaded
Open this post in threaded view
|

Re: gstreamer application versus gst-launch pipeline

nagendra sarma
This post was updated on .
hi All

 i have got the gstremer pipelines  of both application and raw pipeline
the major differece is bins
i have used bins to manipulate two streams (having same source), which is not present in raw pileline

my pipeline is
                              |---->q1-->encode1-->tsmux1-->udpsink1 (bin-1)
                              |
video source--->TEE--|---->q2-->scale2->encode2-->tsmux2-->udpsink2 (bin-2)

in above bin 1 is for stream-1 and bin2 is for stream-2
the Tee is directly connected to q of bin 1 in case of raw pipeline
but i used bins (q+encode+sink) for each stream, and ghost pad created (bin-->q) which  is used to connect to Tee src pad

TEE(src)---->(ghost-sink)--->q(sink)

is it possible to avoid bins in my application ? is bins creating problem ?

regards
nagendra





Reply | Threaded
Open this post in threaded view
|

Re: gstreamer application versus gst-launch pipeline

Duncan Palmer-2
I doubt the bins would be causing any issues. Have you checked the element properties (should be in the .dot dump)?

On 19 July 2016 at 18:52, nagendra sarma <[hidden email]> wrote:
hi All

 i have got the gstremer pipelines  of both application and raw pipeline
the major differece is bins
i have used bins to manipulate two streams (having same source), which is
not present in raw pileline

my pipeline is
                              |---->q1-->encode1-->tsmux2-->udpsink1 (bin-1)
                              |
video source--->TEE--|---->q2-->scale2->encode2-->tsmux2-->udpsink2 (bin-2)

in above bin 1 is for stream-1 and bin2 is for stream-2
the Tee is directly connected to q of bin 1 in case of raw pipeline
but i used bins (q+encode+sink) for each stream, and ghost pad created
(bin-->q) which  is used to connect to Tee src pad

TEE(src)---->(ghost-sink)--->q(sink)

is it possible to avoid bins in my application ? is bins creating problem ?

regards
nagendra









--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/gstreamer-application-versus-gst-launch-pipeline-tp4678733p4678744.html
Sent from the GStreamer-devel mailing list archive at 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: gstreamer application versus gst-launch pipeline

nagendra sarma
This post was updated on .
please find attached .dot files for pipeline and application
the major difference is bin

cmd_line pipeline :
0.png

application pipeline :
pipeline_app.png

i found that that the capabilities between various elements show ANY in case of application, but in case of pipeline (gst-launch) it shows properly ? is there any thing wrong ?
or should we add caps filter between every two elements ?

any help ?
Reply | Threaded
Open this post in threaded view
|

Re: gstreamer application versus gst-launch pipeline

nagendra sarma
This post was updated on .
hi all

i am still not clear what is the difference bet gstreamer application  and gst-launch

i am using gstreamer 1.0 and the performance was really bad with application, but the performance was really good with gst-launch with same pipeline

i have captured pipeline to png in both cases

gst_application.png   (taken from c application)
gst_launch.png   (taken from gst-launch)

there are multiple udp sinks in the pipe (two for video and two for audio)
with gst-launch every thing works file, with application, the video delays more than 5 seconds and not able to play on decoder side

please help me as it is critical for me

thanks
nagendra

application pipe :
gst_application.png
cmd-line pipe:
gst-launch.png
Reply | Threaded
Open this post in threaded view
|

Re: gstreamer application versus gst-launch pipeline

Antonio Ospite-2
On Thu, 9 Mar 2017 21:02:22 -0800 (PST)
nagendra sarma <[hidden email]> wrote:

> hi all
>
> i am still not clear what is the difference bet gstreamer application  and
> gst-launch
>

Some things just cannot be done from gst-launch.

Some examples:
  * having dynamic or responsive pipelines (do custom stuff when
    some event happens),
  * or more simply setting properties which expect non-scalar values,
    see the 'matrix' property of the 'perspective' element for instance.

> i am using gstreamer 1.0 and the performance was really bad with
> application, but the performance was really good with gst-launch with same
> pipeline
>
> i have captured pipeline to png in both cases
>
> gst_application.png   (taken from c application)
> gst_launch.png   (taken from gst-launch)
>
> there are multiple udp sinks in the pipe (two for video and two for audio)
> with gst-launch every thing works file, with application, the video delays
> more than 5 seconds and not able to play on decoder side
>
> please help me as it is critical for me
>
> thanks
> nagendra

Maybe your application does not handle some state properly or does not
respond to some events.

In the top bin of pipeline_app.png I see that elements have "[>]"
instead of "[=]" like in  0.png but I don't remember the meaning of
such indicators right now, look into it.

Ciao,
   Antonio

--
Antonio Ospite
https://ao2.it
https://twitter.com/ao2it

A: Because it messes up the order in which people normally read text.
   See http://en.wikipedia.org/wiki/Posting_style
Q: Why is top-posting such a bad thing?
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel