GES 1.12 -- Multiple encodings to multiple files
David Ing
ding at panopto.com
Mon Jul 2 16:41:43 UTC 2018
I sent the original message on this thread Friday evening (US Pacific Time)
... chances are that most people never saw it, so I'm trying again:
On a prior email thread, it was suggested that GESTimeline and GstPipeline
are not 100% compatible with each other: https://lists.
freedesktop.org/archives/gstreamer-devel/2018-March/067349.html
> The GES timeline can indeed be used in a regular gstreamer pipeline,
but there
> are some undocumented quirks, amongst them the "query-position"
signal emitted
> by the NLEComposition wrapped by the GESTrack object, this is why
using GESPipeline
> is the recommended approach.
I am now in the position of being forced to use the GstPipeline with the
GESTimeline (for reasons described in the first message of this thread). I
wonder if anybody can shed some light on the problems that I might see, and
provide a hint about how I might overcome them. I am working in C / C++ so
I have a lot of options, but I would benefit from a little guidance.
On Fri, Jun 29, 2018 at 4:24 PM, David Ing <ding at panopto.com> wrote:
> To partially answer my own question: I think I need to use a
> *GstPipeline* rather than a *GESPipeline* (so I can have full control
> over the GstElements which do the encoding and writing to files).
>
> On another email thread, it was suggested that GESTimeline and GstPipeline
> are not 100% compatible with each other: https://lists.
> freedesktop.org/archives/gstreamer-devel/2018-March/067349.html
>
> > The GES timeline can indeed be used in a regular gstreamer pipeline,
> but there
> > are some undocumented quirks, amongst them the "query-position"
> signal emitted
> > by the NLEComposition wrapped by the GESTrack object, this is why
> using GESPipeline
> > is the recommended approach.
>
>
> If I use GESTimeline with GstPipeline, what kinds of trouble can I expect?
>
> On Fri, Jun 29, 2018 at 1:32 PM, David Ing <ding at panopto.com> wrote:
>
>> I am using GES 1.12 and I am trying to build a single GESPipeline with a
>> somewhat complicated set of outputs. I am coding in C++ (using gstreamer
>> headers and libs).
>>
>> Consider a representative example:
>>
>> I have built a GESTimeline which sits inside a GESPipeline.
>>
>> I want to generate multiple encodings.
>>
>>
>> 1. Low quality video AVC (h.264)
>> 2. Mid quality video AVC (h.264)
>> 3. High quality video AVC (h.264)
>> 4. High quality audio AAC
>>
>> I want to shunt these encodings into multiple containers.
>>
>>
>> 1. HLS folder (all encodings)
>> 2. MP4 high quality (encodings 3 & 4)
>> 3. MP4 mid quality (encodings 2 & 4)
>>
>> Presumably, the most efficient approach (computationally) is to use a
>> single pipeline for all of this. *Computational efficiency is of
>> paramount importance to me.*
>>
>> My question is:* What approach should I take?*
>>
>> One approach is to manually construct the GstElements I need for encoding
>> and muxing, and connect them together in the appropriate way within the
>> GESPipeline (I guess they would source directly from the sinks on the
>> GESTimeline). Is that the correct approach? Or is there another approach
>> that will work better?
>>
>> *Guidance is appreciated.*
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20180702/cf47110f/attachment-0001.html>
More information about the gstreamer-devel
mailing list