GES 1.12.4 and 1.14.2: Problem with slide transitions

David Ing ding at panopto.com
Fri Aug 10 19:34:24 UTC 2018


Alright, I really appreciate all your efforts.

I will try to build on Linux (from home) to double-check the claim that
there are no black flashes between slides on Linux.  Then at least I will
be able to say whether this is Windows related or not.

On Fri, Aug 10, 2018 at 12:21 PM, Thibault Saunier <tsaunier at gnome.org>
wrote:

> Hrm, tested here and it saving timeline works just fine with your code
> (my diff is https://pastebin.com/jmXCQhkJ), something must be wrong in
> the GESXmlFormatter on windows?
>
> I can't help much more, you should try to investigate and report a bug.
>
> BR,
>
> Thibault
> On Fri, Aug 10, 2018 at 1:25 PM David Ing <ding at panopto.com> wrote:
> >
> > Well I saved a timeline for each scenario using a command like this:
> >
> > ges_timeline_save_to_uri(gesTimeline, "file:///c:/tmp/scenario1.ges",
> nullptr, true, &gerror);
> >
> >
> > Then I tried to load the timeline but I get an error.
> >
> > DIng at sea-ding-02 MINGW64 /c/tmp
> > $ ges-launch-1.0 --load=scenario1.ges
> > file:///C:/tmp/scenario1.ges:17: parser error : Opening and ending tag
> mismatch: layer line 14 and clip
> >         </clip>
> >                ^
> > file:///C:/tmp/scenario1.ges:20: parser error : Opening and ending tag
> mismatch: timeline line 12 and clip
> >         </clip>
> >                ^
> > file:///C:/tmp/scenario1.ges:23: parser error : Opening and ending tag
> mismatch: project line 2 and clip
> >         </clip>
> >                ^
> > file:///C:/tmp/scenario1.ges:26: parser error : Opening and ending tag
> mismatch: ges line 1 and clip
> >         </clip>
> >                ^
> > file:///C:/tmp/scenario1.ges:27: parser error : Extra content at the
> end of the document
> >           <source track-id='0' children-properties='properties,
> GstFramePosition
> >           ^
> >
> > ERROR: Could not create timeline because: Could not find a suitable
> formatter
> >
> > Loading project from : scenario1.ges
> >
> >
> > This problem occurred for Gstreamer version 1.12.4 and 1.14.2.
> >
> > I went into the file and I noticed that the `<clip>` tags were all
> missing.  So I edited the file and I got:
> >
> > DIng at sea-ding-02 MINGW64 /c/tmp
> > $ ges-launch-1.0 --load=scenario1.ges
> >
> > ERROR: Could not create timeline because: Could not find a suitable
> formatter
> >
> > Loading project from : scenario1.ges
> >
> > I attached the timeline files for your reference.
> >
> > I am not sure what I am doing wrong.
> >
> >
> > On Fri, Aug 10, 2018 at 9:45 AM, Thibault Saunier <tsaunier at gnome.org>
> wrote:
> >>
> >> Could you try to save the project `ges_timeline_save_to_uri` and load
> >> with `ges-launch-1.0` to see what happens?
> >> On Fri, Aug 10, 2018 at 12:19 PM David Ing <ding at panopto.com> wrote:
> >> >
> >> > I added a GstQueue (with default settings) and the video for scenario
> 2 has greatly improved, but  there is still a very fast black-screen
> between slides.  It does not happen for scenario 1, only scenario 2.
> >> >
> >> > Here is the change I made:
> >> >
> >> > https://github.com/adaviding/gstreamer-playground/commit/
> 2b04911a839960691a09a4f9e0375afade1a605a
> >> >
> >> >
> >> > The log output for scenario #2 has not changed (as described earlier).
> >> >
> >> > On Fri, Aug 10, 2018 at 7:17 AM, David Ing <ding at panopto.com> wrote:
> >> >>
> >> >> Yes it does.  I will try to add a queue after the timeline when I
> get to work ... You should hear back from me in a couple hours.
> >> >>
> >> >> On Aug 10, 2018 6:42 AM, "Thibault Saunier" <tsaunier at gnome.org>
> wrote:
> >> >>
> >> >>  I just ran that on linux and I get no black frame, the foreground
> >> >> video stalls for a little while which I suspect is because you are
> >> >> missing some queuing after the composition. Also does that reproduce
> >> >> while rendering?
> >> >>
> >> >>
> >> >> Thibault
> >> >>
> >> >>
> >> >> On Fri, Aug 10, 2018 at 9:27 AM David Ing <ding at panopto.com> wrote:
> >> >> >
> >> >> > It's all in the master branch of my repo (currently
> 680b203603ffa35e27493e28fe1620edacb8d655):  https://github.com/adaviding/
> gstreamer-playground
> >> >> >
> >> >> > It is a visual studio 2017 project, but I made sure to include
> >> >> >
> >> >> > collateral --> a folder with all of the media files
> >> >> > Debug/x64 --> my build output
> >> >> >
> >> >> > If you don't have visual studio, it should be easy enough to
> compile main.cpp in some other way.  The entire program is 1 source file:
> main.cpp.
> >> >> >
> >> >> > On Fri, Aug 10, 2018 at 5:37 AM, Thibault Saunier <
> saunierthibault at gmail.com> wrote:
> >> >> >>
> >> >> >> Hello, could you share you project with the assets?
> >> >> >>
> >> >> >>
> >> >> >> Regards
> >> >> >>
> >> >> >> Thibault
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >> On Fri, Aug 10, 2018, 01:01 David Ing <ding at panopto.com> wrote:
> >> >> >>>
> >> >> >>> I forgot to say that the log messages appear at the time of each
> slide transition.
> >> >> >>>
> >> >> >>> On Thu, Aug 9, 2018 at 9:58 PM, David Ing <ding at panopto.com>
> wrote:
> >> >> >>>>
> >> >> >>>> I wrote a sample application to demonstrates a problem that I'm
> having with GES:
> >> >> >>>>
> >> >> >>>> https://github.com/adaviding/gstreamer-playground/blob/
> 680b203603ffa35e27493e28fe1620edacb8d655/ges-slide-composition/main.cpp
> >> >> >>>>
> >> >> >>>> The problem is with scenario #2 only, and I observe the problem
> running on Windows 10 with GES 1.12.4 and 1.14.2.  I have only tried this
> on Windows.
> >> >> >>>>
> >> >> >>>> Scenario 1 ( #define INCLUDE_FOREGROUND_VIDEO false )
> >> >> >>>>
> >> >> >>>> The sample application builds a video consisting of 5 jpeg
> images (i.e. "slides").  Each slide is up for 2 seconds so the movie is 10
> seconds long.  There is no audio in the sample application, and no audio
> track.
> >> >> >>>>
> >> >> >>>> Scenario 2 ( #define INCLUDE_FOREGROUND_VIDEO true )
> >> >> >>>>
> >> >> >>>> This is just like scenario 1, but there is also a
> picture-in-picture style video in the corner of the screen, in front of the
> slides.  I am using a video which has no audio track.
> >> >> >>>>
> >> >> >>>> The problem is that in scenario #2, during the slide transition
> (which occurs every 2 seconds), the screen goes black for a fraction of a
> second.  Interestingly, the foreground video does not go black ... only the
> portion of the screen subtended by the slides does this (which is most of
> the screen).  And this happens for every slide transition.
> >> >> >>>>
> >> >> >>>> Some other things to note about my application.
> >> >> >>>>
> >> >> >>>> I am using a GESTimeline with a GstPipeline (not GESPipeline)
> because I need to encode the composition in many different ways.
> Computational efficiency is of paramount importance, which means I only
> want to execute the pipeline once.  I cannot achieve this using a
> GESPipeline, so I need to use a GstPipeline
> >> >> >>>> I wired the NleComposition "query-position" signal so that it
> fetches the current position of the GstPipeline.
> >> >> >>>>
> >> >> >>>> Running with --gst-debug=3, I observe the following logs under
> each scenario.
> >> >> >>>>
> >> >> >>>> No highlights = the log appears in both scenarios.
> >> >> >>>> Yellow highlights = the log only appears in scenario #2.
> >> >> >>>> Pink highlights = the log appears in both scenarios, but is
> being repeated more often.
> >> >> >>>>
> >> >> >>>>
> >> >> >>>> Scenario 1:
> >> >> >>>>
> >> >> >>>> 0:00:09.110542588 13280 0000016292B0B940 WARN
> aggregator gstaggregator.c:1397:gst_aggregator_query_latency_
> unlocked:<gessmartmixer0-compositor> Latency query failed
> >> >> >>>> 0:00:09.110791659 13280 0000016292B0BD00 WARN
>  GST_URI gsturi.c:837:gst_file_utils_canonicalise_path: FIXME:
> canonicalise win32 path
> >> >> >>>> 0:00:09.113365512 13280 0000016292B0BD00 WARN
>  basesrc gstbasesrc.c:3480:gst_base_src_start_complete:<source> pad not
> activated yet
> >> >> >>>> 0:00:09.115511241 13280 0000016292B0BD00 WARN
>  basesrc gstbasesrc.c:3480:gst_base_src_start_complete:<source> pad not
> activated yet
> >> >> >>>> 0:00:09.118815897 13280 0000016292D3CD00 FIXME
>  videodecoder gstvideodecoder.c:928:gst_video_decoder_drain_out:<jpegdec9>
> Sub-class should implement drain()
> >> >> >>>> 0:00:09.120799711 13280 0000016292D3CD00 FIXME
>  videodecoder gstvideodecoder.c:928:gst_video_decoder_drain_out:<jpegdec9>
> Sub-class should implement drain()
> >> >> >>>> 0:00:09.121881327 13280 0000016292D3CD00 WARN
> videodecoder gstvideodecoder.c:2438:gst_video_decoder_chain:<jpegdec9>
> Received buffer without a new-segment. Assuming timestamps start from 0.
> >> >> >>>>
> >> >> >>>>
> >> >> >>>> Scenario 2:
> >> >> >>>>
> >> >> >>>> 0:00:09.250672090 16592 000001F366DE7200 WARN
> aggregator gstaggregator.c:1397:gst_aggregator_query_latency_
> unlocked:<gessmartmixer0-compositor> Latency query failed
> >> >> >>>> 0:00:09.250841298 16592 000001F366DECE40 WARN
>  GST_URI gsturi.c:837:gst_file_utils_canonicalise_path: FIXME:
> canonicalise win32 path
> >> >> >>>> 0:00:09.253852393 16592 000001F366DECE40 WARN
>  basesrc gstbasesrc.c:3480:gst_base_src_start_complete:<source> pad not
> activated yet
> >> >> >>>> 0:00:09.255128014 16592 000001F366DECE40 WARN
>  basesrc gstbasesrc.c:3480:gst_base_src_start_complete:<source> pad not
> activated yet
> >> >> >>>> 0:00:09.256701573 16592 000001F366DECE40 WARN
>  GST_URI gsturi.c:837:gst_file_utils_canonicalise_path: FIXME:
> canonicalise win32 path
> >> >> >>>> 0:00:09.257970631 16592 000001F366DECAC0 WARN
>  qtdemux qtdemux_types.c:228:qtdemux_type_get: unknown QuickTime node
> type uuid
> >> >> >>>> 0:00:09.262471410 16592 000001F366DECAC0 WARN
>  qtdemux qtdemux_types.c:228:qtdemux_type_get: unknown QuickTime node
> type pasp
> >> >> >>>> 0:00:09.258281331 16592 000001F366DECE40 WARN
>  basesrc gstbasesrc.c:3480:gst_base_src_start_complete:<source> pad not
> activated yet
> >> >> >>>> 0:00:09.263756148 16592 000001F366DECAC0 WARN
>  qtdemux qtdemux.c:3017:qtdemux_parse_trex:<qtdemux5> failed to find
> fragment defaults for stream 1
> >> >> >>>> 0:00:09.265397171 16592 000001F366DECE40 WARN
>  basesrc gstbasesrc.c:3480:gst_base_src_start_complete:<source> pad not
> activated yet
> >> >> >>>> 0:00:09.266319062 16592 000001F366DECAC0 WARN
>  basesrc gstbasesrc.c:2389:gst_base_src_update_length:<source> processing
> at or past EOS
> >> >> >>>> 0:00:09.268796277 16592 000001F366F6A500 FIXME
>  videodecoder gstvideodecoder.c:928:gst_video_decoder_drain_out:<jpegdec9>
> Sub-class should implement drain()
> >> >> >>>> 0:00:09.273111438 16592 000001F366F6A500 FIXME
>  videodecoder gstvideodecoder.c:928:gst_video_decoder_drain_out:<jpegdec9>
> Sub-class should implement drain()
> >> >> >>>> 0:00:09.274373567 16592 000001F366F6A500 WARN
> videodecoder gstvideodecoder.c:2438:gst_video_decoder_chain:<jpegdec9>
> Received buffer without a new-segment. Assuming timestamps start from 0.
> >> >> >>>> 0:00:09.313360990 16592 000001F366CFBD00 WARN
> GST_PADS gstpad.c:4161:gst_pad_peer_query:<queue11:src> could not send
> sticky events
> >> >> >>>> 0:00:09.315771835 16592 000001F366DE7D00 WARN
> aggregator gstaggregator.c:1397:gst_aggregator_query_latency_
> unlocked:<gessmartmixer0-compositor> Latency query failed
> >> >> >>>>
> >> >> >>>>
> >> >> >>>> Does anybody know how I might fix the problem with scenario #2?
> >> >> >>>
> >> >> >>>
> >> >> >>> _______________________________________________
> >> >> >>> gstreamer-devel mailing list
> >> >> >>> gstreamer-devel at lists.freedesktop.org
> >> >> >>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >> >> >>
> >> >> >>
> >> >> >> _______________________________________________
> >> >> >> gstreamer-devel mailing list
> >> >> >> gstreamer-devel at lists.freedesktop.org
> >> >> >> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >> >> >>
> >> >> >
> >> >> > _______________________________________________
> >> >> > gstreamer-devel mailing list
> >> >> > gstreamer-devel at lists.freedesktop.org
> >> >> > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >> >> _______________________________________________
> >> >> gstreamer-devel mailing list
> >> >> gstreamer-devel at lists.freedesktop.org
> >> >> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >> >>
> >> >>
> >> >
> >> > _______________________________________________
> >> > gstreamer-devel mailing list
> >> > gstreamer-devel at lists.freedesktop.org
> >> > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >> _______________________________________________
> >> gstreamer-devel mailing list
> >> gstreamer-devel at lists.freedesktop.org
> >> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >
> >
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20180810/e8975b05/attachment-0001.html>


More information about the gstreamer-devel mailing list