Thanks for the reply. I have tried that in many combinations. The pipeline I listed was an explicit one, I switched to using decodebin and it does select nvv4l2decoder. Here’s more information if it helps:
user@nano:~$ gst-launch-1.0 -v pipeline. \( latency=0 udpsrc uri=udp://@239.255.133.60:4444 ! decodebin ! queue ! nvoverlaysink sync=true \)
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTSDemux:tsdemux0.GstPad:sink: caps = video/mpegts, systemstream=(boolean)true, packetsize=(int)188
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0.GstPad:src_0: caps = video/mpeg, mpegversion=(int)2, systemstream=(boolean)false
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMpegvParse:mpegvparse0.GstPad:sink: caps = video/mpeg, mpegversion=(int)2, systemstream=(boolean)false
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0: max-size-buffers = 5
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0: max-size-time = 0
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0: max-size-bytes = 2097152
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_0: caps = video/mpeg, mpegversion=(int)2, systemstream=(boolean)false
Opening in BLOCKING MODE
NvMMLiteOpen : Block : BlockType = 267
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NvMMLiteBlockCreate : Block : BlockType = 267
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/nvv4l2decoder:nvv4l2decoder0.GstPad:sink: caps = video/mpeg, mpegversion=(int)2, systemstream=(boolean)false, parsed=(boolean)true, width=(int)720, height=(int)480, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)8/9, codec_data=(buffer)000001b32d01e0240697a380000001b5148200010000, profile=(string)main, level=(string)main, interlace-mode=(string)mixed
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMpegvParse:mpegvparse0.GstPad:src: caps = video/mpeg, mpegversion=(int)2, systemstream=(boolean)false, parsed=(boolean)true, width=(int)720, height=(int)480, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)8/9, codec_data=(buffer)000001b32d01e0240697a380000001b5148200010000, profile=(string)main, level=(string)main, interlace-mode=(string)mixed
NVMEDIA: NvMediaMixerInit: 119: frameWidth = 720, frameHeight = 480
NVMEDIA: DeinterlaceThread: 782: DeinterlaceThread is created
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/nvv4l2decoder:nvv4l2decoder0.GstPad:src: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)720, height=(int)480, interlace-mode=(string)mixed, 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)8/9, chroma-site=(string)jpeg, colorimetry=(string)bt601, framerate=(fraction)30000/1001
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)720, height=(int)480, interlace-mode=(string)mixed, 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)8/9, chroma-site=(string)jpeg, colorimetry=(string)bt601, framerate=(fraction)30000/1001
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)720, height=(int)480, interlace-mode=(string)mixed, 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)8/9, chroma-site=(string)jpeg, colorimetry=(string)bt601, framerate=(fraction)30000/1001
/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstDecodePad:src_0.GstProxyPad:proxypad2: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)720, height=(int)480, interlace-mode=(string)mixed, 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)8/9, chroma-site=(string)jpeg, colorimetry=(string)bt601, framerate=(fraction)30000/1001
/GstPipeline:pipeline0/GstNvOverlaySink-nvoverlaysink:nvoverlaysink-nvoverlaysink0.GstPad:sink: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)720, height=(int)480, interlace-mode=(string)mixed, 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)8/9, chroma-site=(string)jpeg, colorimetry=(string)bt601, framerate=(fraction)30000/1001
WARNING: from element /GstPipeline:pipeline0: GStreamer error: clock problem.
Additional debug info:
gstpipeline.c(663): gst_pipeline_do_latency (): /GstPipeline:pipeline0:
Configured latency is lower than detected minimum latency: configured 0:00:00.000000000 < min 0:00:00.733366666
:
I’ve tried turning as many knobs as possible but I can’t get it to be as good as the rPi WRT latency and image quality. Part of the problem is there really aren’t that many knobs to turn with this pipeline, the only one that can be adjusted is the queue and I haven’t been able to make it any better.
Any suggestions with the queue settings would be welcome. I’ve tried adjusting max-size-* all to 0 with no effect.
Is this just a difference between the ffmpeg decoding and using gstreamer?