Delayed frames when using AppSink (similar pipeline works with glimagesink)

Benjamin Behringer behringerben at gmail.com
Mon May 28 13:50:06 UTC 2018


Hi,

I already asked this question in the gstreamer-java group, but it might not
be a problem related to the Java bindings:
https://groups.google.com/forum/#!topic/gstreamer-java/Wj1buaui0j0

To my problem: the following gst-launch command fetches and displays my
h264 video stream from my camera very well and without any delay (see the
verbose at the end of this message):

gst-launch-1.0 -v rtspsrc location=rtsp://127.0.0.1:9099/vga latency=0 !
decodebin ! videoconvert ! glimagesink sync=false
I have a Java application where I use a similar pipeline, but with an
AppSink instead. In fact, I use this sink to analyze individual sample
images. Here's a snippet:

final Pipeline pipe = Pipeline.launch("rtspsrc
location=rtsp://127.0.0.1:9099/vga latency=0 ! decodebin !
videoconvert name=mystream ");
AppSink videosink = new AppSink("GstVideoComponent");

StringBuilder caps = new StringBuilder("video/x-raw, format=RGBA, sync=false");
videosink.setCaps(new Caps(caps.toString()));

videosink.set("sync", false);

videosink.set("emit-signals", true);
videosink.set("drop", true);
AppSinkListener sinkListener = new AppSinkListener();
videosink.connect(sinkListener);
pipe.add(videosink);
pipe.getElementByName("mystream").link(videosink);
pipe.setState(State.PAUSED);

pipe.play();
pipe.setState(State.PLAYING);


My AppSinkListener receives the samples and writes them to disk (for
testing purposes, i.e., I inspect each image manually):

@Override
public FlowReturn newSample(AppSink appSink) {
   final Sample sample = appSink.pullSample();
   final Buffer buffer = sample.getBuffer();
   final ByteBuffer newByteBuffer = buffer.map(false);
   if (newByteBuffer != null) {
      Structure capsStruct = sample.getCaps().getStructure(0);
      int width = capsStruct.getInteger("width");
      int height = capsStruct.getInteger("height");
      IntBuffer rgbBuffer = newByteBuffer.asIntBuffer();
      final BufferedImage renderImage = new BufferedImage(width,
height, BufferedImage.TYPE_INT_BGR);
      int[] pixels = ((DataBufferInt)
renderImage.getRaster().getDataBuffer()).getData();
      rgbBuffer.get(pixels, 0, width * height);
      testWriteImage(renderImage);
   }
   buffer.unmap();
   sample.dispose();
   return FlowReturn.OK;

}


private void testWriteImage(final BufferedImage bufferedImage){
   new Thread(){
      public void run(){
         try {
            ImageIO.write(bufferedImage, "jpg", new File(
                  "/root/data/screenshots/" + globalCounter + "_" +
Time.getTick() + ".jpg"));
         } catch (IOException e) {
            e.printStackTrace();
         }
      }
   }.start();
}


Notice that, I'll not write images to disk, but just process them in
my final application. However, using the described approach I have a
heavy delay of about 8 seconds. That is, I can move something in front
of the camera, but the resulting images show the object after about 8
seconds.

Below, I attached the verbose output of gst-launch, which works fine.

Appreciate any ideas!

Cheers,
Ben

gst-launch-1.0 -v rtspsrc location=rtsp://127.0.0.1/vga latency=0 !
decodebin ! videoconvert ! glimagesink sync=false

Leitung wird auf PAUSIERT gesetzt ...

Leitung ist aktiv und erfordert keinen VORLAUF ?

Kontext von Element ?sink? erhalten: gst.gl.GLDisplay=context,
gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayCocoa\)\
gldisplaycocoa0";

Fortschritt: (open) Opening Stream

Fortschritt: (connect) Connecting to rtsp://192.168.8.25:9099/high

Fortschritt: (open) Retrieving server options

Fortschritt: (open) Retrieving media info

Fortschritt: (request) SETUP stream 0

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager: latency = 0

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager: ntp-sync = false

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager:
rfc7273-sync = false

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager:
ntp-time-source = NTP time based on realtime clock

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager:
drop-on-latency = false

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager:
max-rtcp-rtp-time-diff = 1000

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager:
max-ts-offset-adjustment = 0

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager:
buffer-mode = Slave receiver to sender clock

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc1: timeout
= 5000000000

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc1: caps =
application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc2: caps =
application/x-rtcp

Fortschritt: (open) Opened Stream

Leitung wird auf ABSPIELEN gesetzt ...

New clock: GstSystemClock

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager:
buffer-mode = Slave receiver to sender clock

Fortschritt: (request) Sending PLAY request

Fortschritt: (request) Sending PLAY request

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc1: caps =
application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229,
clock-base=(uint)352250410, seqnum-base=(uint)18114,
npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1

Fortschritt: (request) Sent PLAY request

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc2.GstPad:src:
caps = application/x-rtcp

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager.GstGhostPad:recv_rtcp_sink_0.GstProxyPad:proxypad3:
caps = application/x-rtcp

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc1.GstPad:src:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229,
clock-base=(uint)352250410, seqnum-base=(uint)18114,
npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc1.GstPad:src:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229,
clock-base=(uint)352250410, seqnum-base=(uint)18114,
npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager.GstGhostPad:recv_rtcp_sink_0:
caps = application/x-rtcp

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager.GstGhostPad:recv_rtp_sink_0.GstProxyPad:proxypad2:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229,
clock-base=(uint)352250410, seqnum-base=(uint)18114,
npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager/GstFunnel:funnel0.GstFunnelPad:funnelpad0:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229,
clock-base=(uint)352250410, seqnum-base=(uint)18114,
npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager.GstGhostPad:recv_rtp_sink_0:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229,
clock-base=(uint)352250410, seqnum-base=(uint)18114,
npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc1: timeout = 0

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager/GstFunnel:funnel0.GstPad:src:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229,
clock-base=(uint)352250410, seqnum-base=(uint)18114,
npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager/GstRtpSession:rtpsession0.GstPad:recv_rtp_src:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229,
clock-base=(uint)352250410, seqnum-base=(uint)18114,
npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager/GstRtpStorage:rtpstorage0.GstPad:src:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229,
clock-base=(uint)352250410, seqnum-base=(uint)18114,
npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:sink:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229,
clock-base=(uint)352250410, seqnum-base=(uint)18114,
npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager/GstRtpStorage:rtpstorage0.GstPad:sink:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229,
clock-base=(uint)352250410, seqnum-base=(uint)18114,
npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager/GstRtpSession:rtpsession0.GstPad:recv_rtp_sink:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229,
clock-base=(uint)352250410, seqnum-base=(uint)18114,
npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229,
clock-base=(uint)352250410, seqnum-base=(uint)18114,
npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:src:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229,
clock-base=(uint)352250410, seqnum-base=(uint)18114,
npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager/GstRtpPtDemux:rtpptdemux0.GstPad:sink:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229,
clock-base=(uint)352250410, seqnum-base=(uint)18114,
npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1

/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:sink.GstProxyPad:proxypad0:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229,
clock-base=(uint)352250410, seqnum-base=(uint)18114,
npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1

/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229,
clock-base=(uint)352250410, seqnum-base=(uint)18114,
npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1

/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstH264Parse:h264parse0.GstPad:src:
caps = video/x-h264, stream-format=(string)avc, alignment=(string)au,
codec_data=(buffer)0142401effe100096742401ea680a03d9001000468ce3c80,
level=(string)3, profile=(string)constrained-baseline, width=(int)640,
height=(int)480, framerate=(fraction)0/1,
interlace-mode=(string)progressive, chroma-format=(string)4:2:0,
bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true

/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstVtdecHw:vtdechw0.GstPad:src:
caps = video/x-raw, format=(string)NV12, width=(int)640,
height=(int)480, interlace-mode=(string)progressive,
multiview-mode=(string)mono,
multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono,
pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg,
colorimetry=(string)bt601, framerate=(fraction)0/1

/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstVtdecHw:vtdechw0.GstPad:sink:
caps = video/x-h264, stream-format=(string)avc, alignment=(string)au,
codec_data=(buffer)0142401effe100096742401ea680a03d9001000468ce3c80,
level=(string)3, profile=(string)constrained-baseline, width=(int)640,
height=(int)480, framerate=(fraction)0/1,
interlace-mode=(string)progressive, chroma-format=(string)4:2:0,
bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true

/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstCapsFilter:capsfilter0.GstPad:src:
caps = video/x-h264, stream-format=(string)avc, alignment=(string)au,
codec_data=(buffer)0142401effe100096742401ea680a03d9001000468ce3c80,
level=(string)3, profile=(string)constrained-baseline, width=(int)640,
height=(int)480, framerate=(fraction)0/1,
interlace-mode=(string)progressive, chroma-format=(string)4:2:0,
bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true

/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstCapsFilter:capsfilter0.GstPad:sink:
caps = video/x-h264, stream-format=(string)avc, alignment=(string)au,
codec_data=(buffer)0142401effe100096742401ea680a03d9001000468ce3c80,
level=(string)3, profile=(string)constrained-baseline, width=(int)640,
height=(int)480, framerate=(fraction)0/1,
interlace-mode=(string)progressive, chroma-format=(string)4:2:0,
bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true

/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstH264Parse:h264parse0.GstPad:sink:
caps = video/x-h264, stream-format=(string)avc, alignment=(string)au,
codec_data=(buffer)0142401effe100096742401ea680a03d9001000468ce3c80,
level=(string)3, profile=(string)constrained-baseline

/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstRtpH264Depay:rtph264depay0.GstPad:src:
caps = video/x-h264, stream-format=(string)avc, alignment=(string)au,
codec_data=(buffer)0142401effe100096742401ea680a03d9001000468ce3c80,
level=(string)3, profile=(string)constrained-baseline

/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstRtpH264Depay:rtph264depay0.GstPad:sink:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229,
clock-base=(uint)352250410, seqnum-base=(uint)18114,
npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1

/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:sink:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229,
clock-base=(uint)352250410, seqnum-base=(uint)18114,
npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1

/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:sink: caps
= application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229,
clock-base=(uint)352250410, seqnum-base=(uint)18114,
npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0.GstGhostPad:recv_rtp_src_0_1894085229_96.GstProxyPad:proxypad6:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229,
clock-base=(uint)352250410, seqnum-base=(uint)18114,
npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager.GstGhostPad:recv_rtp_src_0_1894085229_96.GstProxyPad:proxypad5:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)H264,
packetization-mode=(string)1, profile-level-id=(string)42401e,
sprop-parameter-sets=(string)"Z0JAHqaAoD2Q\,aM48gA\=\=",
a-tool=(string)GStreamer, a-type=(string)broadcast,
a-framerate=(string)15, a-ts-refclk=(string)local,
a-mediaclk=(string)sender, ssrc=(uint)1894085229,
clock-base=(uint)352250410, seqnum-base=(uint)18114,
npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1

/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:src: caps
= video/x-raw, format=(string)NV12, width=(int)640, height=(int)480,
interlace-mode=(string)progressive, multiview-mode=(string)mono,
multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono,
pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg,
colorimetry=(string)bt601, framerate=(fraction)0/1

/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0.GstGhostPad:sink.GstProxyPad:proxypad1:
caps = video/x-raw, format=(string)NV12, width=(int)640,
height=(int)480, interlace-mode=(string)progressive,
multiview-mode=(string)mono,
multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono,
pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg,
colorimetry=(string)bt601, framerate=(fraction)0/1

/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLUploadElement:gluploadelement0.GstPad:src:
caps = video/x-raw(memory:GLMemory), format=(string)NV12,
width=(int)640, height=(int)480, interlace-mode=(string)progressive,
multiview-mode=(string)mono,
multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono,
pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg,
colorimetry=(string)bt601, framerate=(fraction)0/1,
texture-target=(string)2D

/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLColorConvertElement:glcolorconvertelement0.GstPad:src:
caps = video/x-raw(memory:GLMemory), format=(string)RGBA,
width=(int)640, height=(int)480, interlace-mode=(string)progressive,
multiview-mode=(string)mono,
multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono,
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)0/1,
texture-target=(string)2D

/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLColorBalance:glcolorbalance0.GstPad:src:
caps = video/x-raw(memory:GLMemory), format=(string)RGBA,
width=(int)640, height=(int)480, interlace-mode=(string)progressive,
multiview-mode=(string)mono,
multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono,
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)0/1,
texture-target=(string)2D

/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink.GstPad:sink:
caps = video/x-raw(memory:GLMemory), format=(string)RGBA,
width=(int)640, height=(int)480, interlace-mode=(string)progressive,
multiview-mode=(string)mono,
multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono,
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)0/1,
texture-target=(string)2D

/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLColorBalance:glcolorbalance0.GstPad:sink:
caps = video/x-raw(memory:GLMemory), format=(string)RGBA,
width=(int)640, height=(int)480, interlace-mode=(string)progressive,
multiview-mode=(string)mono,
multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono,
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)0/1,
texture-target=(string)2D

/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLColorConvertElement:glcolorconvertelement0.GstPad:sink:
caps = video/x-raw(memory:GLMemory), format=(string)NV12,
width=(int)640, height=(int)480, interlace-mode=(string)progressive,
multiview-mode=(string)mono,
multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono,
pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg,
colorimetry=(string)bt601, framerate=(fraction)0/1,
texture-target=(string)2D

/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLUploadElement:gluploadelement0.GstPad:sink:
caps = video/x-raw, format=(string)NV12, width=(int)640,
height=(int)480, interlace-mode=(string)progressive,
multiview-mode=(string)mono,
multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono,
pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg,
colorimetry=(string)bt601, framerate=(fraction)0/1

/GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0.GstGhostPad:sink:
caps = video/x-raw, format=(string)NV12, width=(int)640,
height=(int)480, interlace-mode=(string)progressive,
multiview-mode=(string)mono,
multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono,
pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg,
colorimetry=(string)bt601, framerate=(fraction)0/1

/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:sink: caps
= video/x-raw, format=(string)NV12, width=(int)640, height=(int)480,
interlace-mode=(string)progressive, multiview-mode=(string)mono,
multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono,
pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)jpeg,
colorimetry=(string)bt601, framerate=(fraction)0/1

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager/GstRtpSession:rtpsession0:
stats = application/x-rtp-session-stats, rtx-drop-count=(uint)0,
sent-nack-count=(uint)0, recv-nack-count=(uint)0,
source-stats=(GValueArray)< "application/x-rtp-source-stats\,\
ssrc\=\(uint\)1894085229\,\ internal\=\(boolean\)false\,\
validated\=\(boolean\)true\,\ received-bye\=\(boolean\)false\,\
is-csrc\=\(boolean\)false\,\ is-sender\=\(boolean\)true\,\
seqnum-base\=\(int\)-1\,\ clock-rate\=\(int\)90000\,\
rtp-from\=\(string\)127.0.0.1:45036 <http://192.168.8.25:45036/>\,\
octets-sent\=\(guint64\)0\,\ packets-sent\=\(guint64\)0\,\
octets-received\=\(guint64\)20292\,\
packets-received\=\(guint64\)57\,\ bitrate\=\(guint64\)0\,\
packets-lost\=\(int\)0\,\ jitter\=\(uint\)46\,\
sent-pli-count\=\(uint\)0\,\ recv-pli-count\=\(uint\)0\,\
sent-fir-count\=\(uint\)0\,\ recv-fir-count\=\(uint\)0\,\
sent-nack-count\=\(uint\)0\,\ recv-nack-count\=\(uint\)0\,\
have-sr\=\(boolean\)false\,\ sr-ntptime\=\(guint64\)0\,\
sr-rtptime\=\(uint\)0\,\ sr-octet-count\=\(uint\)0\,\
sr-packet-count\=\(uint\)0\,\ sent-rb\=\(boolean\)true\,\
sent-rb-fractionlost\=\(uint\)0\,\ sent-rb-packetslost\=\(int\)0\,\
sent-rb-exthighestseq\=\(uint\)18171\,\ sent-rb-jitter\=\(uint\)46\,\
sent-rb-lsr\=\(uint\)0\,\ sent-rb-dlsr\=\(uint\)0\,\
have-rb\=\(boolean\)false\,\ rb-fractionlost\=\(uint\)0\,\
rb-packetslost\=\(int\)0\,\ rb-exthighestseq\=\(uint\)0\,\
rb-jitter\=\(uint\)0\,\ rb-lsr\=\(uint\)0\,\ rb-dlsr\=\(uint\)0\,\
rb-round-trip\=\(uint\)0\;", "application/x-rtp-source-stats\,\
ssrc\=\(uint\)3080289945\,\ internal\=\(boolean\)true\,\
validated\=\(boolean\)true\,\ received-bye\=\(boolean\)false\,\
is-csrc\=\(boolean\)false\,\ is-sender\=\(boolean\)false\,\
seqnum-base\=\(int\)-1\,\ clock-rate\=\(int\)-1\,\
octets-sent\=\(guint64\)0\,\ packets-sent\=\(guint64\)0\,\
octets-received\=\(guint64\)0\,\ packets-received\=\(guint64\)0\,\
bitrate\=\(guint64\)0\,\ packets-lost\=\(int\)0\,\
jitter\=\(uint\)0\,\ sent-pli-count\=\(uint\)0\,\
recv-pli-count\=\(uint\)0\,\ sent-fir-count\=\(uint\)0\,\
recv-fir-count\=\(uint\)0\,\ sent-nack-count\=\(uint\)0\,\
recv-nack-count\=\(uint\)0\,\ have-sr\=\(boolean\)false\,\
sr-ntptime\=\(guint64\)0\,\ sr-rtptime\=\(uint\)0\,\
sr-octet-count\=\(uint\)0\,\ sr-packet-count\=\(uint\)0\;" >,
rtx-count=(uint)0;

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager/GstRtpSession:rtpsession0.GstPad:send_rtcp_src:
caps = application/x-rtcp

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager.GstGhostPad:send_rtcp_src_0:
caps = application/x-rtcp

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSink:udpsink1.GstPad:sink:
caps = application/x-rtcp

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager.GstGhostPad:send_rtcp_src_0.GstProxyPad:proxypad4:
caps = application/x-rtcp

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager/GstFunnel:funnel1.GstPad:src:
caps = application/x-rtcp

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager/GstRtpSession:rtpsession0.GstPad:sync_src:
caps = application/x-rtcp

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_sink:
caps = application/x-rtcp

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager/GstRtpSession:rtpsession0.GstPad:recv_rtcp_sink:
caps = application/x-rtcp

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_src_1894085229:
caps = application/x-rtcp, ssrc=(uint)1894085229

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink_rtcp:
caps = application/x-rtcp, ssrc=(uint)1894085229

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRtpBin:manager/GstRtpSession:rtpsession0:
stats = application/x-rtp-session-stats, rtx-drop-count=(uint)0,
sent-nack-count=(uint)0, recv-nack-count=(uint)0,
source-stats=(GValueArray)< "application/x-rtp-source-stats\,\
ssrc\=\(uint\)1894085229\,\ internal\=\(boolean\)false\,\
validated\=\(boolean\)true\,\ received-bye\=\(boolean\)false\,\
is-csrc\=\(boolean\)false\,\ is-sender\=\(boolean\)true\,\
seqnum-base\=\(int\)-1\,\ clock-rate\=\(int\)90000\,\
rtp-from\=\(string\)127.0.0.1:45036 <http://192.168.8.25:45036/>\,\
rtcp-from\=\(string\)192.168.8.25:45037\,\
octets-sent\=\(guint64\)0\,\ packets-sent\=\(guint64\)0\,\
octets-received\=\(guint64\)26321\,\
packets-received\=\(guint64\)97\,\ bitrate\=\(guint64\)79824\,\
packets-lost\=\(int\)0\,\ jitter\=\(uint\)34\,\
sent-pli-count\=\(uint\)0\,\ recv-pli-count\=\(uint\)0\,\
sent-fir-count\=\(uint\)0\,\ recv-fir-count\=\(uint\)0\,\
sent-nack-count\=\(uint\)0\,\ recv-nack-count\=\(uint\)0\,\
have-sr\=\(boolean\)true\,\
sr-ntptime\=\(guint64\)16046964652339551275\,\
sr-rtptime\=\(uint\)352419510\,\ sr-octet-count\=\(uint\)20394\,\
sr-packet-count\=\(uint\)78\,\ sent-rb\=\(boolean\)true\,\
sent-rb-fractionlost\=\(uint\)0\,\ sent-rb-packetslost\=\(int\)0\,\
sent-rb-exthighestseq\=\(uint\)18171\,\ sent-rb-jitter\=\(uint\)46\,\
sent-rb-lsr\=\(uint\)0\,\ sent-rb-dlsr\=\(uint\)0\,\
have-rb\=\(boolean\)false\,\ rb-fractionlost\=\(uint\)0\,\
rb-packetslost\=\(int\)0\,\ rb-exthighestseq\=\(uint\)0\,\
rb-jitter\=\(uint\)0\,\ rb-lsr\=\(uint\)0\,\ rb-dlsr\=\(uint\)0\,\
rb-round-trip\=\(uint\)0\;", "application/x-rtp-source-stats\,\
ssrc\=\(uint\)3080289945\,\ internal\=\(boolean\)true\,\
validated\=\(boolean\)true\,\ received-bye\=\(boolean\)false\,\
is-csrc\=\(boolean\)false\,\ is-sender\=\(boolean\)false\,\
seqnum-base\=\(int\)-1\,\ clock-rate\=\(int\)-1\,\
octets-sent\=\(guint64\)0\,\ packets-sent\=\(guint64\)0\,\
octets-received\=\(guint64\)0\,\ packets-received\=\(guint64\)0\,\
bitrate\=\(guint64\)0\,\ packets-lost\=\(int\)0\,\
jitter\=\(uint\)0\,\ sent-pli-count\=\(uint\)0\,\
recv-pli-count\=\(uint\)0\,\ sent-fir-count\=\(uint\)0\,\
recv-fir-count\=\(uint\)0\,\ sent-nack-count\=\(uint\)0\,\
recv-nack-count\=\(uint\)0\,\ have-sr\=\(boolean\)false\,\
sr-ntptime\=\(guint64\)0\,\ sr-rtptime\=\(uint\)0\,\
sr-octet-count\=\(uint\)0\,\ sr-packet-count\=\(uint\)0\;" >,
rtx-count=(uint)0;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20180528/f2e80b0b/attachment-0001.html>


More information about the gstreamer-devel mailing list