<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>