how are *all* the pipelines elements involved?

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

how are *all* the pipelines elements involved?

rossana
Hello everyone, I need to pass this command line with some nuances, to code (c/c++):
gst-launch textoverlay name=overlay ! ffmpegcolorspace ! videoscale ! autovideosink filesrc location=movie.avi ! decodebin2 ! ffmpegcolorspace ! overlay.video_sink filesrc location=movie.srt ! subparse ! overlay.text_sink

How it could be? the linking issues mainly, I can't get how to to with 2 filescr, one for the avi and the other one for the .srt.
Thanks

Rossana


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

Re: how are *all* the pipelines elements involved?

Sean McNamara-4
Hi,

On Sat, Nov 26, 2011 at 8:13 PM, Rossana Guerra
<[hidden email]> wrote:
> Hello everyone, I need to pass this command line with some nuances, to code
> (c/c++):
> gst-launch textoverlay name=overlay ! ffmpegcolorspace ! videoscale !
> autovideosink filesrc location=movie.avi ! decodebin2 ! ffmpegcolorspace !
> overlay.video_sink filesrc location=movie.srt ! subparse ! overlay.text_sink
>
> How it could be? the linking issues mainly, I can't get how to to with 2
> filescr, one for the avi and the other one for the .srt.

If this pipeline does what you want in gst-launch, just take the
pipeline description text and pass it to one of the GstParse functions
(depending on how much control you need):

http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstParse.html

Unless you need to dynamically add/remove elements from the pipeline
at runtime, you should never have to do any manual element
linking/unlinking if you use GstParse. You just get a Bin or a
Pipeline, set properties as needed, and control the state (paused,
playing, etc) depending on what your app is supposed to do.

HTH,

Sean

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

Re: how are *all* the pipelines elements involved?

rossana
Hello, tanks for your response, I'm aware of GstParse, but I need a 'customization' of this pipeline actually, and doing it by code, that's why I asked. I need to add subtitles and other time-based elements to an avi file.

This is my actual pipeline,

                               mad ---- ffdec_mpeg4 ----queue-----alsasink  //audio part

filescr---avidemux ----

                               queue---autovideosink  //video part


Thanks

Rossana

2011/11/26 Sean McNamara <[hidden email]>
Hi,

On Sat, Nov 26, 2011 at 8:13 PM, Rossana Guerra
<[hidden email]> wrote:
> Hello everyone, I need to pass this command line with some nuances, to code
> (c/c++):
> gst-launch textoverlay name=overlay ! ffmpegcolorspace ! videoscale !
> autovideosink filesrc location=movie.avi ! decodebin2 ! ffmpegcolorspace !
> overlay.video_sink filesrc location=movie.srt ! subparse ! overlay.text_sink
>
> How it could be? the linking issues mainly, I can't get how to to with 2
> filescr, one for the avi and the other one for the .srt.

If this pipeline does what you want in gst-launch, just take the
pipeline description text and pass it to one of the GstParse functions
(depending on how much control you need):

http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstParse.html

Unless you need to dynamically add/remove elements from the pipeline
at runtime, you should never have to do any manual element
linking/unlinking if you use GstParse. You just get a Bin or a
Pipeline, set properties as needed, and control the state (paused,
playing, etc) depending on what your app is supposed to do.

HTH,

Sean

> Thanks
>
> Rossana
>
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


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

Re: how are *all* the pipelines elements involved?

rossana
I don't know how and where to plug another filescr and textoverlay for this matter.

2011/11/26 Rossana Guerra <[hidden email]>
Hello, tanks for your response, I'm aware of GstParse, but I need a 'customization' of this pipeline actually, and doing it by code, that's why I asked. I need to add subtitles and other time-based elements to an avi file.

This is my actual pipeline,

                               mad ---- ffdec_mpeg4 ----queue-----alsasink  //audio part

filescr---avidemux ----

                               queue---autovideosink  //video part


Thanks

Rossana


2011/11/26 Sean McNamara <[hidden email]>
Hi,

On Sat, Nov 26, 2011 at 8:13 PM, Rossana Guerra
<[hidden email]> wrote:
> Hello everyone, I need to pass this command line with some nuances, to code
> (c/c++):
> gst-launch textoverlay name=overlay ! ffmpegcolorspace ! videoscale !
> autovideosink filesrc location=movie.avi ! decodebin2 ! ffmpegcolorspace !
> overlay.video_sink filesrc location=movie.srt ! subparse ! overlay.text_sink
>
> How it could be? the linking issues mainly, I can't get how to to with 2
> filescr, one for the avi and the other one for the .srt.

If this pipeline does what you want in gst-launch, just take the
pipeline description text and pass it to one of the GstParse functions
(depending on how much control you need):

http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstParse.html

Unless you need to dynamically add/remove elements from the pipeline
at runtime, you should never have to do any manual element
linking/unlinking if you use GstParse. You just get a Bin or a
Pipeline, set properties as needed, and control the state (paused,
playing, etc) depending on what your app is supposed to do.

HTH,

Sean

> Thanks
>
> Rossana
>
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel