GES 1.16.0 caps negotiation problem (v2)

David Ing ding at panopto.com
Fri Jul 26 14:43:41 UTC 2019


Thanks for your responses.

I can assure you that the GESVideoTrack is connected to the video tee ...
but the graph doesn't show it.  There may be a problem inside
`gst_debug_bin_to_dot_data` and I wish I had the time to investigate and
fix the problem.

I was aware that I could fix the upstream frame-rate via
ges_track_set_restriction_caps, but forcing a single frame-rate for the
entire video seems like a sub-optimal solution in this case.  (I am not
aware of a compelling reason why an mp4 should have a constant frame-rate,
but perhaps there is something I am unaware of.)

I am working with a third party vendor (Elecard) to get ahold of an
encoder+muxer which can handle the task.


On Thu, Jul 25, 2019 at 2:38 PM Mathieu Duponchelle <mathieu at centricular.com>
wrote:

> Hello David,
>
> To answer your questions:
>
> 1. Why is this happening?
>
> It's not really easy to tell without seeing your application, and your dot
> files are a bit mystifying, as both in PLAYING
> and failed the tee that starts your video encoding branch does not have a
> sink pad.
>
> As to the actual issue, you can see that the renegotiation fails because
> you're trying to push caps with a different
> framerate to the muxer, which let's you know it can't support changing
> that on the fly.
>
> 2. How can I fix it?
>
> Use ges_track_set_restriction_caps, with a fixed framerate.
>
> On 7/25/19 1:23 AM, David Ing wrote:
>
> I'm on Fedora 30 running Gstreamer 1.16.0.
>
> I've got a GESTimeline inside of a GstPipeline.  I have attached dot files
> which shows the pipeline immediately after each state transition.
>
>    - NULL -> READY
>    - READY -> PAUSED
>    - PAUSED -> PLAYING
>    - PLAYING, "JobFailed", when I receive an error message on the bus
>
> I would have provided image files but graphviz doesn't like these dot
> files ... but you can use http://www.webgraphviz.com/ to visualize them.
> They seem accurate except they show tee_video as disconnected (it is
> actually connected).
>
> I'm attaching a "small_logs.txt" file (less verbose) and a "big_logs.txt"
> file (more verbose).  The interesting bits can be observed in the small
> file.
>
> 19-07-24T22:53:13.786414 INFO    pan CompositionJob.cpp:123 Pipeline state
> changed from PAUSED to PLAYING in 0.000 seconds.
> 19-07-24T22:53:14.120278 WARNING qtmux gstqtmux.c:5118 pad video_0 refused
> renegotiation to video/x-h264,
> codec_data=(buffer)01640028ffe1001f67640028acd940780227e5c05a808080a0000003002000000303d1e30632c001000568ebecb22c,
> stream-format=(string)avc, alignment=(string)au, level=(string)4,
> profile=(string)high, width=(int)1920, height=(int)1080,
> pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)15/1,
> interlace-mode=(string)progressive, colorimetry=(string)bt709,
> chroma-site=(string)mpeg2
> 19-07-24T22:53:14.120551 WARNING qtmux gstqtmux.c:5118 pad video_0 refused
> renegotiation to video/x-h264,
> codec_data=(buffer)01640028ffe1001f67640028acd940780227e5c05a808080a0000003002000000303d1e30632c001000568ebecb22c,
> stream-format=(string)avc, alignment=(string)au, level=(string)4,
> profile=(string)high, width=(int)1920, height=(int)1080,
> pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)15/1,
> interlace-mode=(string)progressive, colorimetry=(string)bt709,
> chroma-site=(string)mpeg2
> 19-07-24T22:53:14.120617 WARNING GST_PADS gstpad.c:4230 could not send
> sticky events
> 19-07-24T22:53:14.120740 WARNING qtmux gstqtmux.c:5118 pad video_0 refused
> renegotiation to video/x-h264,
> codec_data=(buffer)01640028ffe1001f67640028acd940780227e5c05a808080a0000003002000000303d1e30632c001000568ebecb22c,
> stream-format=(string)avc, alignment=(string)au, level=(string)4,
> profile=(string)high, width=(int)1920, height=(int)1080,
> pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)15/1,
> interlace-mode=(string)progressive, colorimetry=(string)bt709,
> chroma-site=(string)mpeg2
> 19-07-24T22:53:14.120822 WARNING qtmux gstqtmux.c:5118 pad video_0 refused
> renegotiation to video/x-h264,
> codec_data=(buffer)01640028ffe1001f67640028acd940780227e5c05a808080a0000003002000000303d1e30632c001000568ebecb22c,
> stream-format=(string)avc, alignment=(string)au, level=(string)4,
> profile=(string)high, width=(int)1920, height=(int)1080,
> pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)15/1,
> interlace-mode=(string)progressive, colorimetry=(string)bt709,
> chroma-site=(string)mpeg2
> 19-07-24T22:53:14.120896 WARNING qtmux gstqtmux.c:5118 pad video_0 refused
> renegotiation to video/x-h264,
> codec_data=(buffer)01640028ffe1001f67640028acd940780227e5c05a808080a0000003002000000303d1e30632c001000568ebecb22c,
> stream-format=(string)avc, alignment=(string)au, level=(string)4,
> profile=(string)high, width=(int)1920, height=(int)1080,
> pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)15/1,
> interlace-mode=(string)progressive, colorimetry=(string)bt709,
> chroma-site=(string)mpeg2
> 19-07-24T22:53:14.137918 WARNING qtdemux qtdemux.c:6607 error: Internal
> data stream error.
> 19-07-24T22:53:14.138040 WARNING qtdemux qtdemux.c:6607 error: streaming
> stopped, reason not-negotiated (-4)
> 19-07-24T22:53:14.138201 ERROR   pan CompositionJob.cpp:282
> GST_MESSAGE_ERROR received from element qtdemux5 at position 5465466666:
> Internal data stream error.
> ../gst-plugins-good/gst/isomp4/qtdemux.c(6607): gst_qtdemux_loop ():
> /GstPipeline:pipeline/GESTimeline:gestimeline0/GESVideoTrack:gesvideotrack0/NleComposition:video_nlecomposition1/GstBin:current-bin/NleSource:GESVideoUriSource:nlesource4/GstBin:videosrcbin/GstURIDecodeBin:uridecodebin2/GstDecodeBin:decodebin9/GstQTDemux:qtdemux5:
> streaming stopped, reason not-negotiated (-4)
>
>
> My questions are:
>
>    1. Why is this happening?
>    2. How can I fix it?
>
>
> TL;DR
>
> This issue was originally posted on another email thread, but I provided
> logs that were incomplete.
>
>
> http://gstreamer-devel.966125.n4.nabble.com/GES-1-16-0-caps-renegotiation-problem-td4691402.html
>
>
> _______________________________________________
> gstreamer-devel mailing listgstreamer-devel at lists.freedesktop.orghttps://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/20190726/45e7d89c/attachment-0001.html>


More information about the gstreamer-devel mailing list