GES: Questions related to the new "gessrc" element

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

GES: Questions related to the new "gessrc" element

David Ing
I am famliar with the GES Launch command which loads a timeline file in xges format.  The syntax is something like this:

ges-launch-1.0 --load=MY_FILE.xges

My first question is:

Now I am wondering if there is a similar kind of command using GST Launch (gst-launch-1.0).  Specifically I am wondering if this is now possible via the new "gessrc" element.

My second question is:

I am wondering how the "gessrc" element is supposed to be used.

The reason I ask is:  I have some C++ code which builds a GstPipeline which contains a GESTimeline.  Now I wonder if it is better to put a GESSrc inside of the GstPipeline (where the GESSrc contains the GESTimeline).

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

Re: GES: Questions related to the new "gessrc" element

Philippe Normand
On Thu, 2019-08-01 at 09:00 -0700, David Ing wrote:

> I am famliar with the GES Launch command which loads a timeline file
> in
> xges format.  The syntax is something like this:
>
> ges-launch-1.0 --load=MY_FILE.xges
>
>
> My first question is:
>
> Now I am wondering if there is a similar kind of command using GST
> Launch (
> *gst*-launch-1.0).  Specifically I am wondering if this is now
> possible via
> the new "gessrc" element.
>
>
> My second question is:
>
> I am wondering how the "gessrc" element is supposed to be used.
>
> The reason I ask is:  I have some C++ code which builds a GstPipeline
> which
> contains a GESTimeline.  Now I wonder if it is better to put a GESSrc
> inside of the GstPipeline (where the GESSrc contains the
> GESTimeline).

gessrc seems to fit with your use-case indeed.
Set the playbin uri to ges:// and in the source-setup signal handler
set the timeline property on the element, as demonstrated in this C
example:

https://gitlab.freedesktop.org/gstreamer/gst-editing-services/blob/master/examples/c/gessrc.c

Philippe

> _______________________________________________
> 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: GES: Questions related to the new "gessrc" element

David Ing
It was an excellent suggestion to try it, but it doesn't work.

As a repro, I have an xges file and media files here:  https://drive.google.com/file/d/1rUqC2v55_uLk1J2sEfi1FGyxEfW_RJw_/view?usp=sharing

You can extract the files into a folder, but the xges file has absolute file paths; so you will need to replace my path with yours.  Mine is "/home/ding/mess/xges_repro/fedora_30-1.16.0".

You can run a command to prove that this is a valid xges file as follows:
ges-launch-1.0 --load=04.xges

Next you can run the command using playbin, and it just hangs.  It never plays.
gst-launch-1.0 playbin uri=ges://04.xges

I'm on Fedora 30, and I built 1.16.0 using gst-build.

On Fri, Aug 2, 2019 at 3:05 AM Philippe Normand <[hidden email]> wrote:
On Thu, 2019-08-01 at 09:00 -0700, David Ing wrote:
> I am famliar with the GES Launch command which loads a timeline file
> in
> xges format.  The syntax is something like this:
>
> ges-launch-1.0 --load=MY_FILE.xges
>
>
> My first question is:
>
> Now I am wondering if there is a similar kind of command using GST
> Launch (
> *gst*-launch-1.0).  Specifically I am wondering if this is now
> possible via
> the new "gessrc" element.
>
>
> My second question is:
>
> I am wondering how the "gessrc" element is supposed to be used.
>
> The reason I ask is:  I have some C++ code which builds a GstPipeline
> which
> contains a GESTimeline.  Now I wonder if it is better to put a GESSrc
> inside of the GstPipeline (where the GESSrc contains the
> GESTimeline).

gessrc seems to fit with your use-case indeed.
Set the playbin uri to ges:// and in the source-setup signal handler
set the timeline property on the element, as demonstrated in this C
example:

https://gitlab.freedesktop.org/gstreamer/gst-editing-services/blob/master/examples/c/gessrc.c

Philippe

> _______________________________________________
> 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: GES: Questions related to the new "gessrc" element

David Ing

On Fri, Aug 2, 2019 at 9:48 AM David Ing <[hidden email]> wrote:
It was an excellent suggestion to try it, but it doesn't work.

As a repro, I have an xges file and media files here:  https://drive.google.com/file/d/1rUqC2v55_uLk1J2sEfi1FGyxEfW_RJw_/view?usp=sharing

You can extract the files into a folder, but the xges file has absolute file paths; so you will need to replace my path with yours.  Mine is "/home/ding/mess/xges_repro/fedora_30-1.16.0".

You can run a command to prove that this is a valid xges file as follows:
ges-launch-1.0 --load=04.xges

Next you can run the command using playbin, and it just hangs.  It never plays.
gst-launch-1.0 playbin uri=ges://04.xges

I'm on Fedora 30, and I built 1.16.0 using gst-build.

On Fri, Aug 2, 2019 at 3:05 AM Philippe Normand <[hidden email]> wrote:
On Thu, 2019-08-01 at 09:00 -0700, David Ing wrote:
> I am famliar with the GES Launch command which loads a timeline file
> in
> xges format.  The syntax is something like this:
>
> ges-launch-1.0 --load=MY_FILE.xges
>
>
> My first question is:
>
> Now I am wondering if there is a similar kind of command using GST
> Launch (
> *gst*-launch-1.0).  Specifically I am wondering if this is now
> possible via
> the new "gessrc" element.
>
>
> My second question is:
>
> I am wondering how the "gessrc" element is supposed to be used.
>
> The reason I ask is:  I have some C++ code which builds a GstPipeline
> which
> contains a GESTimeline.  Now I wonder if it is better to put a GESSrc
> inside of the GstPipeline (where the GESSrc contains the
> GESTimeline).

gessrc seems to fit with your use-case indeed.
Set the playbin uri to ges:// and in the source-setup signal handler
set the timeline property on the element, as demonstrated in this C
example:

https://gitlab.freedesktop.org/gstreamer/gst-editing-services/blob/master/examples/c/gessrc.c

Philippe

> _______________________________________________
> 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