<div dir="ltr">You could try using parser between encoder and mux <a href="https://gstreamer.freedesktop.org/documentation/videoparsersbad/h264parse.html?gi-language=c">https://gstreamer.freedesktop.org/documentation/videoparsersbad/h264parse.html?gi-language=c</a><div>Some sinks and muxes requires metadata in caps, which could added by the videoparser element.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Feb 13, 2023 at 5:43 PM Nick Kitchel via gstreamer-devel <<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div class="msg2862694981094671234">




<div dir="ltr">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0);background-color:rgb(255,255,255)">
Ok thats helpful to look into. Is it true that for each element in the middle that the src -> sink needs to match??
<br>
<br>
So the x264enc.src -> mp4mux.sink needs to match?<br>
<br>
I wanted to confirm this because I'm struggling to figure this out.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0);background-color:rgb(255,255,255)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0);background-color:rgb(255,255,255)">
Let me know,</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0);background-color:rgb(255,255,255)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0);background-color:rgb(255,255,255)">
Thanks,</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0);background-color:rgb(255,255,255)">
Nick<br>
</div>
<div id="m_-3494613669750680568appendonsend"></div>
<hr style="display:inline-block;width:98%">
<div id="m_-3494613669750680568divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Marianna Smidth Buschle <<a href="mailto:msb@qtec.com" target="_blank">msb@qtec.com</a>><br>
<b>Sent:</b> Thursday, February 9, 2023 12:26 AM<br>
<b>To:</b> <a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a> <<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a>><br>
<b>Cc:</b> Nick Kitchel <<a href="mailto:nkitchel@ihmc.org" target="_blank">nkitchel@ihmc.org</a>><br>
<b>Subject:</b> Re: Internal data stream error</font>
<div> </div>
</div>
<div><font size="2"><span style="font-size:11pt">
<div>> streaming stopped, reason not-negotiated (-4)<br>
<br>
Means incompatible CAPS.<br>
<br>
You can try debugging by adding '--gst-debug=*:3,GST_CAPS:5'<br>
<br>
This should hopefully give you more information on the offered and <br>
accepted CAPS.<br>
<br>
Otherwise it is always a good idea to simplify the pipeline in order to <br>
test where the problem is.<br>
Fx use a 'fakesink' or 'videotestsrc' to replace parts of your pipeline.<br>
<br>
gst-launch-1.0 decklinkvideosrc connection=sdi ! fakesink -v --gst-debug=*:3,GST_CAPS:5<br>
<br>
gst-launch-1.0 decklinkvideosrc connection=sdi ! video/x-raw, width=720, height=486, framerate=30000/1001 ! fakesink -v --gst-debug=*:3,GST_CAPS:5<br>
<br>
gst-launch-1.0 decklinkvideosrc connection=sdi ! videoconvert ! x264enc ! fakesink -v --gst-debug=*:3,GST_CAPS:5<br>
<br>
gst-launch-1.0 decklinkvideosrc connection=sdi ! video/x-raw, width=720, height=486, framerate=30000/1001<br>
  ! videoconvert ! x264enc ! fakesink -v --gst-debug=*:3,GST_CAPS:5<br>
<br>
gst-launch-1.0 videtestsrc ! videoconvert ! x264enc ! video/x-h264, width=720, height=486, framerate=30000/1001 ! fakesink -v --gst-debug=*:3,GST_CAPS:5<br>
<br>
And so on...<br>
<br>
Best Regards<br>
Marianna<br>
<br>
On 08.02.2023 20.59, <a href="mailto:gstreamer-devel-request@lists.freedesktop.org" target="_blank">gstreamer-devel-request@lists.freedesktop.org</a> wrote:<br>
> Message: 1<br>
> Date: Wed, 8 Feb 2023 19:44:19 +0000<br>
> From: Nick Kitchel<<a href="mailto:nkitchel@ihmc.org" target="_blank">nkitchel@ihmc.org</a>><br>
> To:"<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a>"<br>
>        <<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a>><br>
> Subject: Internal data stream error<br>
> Message-ID:<br>
>        <<a href="mailto:BL3PR04MB8089ECD025787FBF89F1B497BBD89@BL3PR04MB8089.namprd04.prod.outlook.com" target="_blank">BL3PR04MB8089ECD025787FBF89F1B497BBD89@BL3PR04MB8089.namprd04.prod.outlook.com</a>><br>
>        <br>
> Content-Type: text/plain; charset="iso-8859-1"<br>
><br>
> Hello,<br>
><br>
> I'm trying to get decklinkvideosrc to work with x264enc and mp4mux but seem to be getting stuck. I've been messing around with the caps but can't get it working correctly.<br>
><br>
> When I run this command line: gst-launch-1.0 decklinkvideosrc connection=sdi ! videoconvert ! x264enc ! video/x-h264, width=720, height=486, framerate=30000/1001 ! mp4mux ! filesink location=decklinkCapture.mov -v<br>
><br>
> I get this output :<br>
><br>
> Setting pipeline to PAUSED ...<br>
> Pipeline is live and does not need PREROLL ...<br>
> /GstPipeline:pipeline0/GstDecklinkVideoSrc:decklinkvideosrc0: hw-serial-number =<br>
> Setting pipeline to PLAYING ...<br>
> New clock: GstSystemClock<br>
> /GstPipeline:pipeline0/GstDecklinkVideoSrc:decklinkvideosrc0.GstPad:src: caps = video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)30000/1001, field-order=(string)bottom-field-first,
 format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2<br>
> /GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:src: caps = video/x-raw, width=(int)720, height=(int)486, framerate=(fraction)30000/1001, format=(string)Y42B, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, field-order=(string)bottom-field-first<br>
> Redistribute latency...<br>
> /GstPipeline:pipeline0/GstX264Enc:x264enc0.GstPad:sink: caps = video/x-raw, width=(int)720, height=(int)486, framerate=(fraction)30000/1001, format=(string)Y42B, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, field-order=(string)bottom-field-first<br>
> /GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:sink: caps = video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)30000/1001, field-order=(string)bottom-field-first,
 format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2<br>
> Redistribute latency...<br>
> /GstPipeline:pipeline0/GstDecklinkVideoSrc:decklinkvideosrc0: signal = false<br>
> WARNING: from element /GstPipeline:pipeline0/GstDecklinkVideoSrc:decklinkvideosrc0: No signal<br>
> Additional debug info:<br>
> gstdecklinkvideosrc.cpp(1118): gst_decklink_video_src_create (): /GstPipeline:pipeline0/GstDecklinkVideoSrc:decklinkvideosrc0:<br>
> No input source was detected - video frames invalid<br>
> /GstPipeline:pipeline0/GstDecklinkVideoSrc:decklinkvideosrc0.GstPad:src: caps = video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)UYVY, colorimetry=(string)bt709,
 chroma-site=(string)mpeg2<br>
> Redistribute latency...<br>
> /GstPipeline:pipeline0/GstDecklinkVideoSrc:decklinkvideosrc0: signal = true<br>
> INFO:<br>
> gstdecklinkvideosrc.cpp(1125): gst_decklink_video_src_create (): /GstPipeline:pipeline0/GstDecklinkVideoSrc:decklinkvideosrc0:<br>
> Input source detected<br>
> ERROR: from element /GstPipeline:pipeline0/GstDecklinkVideoSrc:decklinkvideosrc0: Internal data stream error.<br>
> Additional debug info:<br>
> gstbasesrc.c(3072): gst_base_src_loop (): /GstPipeline:pipeline0/GstDecklinkVideoSrc:decklinkvideosrc0:<br>
> streaming stopped, reason not-negotiated (-4)<br>
> Execution ended after 0:00:00.145124701<br>
> Setting pipeline to NULL ...<br>
> Freeing pipeline ...<br>
><br>
> I'm not sure where the caps are going wrong. Any help would be appreciated. Also is there any place where I can see what encoders go with specific muxers? It seems I just have to google the element and hope the results is good enough to show me what else
 I can use with it.<br>
><br>
> Thanks,<br>
> Nick<br>
<br>
-- <br>
Best regards / Med venlig hilsen<br>
“Marianna Smidth Buschle”<br>
<br>
</div>
</span></font></div>
</div>

</div></blockquote></div>