<div dir="ltr">I found add capsfilter: video/x-h264,stream-format=byte-stream<div>can solve that problem.</div><div><br></div><div>My video info: ffmpeg -i easy_c.mp4</div><div>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</div><div>Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'easy_c.mp4':<br>  Metadata:<br>    major_brand     : isom<br>    minor_version   : 512<br>    compatible_brands: isomiso2avc1mp41<br>    encoder         : Lavf57.41.100<br>  Duration: 00:05:00.64, start: 0.000000, bitrate: 2714 kb/s<br>    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 2712 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)<br>    Metadata:<br>      handler_name    : VideoHandler<br></div><div><div>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</div><div><br></div></div><div>Sender:</div><div>gst-launch-1.0 -v filesrc location=easy_c.mp4 ! qtdemux ! h264parse ! video/x-h264,stream-format=byte-stream ! queue ! rtph264pay ! udpsink host=127.0.0.1<br></div><div><br></div><div>Receiver:</div><div>gst-launch-1.0 -v udpsrc address=127.0.0.1 caps="application/x-rtp" ! rtph264depay ! h264parse ! video/x-h264,stream-format=byte-stream ! queue ! avdec_h264 ! videoconvert ! ximagesink<br></div><div><br></div><div>Changes:</div><div>    turn the 'stream-format=avc' into 'stream-format=byte-stream'</div><div><br></div><div>Does you mp4 file's stream-format was byte-stream ?</div><div><br></div><div>//dengke</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 22, 2019 at 9:25 AM Mathieu Duponchelle <<a href="mailto:mathieu@centricular.com">mathieu@centricular.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF">
    The message says to add a queue, so maybe add a queue ;)<br>
    <br>
    <div class="gmail-m_4111071678124860734moz-cite-prefix">On 8/22/19 3:21 AM, Du Dengke wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">Thanks first!
        <div>Unluckily, it not works for me, I am regret to update the
          gstreamer from source code, maybe it mixs the 1.8.3 and
          1.16.0.</div>
        <div><br>
        </div>
        <div>Other words:</div>
        <div>when I decode the h264 and encode it in h264 in sender:</div>
        <div>    gst-launch-1.0 -v filesrc location=easy_c.mp4 ! qtdemux
          ! h264parse ! avdec_h264 ! x264enc ! rtph264pay ! udpsink
          host=127.0.0.1</div>
        <div><br>
        </div>
        <div>Result:</div>
        <div>    the receiver can show the video, but with much delay
          and drop a lot of frame:</div>
        <div>``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````</div>
        <div>WARNING: from element
          /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: Pipeline
          construction is invalid, please add queues.<br>
          Additional debug info:<br>
          ../libs/gst/base/gstbasesink.c(1218):
          gst_base_sink_query_latency ():
          /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0:<br>
          Not enough buffering available for  the processing deadline of
          0:00:00.015000000, add enough queues to buffer
           0:00:00.015000000 additional data. Shortening processing
          latency to 0:00:00.000000000.<br>
          WARNING: from element
          /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: A lot of
          buffers are being dropped.<br>
          Additional debug info:<br>
          ../libs/gst/base/gstbasesink.c(3005):
          gst_base_sink_is_too_late ():
          /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0:<br>
          There may be a timestamping problem, or this computer is too
          slow.<br>
          WARNING: from element
          /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: A lot of
          buffers are being dropped.<br>
          Additional debug info:<br>
          ../libs/gst/base/gstbasesink.c(3005):
          gst_base_sink_is_too_late ():
          /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0:<br>
          There may be a timestamping problem, or this computer is too
          slow.<br>
        </div>
        <div>``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````</div>
        <div><br>
        </div>
        <div>//dengke</div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Wed, Aug 21, 2019 at 9:40
          PM Mathieu Duponchelle <<a href="mailto:mathieu@centricular.com" target="_blank">mathieu@centricular.com</a>>
          wrote:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div bgcolor="#FFFFFF"> Hey,<br>
            <br>
            Try specifying a host on the udpsink and an address on the
            udpsrc, these pipelines work for me:<br>
            <br>
            Receiver:<br>
            <br>
            gst-launch-1.0 udpsrc caps="application/x-rtp"
            address=127.0.0.1 ! rtph264depay ! h264parse ! avdec_h264 !
            videoconvert ! queue ! xvimagesink<br>
            <br>
            Sender:<br>
            <br>
            gst-launch-1.0 filesrc
            location=/home/meh/Videos/small_ball.mp4 ! qtdemux !
            h264parse ! rtph264pay ! udpsink host=127.0.0.1<br>
            <br>
            <div class="gmail-m_4111071678124860734gmail-m_7286961379687788127moz-cite-prefix">On
              8/21/19 10:49 AM, Du Dengke wrote:<br>
            </div>
            <blockquote type="cite">
              <div dir="ltr">
                <div>Hi experts:</div>
                OS: Ubuntu 16.04.6 LTS<br>
                <div>Gstreamer Version: I update it to 1.16.0</div>
                <div><br>
                </div>
                <div>Sender and Receiver both on one machine.</div>
                <div><br>
                </div>
                <div>Sender:</div>
                <div>    GST_DEBUG=4 gst-launch-1.0 filesrc
                  location=easy_c.mp4 ! qtdemux ! h264parse ! rtph264pay
                  ! udpsink<br>
                </div>
                <div>I using wireshark to watch, all thing go well,
                  something like:</div>
                <div>    ......</div>
                <div>    31072 121.161706931 127.0.0.1 127.0.0.1 UDP
                  1442 51378 → 5004 Len=1400</div>
                <div>    ......</div>
                <div><br>
                </div>
                <div>Receiver:</div>
                <div>    GST_DEBUG=4 gst-launch-1.0 udpsrc
                  caps="application/x-rtp" ! rtph264depay ! h264parse !
                  avdec_h264 ! xvimagesink</div>
                <div><br>
                </div>
                <div>seems go well, but nothing appear, I take some log
                  here:</div>
                <div>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</div>
                <div>Setting pipeline to PLAYING ...<br>
                  0:00:00.020110200  4381      0x202cc00 INFO          
                      GST_EVENT gstevent.c:1450:gst_event_new_latency:
                  creating latency event 0:00:00.000000000<br>
                  0:00:00.020125274  4381      0x202cc00 INFO          
                            bin
                  gstbin.c:2780:gst_bin_do_latency_func:<pipeline0>
                  configured latency of 0:00:00.000000000<br>
                  0:00:00.020136579  4381      0x202cc00 INFO          
                     GST_STATES
                  gstbin.c:2503:gst_bin_element_set_state:<xvimagesink0>
                  current READY pending PAUSED, desired next PLAYING<br>
                  0:00:00.020142248  4381      0x202cc00 INFO          
                     GST_STATES
                  gstbin.c:2957:gst_bin_change_state_func:<pipeline0>
                  child 'xvimagesink0' is changing state asynchronously
                  to PLAYING<br>
                  0:00:00.020148377  4381      0x202cc00 INFO          
                     GST_STATES
                  gstbin.c:2503:gst_bin_element_set_state:<avdec_h264-0>
                  current PAUSED pending VOID_PENDING, desired next
                  PLAYING<br>
                  0:00:00.020154187  4381      0x202cc00 INFO          
                     GST_STATES
                  gstelement.c:2676:gst_element_continue_state:<avdec_h264-0>
                  completed state change to PLAYING<br>
                  0:00:00.020159424  4381      0x202cc00 INFO          
                     GST_STATES
                  gstelement.c:2579:_priv_gst_element_state_changed:<avdec_h264-0>
                  notifying about state-changed PAUSED to PLAYING
                  (VOID_PENDING pending)<br>
                  0:00:00.020166928  4381      0x202cc00 INFO          
                     GST_STATES
                  gstbin.c:2951:gst_bin_change_state_func:<pipeline0>
                  child 'avdec_h264-0' changed state to 4(PLAYING)
                  successfully<br>
                  0:00:00.020173149  4381      0x202cc00 INFO          
                     GST_STATES
                  gstbin.c:2503:gst_bin_element_set_state:<h264parse0>
                  current PAUSED pending VOID_PENDING, desired next
                  PLAYING<br>
                  0:00:00.020178564  4381      0x202cc00 INFO          
                     GST_STATES
                  gstelement.c:2676:gst_element_continue_state:<h264parse0>
                  completed state change to PLAYING<br>
                  0:00:00.020183568  4381      0x202cc00 INFO          
                     GST_STATES
                  gstelement.c:2579:_priv_gst_element_state_changed:<h264parse0>
                  notifying about state-changed PAUSED to PLAYING
                  (VOID_PENDING pending)<br>
                  0:00:00.020190138  4381      0x202cc00 INFO          
                     GST_STATES
                  gstbin.c:2951:gst_bin_change_state_func:<pipeline0>
                  child 'h264parse0' changed state to 4(PLAYING)
                  successfully<br>
                  0:00:00.020196292  4381      0x202cc00 INFO          
                     GST_STATES
                  gstbin.c:2503:gst_bin_element_set_state:<rtph264depay0>
                  current PAUSED pending VOID_PENDING, desired next
                  PLAYING<br>
                  0:00:00.020201631  4381      0x202cc00 INFO          
                     GST_STATES
                  gstelement.c:2676:gst_element_continue_state:<rtph264depay0>
                  completed state change to PLAYING<br>
                  0:00:00.020206440  4381      0x202cc00 INFO          
                     GST_STATES
                  gstelement.c:2579:_priv_gst_element_state_changed:<rtph264depay0>
                  notifying about state-changed PAUSED to PLAYING
                  (VOID_PENDING pending)<br>
                  0:00:00.020212854  4381      0x202cc00 INFO          
                     GST_STATES
                  gstbin.c:2951:gst_bin_change_state_func:<pipeline0>
                  child 'rtph264depay0' changed state to 4(PLAYING)
                  successfully<br>
                  0:00:00.020222030  4381      0x202cc00 INFO          
                     GST_STATES
                  gstelement.c:2676:gst_element_continue_state:<udpsrc0>
                  completed state change to PLAYING<br>
                  0:00:00.020228362  4381      0x202cc00 INFO          
                     GST_STATES
                  gstelement.c:2579:_priv_gst_element_state_changed:<udpsrc0>
                  notifying about state-changed PAUSED to PLAYING
                  (VOID_PENDING pending)<br>
                  0:00:00.020234673  4381      0x202cc00 INFO          
                     GST_STATES
                  gstbin.c:2951:gst_bin_change_state_func:<pipeline0>
                  child 'udpsrc0' changed state to 4(PLAYING)
                  successfully<br>
                  New clock: GstSystemClock<br>
                  0:01:17.678501741  4381      0x21460a0 INFO          
                      GST_EVENT gstevent.c:901:gst_event_new_segment:
                  creating segment event time segment
                  start=0:00:00.000000000, offset=0:00:00.000000000,
                  stop=99:99:99.999999999, rate=1.000000,
                  applied_rate=1.000000, flags=0x00,
                  time=0:00:00.000000000, base=0:00:00.000000000,
                  position 0:00:00.000000000, duration
                  99:99:99.999999999<br>
                  0:01:17.678521905  4381      0x21460a0 INFO          
                        basesrc
                  gstbasesrc.c:2962:gst_base_src_loop:<udpsrc0>
                  marking pending DISCONT<br>
                  0:01:17.678543028  4381      0x21460a0 INFO          
                      GST_EVENT gstevent.c:901:gst_event_new_segment:
                  creating segment event time segment
                  start=0:00:00.000000000, offset=0:00:00.000000000,
                  stop=99:99:99.999999999, rate=1.000000,
                  applied_rate=1.000000, flags=0x00,
                  time=0:00:00.000000000, base=0:00:00.000000000,
                  position 0:01:17.658403007, duration
                  99:99:99.999999999<br>
                </div>
                <div>
                  <div>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</div>
                  The receiver stop here.</div>
                <div><br>
                </div>
                <div>My question:</div>
                <div>    How to let me know the receiver receive the
                  packets, and why can't i play it?</div>
                <div><br>
                </div>
                <div>//dengke</div>
                <div><br>
                </div>
                <div><br>
                </div>
              </div>
              <br>
              <fieldset class="gmail-m_4111071678124860734gmail-m_7286961379687788127mimeAttachmentHeader"></fieldset>
              <pre class="gmail-m_4111071678124860734gmail-m_7286961379687788127moz-quote-pre">_______________________________________________
gstreamer-devel mailing list
<a class="gmail-m_4111071678124860734gmail-m_7286961379687788127moz-txt-link-abbreviated" href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a>
<a class="gmail-m_4111071678124860734gmail-m_7286961379687788127moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></pre>
            </blockquote>
          </div>
          _______________________________________________<br>
          gstreamer-devel mailing list<br>
          <a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
          <a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></blockquote>
      </div>
      <br>
      <fieldset class="gmail-m_4111071678124860734mimeAttachmentHeader"></fieldset>
      <pre class="gmail-m_4111071678124860734moz-quote-pre">_______________________________________________
gstreamer-devel mailing list
<a class="gmail-m_4111071678124860734moz-txt-link-abbreviated" href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a>
<a class="gmail-m_4111071678124860734moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></pre>
    </blockquote>
  </div>

_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></blockquote></div>