<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Generally when i have issues where only the first frame gets
      drawn, it is a time stamping issue.</p>
    <p>The pipeline will preroll and pull the first frame, but then wait
      for data to match the current time clock.  The buffers you are
      supplying to the appsrc should be timestamped.  The videorate
      plugin might also work (it works really well with sources that
      sometimes have timestamps).  But when you tell appsrc format=time,
      it is expecting timestamps.  Or at least that is my understanding.</p>
    <p>In my situation, I have a pipeline that I pass frames to after
      the main pipeline has started, so I have to adjust each timestamp
      by an offset (this is on the new-sample callback on my appsink
      which feeds my appsrc).</p>
    <p><span style=" color:#5555ff;">GST_BUFFER_PTS</span><span style="
        color:#aaaaaa;">(</span>buffer<span style=" color:#aaaaaa;">)</span><span
        style=" color:#c0c0c0;"> </span><span style=" color:#aaaaaa;">=</span><span
        style=" color:#c0c0c0;"> </span><span style=" color:#5555ff;">GST_BUFFER_PTS</span><span
        style=" color:#aaaaaa;">(</span>buffer<span style="
        color:#aaaaaa;">)</span><span style=" color:#c0c0c0;"> </span><span
        style=" color:#aaaaaa;">- offset;<br>
      </span></p>
    <div class="moz-cite-prefix">Hopefully this helps!</div>
    <div class="moz-cite-prefix"><br>
    </div>
    <div class="moz-cite-prefix">On 11/18/2019 7:10 AM, Shishigami
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:1574089803584-0.post@n4.nabble.com">
      <pre class="moz-quote-pre" wrap="">I'm on Windows 10 using Gstreamer 1.16.1.

I'm trying to run two pipelines in parallel. Sender gets data from appsrc
(OpenCV) and writes them to UDP sink:

appsrc is-live=true format=time ! videoconvert ! video/x-raw, format=I420 !
x264enc speed-preset=superfast tune=zerolatency byte-stream=true
key-int-max=15 ! rtph264pay pt=96 config-interval=5 ! udpsink sync=false
host=localhost port=8553

Receiver reads from UDP source and uses gst-rtsp-server to provide an RTSP
stream:

udpsrc address=localhost port=8553 caps="application/x-rtp,
clock-rate=90000, payload=96" ! rtpjitterbuffer ! rtph264depay ! rtph264pay
name=pay0 pt=96

Opening the stream in VLC media player, the resulting frame from OpenCV does
show up, but it never changes. In Unreal Engine (target environment) the
stream opens fine, but it only shows a gray image.

I'm not sure if this is related, but I set GST_DEBUG and get the following
output from gst-rstp-server:

0:00:03.329599300  6124 0000024F68D88700 FIXME              rtspmedia
rtsp-media.c:4168:gst_rtsp_media_suspend: suspend for dynamic pipelines
needs fixing
0:00:03.329990500  6124 0000024F68D88700 WARN               rtspmedia
rtsp-media.c:4194:gst_rtsp_media_suspend: media 0000024F68DB3220 was not
prepared
0:00:03.339047900  6124 0000024F68D88700 FIXME             rtspclient
rtsp-client.c:1818:handle_play_request:<GstRTSPClient@0000024F68D89850> Add
support for seek style (null)
0:00:03.339776300  6124 0000024F68D88700 FIXME              rtspmedia
rtsp-media.c:2684:gst_rtsp_media_seek_full:<GstRTSPMedia@0000024F68DB3220>
Handle going back to 0 for none live not seekable streams.

I tried using fpsdisplaysink with the following pipeline (instead of
receiver) and that works:

gst-launch-1.0 -v udpsrc address=localhost port=8553
caps="application/x-rtp,clock-rate=90000,payload=96" ! rtpjitterbuffer !
rtph264depay ! decodebin ! videoconvert ! fpsdisplaysink

But the FPS is pretty bad, averaging at 2.29, which is a far cry from the 30
FPS I'm looking to achieve:
last-message = rendered: 240, dropped: 0, current: 2.25, average: 2.29

Why does it work with fpsdisplaysink but not RTSP? I'd highly highly
appreciate any help!



--
Sent from: <a class="moz-txt-link-freetext" href="http://gstreamer-devel.966125.n4.nabble.com/">http://gstreamer-devel.966125.n4.nabble.com/</a>
_______________________________________________
gstreamer-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></pre>
    </blockquote>
  </body>
</html>