<html><head><style>body{font-family:Helvetica,Arial;font-size:13px}</style></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><blockquote type="cite" style="border-left:1px #004080 solid !important;border-width:1px;margin-left:0px;padding-left:5px;">So, how exactly does it fail? :) </blockquote><div><br></div><div>Oh, i missed to explain that :). So, the Pipeline starts PLAYBACK and everything looks fine from publishing point of view.</div><div>Anyway if i try to play the video it seems that there are some gaps in synchronization. It plays sometimes fine for about 5 seconds using ffplay or gstreamer playbin.</div><div>When changing the multiqueue to „normal“ queue it doesn’t even start playing. As actually talking about, could you point me to a resource which describes when to choose which queue type in the pipeline?</div><div><br></div><div>So far the best results i get using </div><div><br></div><div><div>GST_DEBUG=4 gst-launch-1.0 -v \</div><div> filesrc location="/Users/reneVolution/WayBackHome_720P25_H264_High31_AACLC_2_CH_44100.mp4" ! queue ! qtdemux name="dmux" \</div><div> flvmux name="mux" streamable="true" ! queue ! rtmpsink location="rtmp://localhost/live/test live=1" \</div><div> dmux.video_0 ! multiqueue name="mq" ! 'video/x-h264,width=1280,height=720,framerate=(fraction)25/1' ! h264parse config-interval=2 ! mux. \</div><div> dmux.audio_0 ! mq. mq. ! "audio/mpeg,mpegversion=4,stream-format=raw" ! aacparse ! mux.</div></div><div><br></div><div><br></div><div>But it doesn’t play fine, after a few seconds an error message</div><div><br></div><div><div>ERROR: DECODING ERROR, IGNORING BYTES UNTIL NEXT KNOWN PATTERN!</div><div>ERROR: HandleMetadata, error decoding meta data packet</div><div>ERROR: DECODING ERROR, IGNORING BYTES UNTIL NEXT KNOWN PATTERN!</div><div>ERROR: DECODING ERROR, IGNORING BYTES UNTIL NEXT KNOWN PATTERN!</div></div><div><br></div><div>is thrown.</div><div><blockquote type="cite" style="border-left:1px #004080 solid !important;border-width:1px;margin-left:0px;padding-left:5px;">If you look at the debug logs (try GST_DEBUG=6), do you see that all <br>multiqueue pads are actually linked? Does it work better if you use <br>normal queues instead of a multiqueue? Does it work better if you <br>specify the exact pad names instead of letting gst-launch figure that <br>out? There is a bug with gst-launch that will cause linking to fail in a <br>few cases because it's choosing the wrong pads to link if you don't <br>specify them yourself with element_name.pad_name. </blockquote></div><div><br></div><div>Specifing the pad names doesn’t seem to make a difference. </div><div><br></div><div>But strange is that i’m able to find some issues with the multiqueue when grepping for „Could not"</div><div><br></div><div><div>0:00:00.150691000 62712 0x7f8f6150e400 DEBUG GST_ELEMENT_PADS gstutils.c:1102:GstPad *gst_element_get_compatible_pad(GstElement *, GstPad *, GstCaps *):<mux> Could not find a compatible unlinked always pad to link to aacparse0:src, now checking request pads</div><div>0:00:00.153813000 62712 0x7f8f6150e400 INFO default gstutils.c:1889:gboolean gst_element_link_pads_filtered(GstElement *, const gchar *, GstElement *, const gchar *, GstCaps *): Could not link pads: dmux:video_0 - mq:(null)</div><div>0:00:00.154315000 62712 0x7f8f6150e400 DEBUG GST_ELEMENT_PADS gstutils.c:1102:GstPad *gst_element_get_compatible_pad(GstElement *, GstPad *, GstCaps *):<mq> Could not find a compatible unlinked always pad to link to capsfilter0:sink, now checking request pads</div><div>0:00:00.154559000 62712 0x7f8f6150e400 INFO GST_ELEMENT_PADS gstutils.c:1123:GstPad *gst_element_get_compatible_pad(GstElement *, GstPad *, GstCaps *):<mq> Could not find a compatible pad to link to capsfilter0:sink</div><div>0:00:00.155370000 62712 0x7f8f6150e400 INFO default gstutils.c:1874:gboolean gst_element_link_pads_filtered(GstElement *, const gchar *, GstElement *, const gchar *, GstCaps *): Could not link pads: mq:(null) - capsfilter:sink</div><div>0:00:00.155700000 62712 0x7f8f6150e400 DEBUG GST_ELEMENT_PADS gstutils.c:1102:GstPad *gst_element_get_compatible_pad(GstElement *, GstPad *, GstCaps *):<mux> Could not find a compatible unlinked always pad to link to h264parse0:src, now checking request pads</div><div>0:00:00.156375000 62712 0x7f8f6150e400 INFO default gstutils.c:1889:gboolean gst_element_link_pads_filtered(GstElement *, const gchar *, GstElement *, const gchar *, GstCaps *): Could not link pads: dmux:audio_0 - mq:(null)</div><div>0:00:00.156781000 62712 0x7f8f6150e400 DEBUG GST_ELEMENT_PADS gstutils.c:1102:GstPad *gst_element_get_compatible_pad(GstElement *, GstPad *, GstCaps *):<mq> Could not find a compatible unlinked always pad to link to capsfilter1:sink, now checking request pads</div><div>0:00:00.157003000 62712 0x7f8f6150e400 INFO GST_ELEMENT_PADS gstutils.c:1123:GstPad *gst_element_get_compatible_pad(GstElement *, GstPad *, GstCaps *):<mq> Could not find a compatible pad to link to capsfilter1:sink</div><div>0:00:00.158244000 62712 0x7f8f6150e400 INFO default gstutils.c:1874:gboolean gst_element_link_pads_filtered(GstElement *, const gchar *, GstElement *, const gchar *, GstCaps *): Could not link pads: mq:(null) - capsfilter:sink</div><div>0:00:00.469011000 62712 0x7f8f618bf940 DEBUG GST_ELEMENT_PADS gstutils.c:1102:GstPad *gst_element_get_compatible_pad(GstElement *, GstPad *, GstCaps *):<mq> Could not find a compatible unlinked always pad to link to dmux:video_0, now checking request pads</div><div>0:00:00.474279000 62712 0x7f8f618bf940 DEBUG GST_ELEMENT_PADS gstutils.c:1102:GstPad *gst_element_get_compatible_pad(GstElement *, GstPad *, GstCaps *):<mq> Could not find a compatible unlinked always pad to link to capsfilter3:sink, now checking request pads</div><div>0:00:00.474536000 62712 0x7f8f618bf940 INFO GST_ELEMENT_PADS gstutils.c:1123:GstPad *gst_element_get_compatible_pad(GstElement *, GstPad *, GstCaps *):<mq> Could not find a compatible pad to link to capsfilter3:sink</div><div>0:00:00.475854000 62712 0x7f8f618bf940 INFO default gstutils.c:1874:gboolean gst_element_link_pads_filtered(GstElement *, const gchar *, GstElement *, const gchar *, GstCaps *): Could not link pads: mq:(null) - capsfilter:sink</div><div>0:00:00.478337000 62712 0x7f8f618bf940 DEBUG GST_ELEMENT_PADS gstutils.c:1102:GstPad *gst_element_get_compatible_pad(GstElement *, GstPad *, GstCaps *):<mq> Could not find a compatible unlinked always pad to link to capsfilter4:sink, now checking request pads</div><div>0:00:00.478588000 62712 0x7f8f618bf940 INFO GST_ELEMENT_PADS gstutils.c:1123:GstPad *gst_element_get_compatible_pad(GstElement *, GstPad *, GstCaps *):<mq> Could not find a compatible pad to link to capsfilter4:sink</div><div>0:00:00.479920000 62712 0x7f8f618bf940 INFO default gstutils.c:1874:gboolean gst_element_link_pads_filtered(GstElement *, const gchar *, GstElement *, const gchar *, GstCaps *): Could not link pads: mq:(null) - capsfilter:sink</div><div>0:00:00.482039000 62712 0x7f8f618bf940 INFO default gstutils.c:1889:gboolean gst_element_link_pads_filtered(GstElement *, const gchar *, GstElement *, const gchar *, GstCaps *): Could not link pads: dmux:audio_0 - mq:(null)</div><div>0:00:00.482361000 62712 0x7f8f618bf940 DEBUG GST_ELEMENT_PADS gstutils.c:1102:GstPad *gst_element_get_compatible_pad(GstElement *, GstPad *, GstCaps *):<mq> Could not find a compatible unlinked always pad to link to dmux:audio_0, now checking request pads</div></div><div><br></div><div>and when using queue:</div><div><br></div><div><div>0:00:00.170287000 62747 0x7fc681411c00 DEBUG GST_ELEMENT_PADS gstutils.c:1102:GstPad *gst_element_get_compatible_pad(GstElement *, GstPad *, GstCaps *):<mux> Could not find a compatible unlinked always pad to link to aacparse0:src, now checking request pads</div><div>0:00:00.173323000 62747 0x7fc681411c00 INFO default gstutils.c:1889:gboolean gst_element_link_pads_filtered(GstElement *, const gchar *, GstElement *, const gchar *, GstCaps *): Could not link pads: dmux:video_0 - queue2:(null)</div><div>0:00:00.175498000 62747 0x7fc681411c00 DEBUG GST_ELEMENT_PADS gstutils.c:1102:GstPad *gst_element_get_compatible_pad(GstElement *, GstPad *, GstCaps *):<mux> Could not find a compatible unlinked always pad to link to h264parse0:src, now checking request pads</div><div>0:00:00.176285000 62747 0x7fc681411c00 INFO default gstutils.c:1889:gboolean gst_element_link_pads_filtered(GstElement *, const gchar *, GstElement *, const gchar *, GstCaps *): Could not link pads: dmux:audio_0 - queue3:(null)</div><div>0:00:00.501436000 62747 0x7fc6820a02d0 INFO default gstutils.c:1889:gboolean gst_element_link_pads_filtered(GstElement *, const gchar *, GstElement *, const gchar *, GstCaps *): Could not link pads: dmux:audio_0 - queue3:(null)</div></div><div><br></div><div><br></div><div>What i don’t understand is if those links fail … how is it possible the pipeline reaches PLAYBACK state? :)</div><div><br></div><div>Thanks,</div><div>René</div><div><br></div><div><br></div><div><br></div></body></html>