dusty-nv / jetson-inference

Hello AI World guide to deploying deep-learning inference networks and deep vision primitives with TensorRT and NVIDIA Jetson.
https://developer.nvidia.com/embedded/twodaystoademo
MIT License
7.73k stars 2.97k forks source link

gstDecoder -- failed to set pipeline state to PLAYING - Orin AGX #1774

Open BenHamm opened 8 months ago

BenHamm commented 8 months ago

I am trying to get Tao person detection running on my Jetson Orin AGX, but I'm hitting an apparent issue with GST at the capture stage. Please assist. (Also, thank you @dusty-nv for all of the great containers and work! Would be totally stuck without you)

Hardware: Jetson Orin AGX Container: dustynv/jetson-inference:r36.2.0 (launched using the run.sh command from the jetson_containers repo)

Code:

from jetson_inference import detectNet
from jetson_utils import videoSource, videoOutput, Log

# RTSP URL
rtsp_url = "rtsp://camera:password@192.168.0.93:554/stream1"

# create video source
input = videoSource(rtsp_url)
# input = videoSource('/jetson-inference/pedestrians.mp4')

img = input.Capture()

I get the folllowing output if I try to run the code above. If I use the pedestrians video instead, the output is a bit different but the error is the same. I have confirmed that I can pull a frame from the camera using OpenCV, and I have confirmed that the pedstrians.mp4 is valid.

[gstreamer] initialized gstreamer, version 1.20.3.0
[gstreamer] gstDecoder -- creating decoder for orintapo:nvidia@192.168.0.93
libEGL warning: DRI3: Screen seems not DRI3 capable
libEGL warning: DRI2: failed to authenticate
sh: 1: lsmod: not found
sh: 1: modprobe: not found
Failed to query video capabilities: Inappropriate ioctl for device
libv4l2: error getting capabilities: Inappropriate ioctl for device
[gstreamer] gstDecoder -- discovered video resolution: 2560x1440  (framerate 15.000000 Hz)
[gstreamer] gstDecoder -- discovered video caps:  video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)5, profile=(string)main, width=(int)2560, height=(int)1440, framerate=(fraction)15/1, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
[gstreamer] gstDecoder -- pipeline string:
[gstreamer] rtspsrc location=rtsp://orintapo:nvidia@192.168.0.93:554/stream1 latency=10 ! queue ! rtph264depay ! nvv4l2decoder name=decoder enable-max-performance=1 ! video/x-raw(memory:NVMM) ! nvvidconv name=vidconv ! video/x-raw ! appsink name=mysink sync=false
[video]  created gstDecoder from rtsp://orintapo:nvidia@192.168.0.93:554/stream1
------------------------------------------------
gstDecoder video options:
------------------------------------------------
  -- URI: rtsp://orintapo:nvidia@192.168.0.93:554/stream1
     - protocol:  rtsp
     - location:  orintapo:nvidia@192.168.0.93
     - port:      554
  -- deviceType: ip
  -- ioType:     input
  -- codec:      H264
  -- codecType:  v4l2
  -- width:      2560
  -- height:     1440
  -- frameRate:  15
  -- numBuffers: 4
  -- zeroCopy:   true
  -- flipMethod: none
  -- loop:       0
  -- latency     10
------------------------------------------------
[gstreamer] opening gstDecoder for streaming, transitioning pipeline to GST_STATE_PLAYING
Failed to query video capabilities: Inappropriate ioctl for device
libv4l2: error getting capabilities: Inappropriate ioctl for device
[gstreamer] gstDecoder -- failed to set pipeline state to PLAYING (error 0)
Traceback (most recent call last):
  File "/jetson-inference/test.py", line 12, in <module>
    img = input.Capture()
Exception: jetson.utils -- videoSource failed to capture image
dusty-nv commented 8 months ago

Hi @BenHamm, let's start with using video-viewer example to just decode/re-encode pedestrians.mp4 to confirm that you can get GStreamer to work for you in the container:

video-viewer pedestrians.mp4 pedestrians_2.mp4
video-viewer.py pedestrians.mp4 pedestrians_3.mp4

Does it still make the error, and are the output videos viewable? It works here for me using dustynv/jetson-inference:r36.2.0, with Jetson AGX Orin and JetPack 6.0 DP.

BenHamm commented 8 months ago

Thanks @dusty-nv! Seems like the same issue:

root@orin-desktop:/jetson-inference# video-viewer pedestrians.mp4 pedestrians_2.mp4
[gstreamer] initialized gstreamer, version 1.20.3.0
[gstreamer] gstDecoder -- creating decoder for pedestrians.mp4
libEGL warning: DRI3: Screen seems not DRI3 capable
libEGL warning: DRI2: failed to authenticate
sh: 1: lsmod: not found
sh: 1: modprobe: not found
Failed to query video capabilities: Inappropriate ioctl for device
libv4l2: error getting capabilities: Inappropriate ioctl for device
[gstreamer] gstDecoder -- discovered video resolution: 960x540  (framerate 29.970030 Hz)
[gstreamer] gstDecoder -- discovered video caps:  video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)3.1, profile=(string)high, width=(int)960, height=(int)540, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
[gstreamer] gstDecoder -- pipeline string:
[gstreamer] filesrc location=pedestrians.mp4 ! qtdemux ! queue ! h264parse ! nvv4l2decoder name=decoder enable-max-performance=1 ! video/x-raw(memory:NVMM) ! nvvidconv name=vidconv ! video/x-raw ! appsink name=mysink
[video]  created gstDecoder from file:///opt/jetson-inference/pedestrians.mp4
------------------------------------------------
gstDecoder video options:
------------------------------------------------
  -- URI: file:///opt/jetson-inference/pedestrians.mp4
     - protocol:  file
     - location:  pedestrians.mp4
     - extension: mp4
  -- deviceType: file
  -- ioType:     input
  -- codec:      H264
  -- codecType:  v4l2
  -- width:      960
  -- height:     540
  -- frameRate:  29.97
  -- numBuffers: 4
  -- zeroCopy:   true
  -- flipMethod: none
  -- loop:       0
------------------------------------------------
[gstreamer] gstEncoder -- codec not specified, defaulting to H.264
failed to find/open file /proc/device-tree/model
[gstreamer] gstEncoder -- detected board 'Jetson AGX Orin Developer Kit'
[gstreamer] gstEncoder -- pipeline launch string:
[gstreamer] appsrc name=mysource is-live=true do-timestamp=true format=3 ! nvvidconv name=vidconv ! video/x-raw(memory:NVMM) ! nvv4l2h264enc name=encoder bitrate=4000000 maxperf-enable=1 ! video/x-h264 ! h264parse ! qtmux ! filesink location=pedestrians_2.mp4 
[video]  created gstEncoder from file:///opt/jetson-inference/pedestrians_2.mp4
------------------------------------------------
gstEncoder video options:
------------------------------------------------
  -- URI: file:///opt/jetson-inference/pedestrians_2.mp4
     - protocol:  file
     - location:  pedestrians_2.mp4
     - extension: mp4
  -- deviceType: file
  -- ioType:     output
  -- codec:      H264
  -- codecType:  v4l2
  -- frameRate:  30
  -- bitRate:    4000000
  -- numBuffers: 4
  -- zeroCopy:   true
------------------------------------------------
[OpenGL] glDisplay -- X screen 0 resolution:  3440x1440
[OpenGL] glDisplay -- X window resolution:    3440x1440
[OpenGL] glDisplay -- display device initialized (3440x1440)
[video]  created glDisplay from display://0
------------------------------------------------
glDisplay video options:
------------------------------------------------
  -- URI: display://0
     - protocol:  display
     - location:  0
  -- deviceType: display
  -- ioType:     output
  -- width:      3440
  -- height:     1440
  -- frameRate:  0
  -- numBuffers: 4
  -- zeroCopy:   true
------------------------------------------------
[gstreamer] opening gstDecoder for streaming, transitioning pipeline to GST_STATE_PLAYING
Failed to query video capabilities: Inappropriate ioctl for device
libv4l2: error getting capabilities: Inappropriate ioctl for device
[gstreamer] gstDecoder -- failed to set pipeline state to PLAYING (error 0)
video-viewer:  shutting down...
video-viewer:  shutdown complete
dusty-nv commented 8 months ago

Hmm, can you run it like this, and see if GStreamer prints additional relevant information right around the gstDecoder -- failed to set pipeline state to PLAYING error?

GST_DEBUG=5 video-viewer --debug /mount/videos/pedestrians.mp4 /mount/videos/pedestrians_4.mp4

I can't really find much about that Inappropriate ioctl for device message (which I don't receive), so I think it may be worth testing GStreamer outside the container (with gst-launch-1.0 and a standalone pipeline) to confirm that your drivers and OS are functioning correctly...

https://docs.nvidia.com/jetson/archives/r36.2/DeveloperGuide/SD/Multimedia/AcceleratedGstreamer.html

BenHamm commented 8 months ago

Here is the result of what you suggested, run within the container

root@orin-desktop:/opt/jetson-inference# GST_DEBUG=5 vide
[TRUNCATED THINGS THAT LOOK FINE]
0:00:03.115263457 1916809 0xaaaad9230a00 DEBUG     GST_PLUGIN_LOADING gstplugin.c:1696:gst_plugin_ext_dep_scan_dir_and_match_names:<plugin157> g_dir_open(/usr/lib/aarch64-linux-gnu/lv2) failed: Error opening directory “/usr/lib/aarch64-linux-gnu/lv2”: No such file or directory
0:00:03.116351852 1916809 0xaaaad9230a00 DEBUG           GST_REGISTRY gstregistry.c:1414:gst_registry_scan_path_internal:<registry0> registry changed in path /usr/lib/aarch64-linux-gnu/gstreamer-1.0: 0
0:00:03.116365580 1916809 0xaaaad9230a00 DEBUG           GST_REGISTRY gstregistry.c:1640:gst_registry_remove_cache_plugins:<registry0> removing cached plugins
0:00:03.116473613 1916809 0xaaaad9230a00 INFO            GST_REGISTRY gstregistry.c:1785:scan_and_update_registry: Registry cache has not changed
0:00:03.116485550 1916809 0xaaaad9230a00 INFO            GST_REGISTRY gstregistry.c:1862:ensure_current_registry: registry reading and updating done, result = 1
0:00:03.116502190 1916809 0xaaaad9230a00 INFO                GST_INIT gst.c:833:init_post: GLib runtime version: 2.72.4
0:00:03.196776325 1916809 0xaaaad9230a00 INFO                GST_INIT gst.c:835:init_post: GLib headers version: 2.72.1
0:00:03.196923430 1916809 0xaaaad9230a00 INFO                GST_INIT gst.c:837:init_post: initialized GStreamer successfully
0:00:03.196954375 1916809 0xaaaad9230a00 DEBUG                default gsttracerutils.c:77:_priv_gst_tracing_init: Initializing GstTracer
[gstreamer] initialized gstreamer, version 1.20.3.0
[gstreamer] gstDecoder -- couldn't find file '/mount/videos/pedestrians.mp4'
[gstreamer] gstDecoder -- failed to create decoder for file:///mount/videos/pedestrians.mp4
video-viewer:  failed to create input stream

Now, doing as you suggest outside the container

BenHamm commented 8 months ago

Ok, I installed GSTstreamer outside the container per the doc you shared, and tried my best to follow test instructions:

orin@orin-desktop:~/jetson-containers$ gst-launch-1.0 filesrc location=<pedestrians.mp4> ! \
>      qtdemux ! queue ! h264parse ! nvv4l2decoder ! nv3dsink -e
No protocol specified
No protocol specified
No protocol specified
No protocol specified
No protocol specified
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstNv3dSink:nv3dsink0: GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure.
Additional debug info:
gstbasesink.c(5367): gst_base_sink_change_state (): /GstPipeline:pipeline0/GstNv3dSink:nv3dsink0:
Failed to start
BenHamm commented 8 months ago

I should note that i am ssh'd into this machine. Perhaps there's some issue with X11? I can try doing all of this directly on the machine...

dusty-nv commented 8 months ago

[gstreamer] gstDecoder -- couldn't find file '/mount/videos/pedestrians.mp4' [gstreamer] gstDecoder -- failed to create decoder for file:///mount/videos/pedestrians.mp4

You need to change the filenames in that command to reflect where you have pedestrians.mp4 at

I should note that i am ssh'd into this machine. Perhaps there's some issue with X11? I can try doing all of this directly on the machine...

Yes, using nv3dsink without display attached would be problematic for that particular pipeline you tried running. You can either run it directly on machine with display attached, or use another pipeline (replacing nv3dsink with fakesink may help)

AhmedL99 commented 7 months ago

Hello everyone,

I am facing the same issue! trying to get TAO person detection running on my Jetson Orin Nano. I have followed instructions in the Jetson AI Fundamentals - S3E4 - Object Detection Inference There is no display attached to it. The module works fine without exporting to an output file detectnet --model=peoplenet pedestrians.mp4. I got this log output whenever I export to an output file or when I run video-viewer also:

[gstreamer] initialized gstreamer, version 1.16.3.0
[gstreamer] gstDecoder -- creating decoder for pedestrians.mp4
Opening in BLOCKING MODE 
NvMMLiteOpen : Block : BlockType = 261 
NVMEDIA: Reading vendor.tegra.display-size : status: 6 
NvMMLiteBlockCreate : Block : BlockType = 261 
[gstreamer] gstDecoder -- discovered video resolution: 960x540  (framerate 29.970030 Hz)
[gstreamer] gstDecoder -- discovered video caps:  video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)3.1, profile=(string)high, width=(int)960, height=(int)540, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
[gstreamer] gstDecoder -- pipeline string:
[gstreamer] filesrc location=pedestrians.mp4 ! qtdemux ! queue ! h264parse ! nvv4l2decoder name=decoder enable-max-performance=1 ! video/x-raw(memory:NVMM) ! nvvidconv name=vidconv ! video/x-raw ! appsink name=mysink
[video]  created gstDecoder from file:///working_dir/pedestrians.mp4
------------------------------------------------
gstDecoder video options:
------------------------------------------------
  -- URI: file:///working_dir/pedestrians.mp4
     - protocol:  file
     - location:  pedestrians.mp4
     - extension: mp4
  -- deviceType: file
  -- ioType:     input
  -- codec:      H264
  -- codecType:  v4l2
  -- width:      960
  -- height:     540
  -- frameRate:  29.97
  -- numBuffers: 4
  -- zeroCopy:   true
  -- flipMethod: none
  -- loop:       0
------------------------------------------------
[gstreamer] gstEncoder -- codec not specified, defaulting to H.264
failed to find/open file /proc/device-tree/model
[gstreamer] gstEncoder -- detected board 'PCB Arts - EdgeKit'
[gstreamer] gstEncoder -- pipeline launch string:
[gstreamer] appsrc name=mysource is-live=true do-timestamp=true format=3 ! nvvidconv name=vidconv ! video/x-raw(memory:NVMM) ! nvv4l2h264enc name=encoder bitrate=4000000 maxperf-enable=1 ! video/x-h264 ! h264parse ! qtmux ! filesink location=pedestrians_peoplenet.mp4 
[video]  created gstEncoder from file:///working_dir/pedestrians_peoplenet.mp4
------------------------------------------------
gstEncoder video options:
------------------------------------------------
  -- URI: file:///working_dir/pedestrians_peoplenet.mp4
     - protocol:  file
     - location:  pedestrians_peoplenet.mp4
     - extension: mp4
  -- deviceType: file
  -- ioType:     output
  -- codec:      H264
  -- codecType:  v4l2
  -- frameRate:  30
  -- bitRate:    4000000
  -- numBuffers: 4
  -- zeroCopy:   true
------------------------------------------------
[OpenGL] failed to open X11 server connection.
[OpenGL] failed to create X11 Window.

detectNet -- loading detection network model from:
          -- prototxt     
          -- model        networks/peoplenet_deployable_quantized_v2.6.1/resnet34_peoplenet_int8.etlt.engine
          -- input_blob   'input_1'
          -- output_cvg   'output_cov/Sigmoid'
          -- output_bbox  'output_bbox/BiasAdd'
          -- mean_pixel   0.000000
          -- class_labels networks/peoplenet_deployable_quantized_v2.6.1/labels.txt
          -- class_colors networks/peoplenet_deployable_quantized_v2.6.1/colors.txt
          -- threshold    0.500000
          -- batch_size   1

[TRT]    TensorRT version 8.5.2
[TRT]    loading NVIDIA plugins...
[TRT]    Registered plugin creator - ::BatchedNMSDynamic_TRT version 1
[TRT]    Registered plugin creator - ::BatchedNMS_TRT version 1
[TRT]    Registered plugin creator - ::BatchTilePlugin_TRT version 1
[TRT]    Registered plugin creator - ::Clip_TRT version 1
[TRT]    Registered plugin creator - ::CoordConvAC version 1
[TRT]    Registered plugin creator - ::CropAndResizeDynamic version 1
[TRT]    Registered plugin creator - ::CropAndResize version 1
[TRT]    Registered plugin creator - ::DecodeBbox3DPlugin version 1
[TRT]    Registered plugin creator - ::DetectionLayer_TRT version 1
[TRT]    Registered plugin creator - ::EfficientNMS_Explicit_TF_TRT version 1
[TRT]    Registered plugin creator - ::EfficientNMS_Implicit_TF_TRT version 1
[TRT]    Registered plugin creator - ::EfficientNMS_ONNX_TRT version 1
[TRT]    Registered plugin creator - ::EfficientNMS_TRT version 1
[TRT]    Could not register plugin creator -  ::FlattenConcat_TRT version 1
[TRT]    Registered plugin creator - ::GenerateDetection_TRT version 1
[TRT]    Registered plugin creator - ::GridAnchor_TRT version 1
[TRT]    Registered plugin creator - ::GridAnchorRect_TRT version 1
[TRT]    Registered plugin creator - ::GroupNorm version 1
[TRT]    Registered plugin creator - ::InstanceNormalization_TRT version 1
[TRT]    Registered plugin creator - ::InstanceNormalization_TRT version 2
[TRT]    Registered plugin creator - ::LayerNorm version 1
[TRT]    Registered plugin creator - ::LReLU_TRT version 1
[TRT]    Registered plugin creator - ::MultilevelCropAndResize_TRT version 1
[TRT]    Registered plugin creator - ::MultilevelProposeROI_TRT version 1
[TRT]    Registered plugin creator - ::MultiscaleDeformableAttnPlugin_TRT version 1
[TRT]    Registered plugin creator - ::NMSDynamic_TRT version 1
[TRT]    Registered plugin creator - ::NMS_TRT version 1
[TRT]    Registered plugin creator - ::Normalize_TRT version 1
[TRT]    Registered plugin creator - ::PillarScatterPlugin version 1
[TRT]    Registered plugin creator - ::PriorBox_TRT version 1
[TRT]    Registered plugin creator - ::ProposalDynamic version 1
[TRT]    Registered plugin creator - ::ProposalLayer_TRT version 1
[TRT]    Registered plugin creator - ::Proposal version 1
[TRT]    Registered plugin creator - ::PyramidROIAlign_TRT version 1
[TRT]    Registered plugin creator - ::Region_TRT version 1
[TRT]    Registered plugin creator - ::Reorg_TRT version 1
[TRT]    Registered plugin creator - ::ResizeNearest_TRT version 1
[TRT]    Registered plugin creator - ::ROIAlign_TRT version 1
[TRT]    Registered plugin creator - ::RPROI_TRT version 1
[TRT]    Registered plugin creator - ::ScatterND version 1
[TRT]    Registered plugin creator - ::SeqLen2Spatial version 1
[TRT]    Registered plugin creator - ::SpecialSlice_TRT version 1
[TRT]    Registered plugin creator - ::SplitGeLU version 1
[TRT]    Registered plugin creator - ::Split version 1
[TRT]    Registered plugin creator - ::VoxelGeneratorPlugin version 1
[TRT]    detected model format - engine  (extension '.engine')
[TRT]    loading network plan from engine cache... /usr/local/bin/networks/peoplenet_deployable_quantized_v2.6.1/resnet34_peoplenet_int8.etlt.engine
[TRT]    Loaded engine size: 21 MiB
[TRT]    Using an engine plan file across different models of devices is not recommended and is likely to affect performance or even cause errors.
[TRT]    Deserialization required 31542 microseconds.
[TRT]    [MemUsageChange] TensorRT-managed allocation in engine deserialization: CPU +0, GPU +21, now: CPU 0, GPU 21 (MiB)
[TRT]    Total per-runner device persistent memory is 0
[TRT]    Total per-runner host persistent memory is 132288
[TRT]    Allocated activation device memory of size 12533760
[TRT]    [MemUsageChange] TensorRT-managed allocation in IExecutionContext creation: CPU +0, GPU +12, now: CPU 0, GPU 33 (MiB)
[TRT]    
[TRT]    CUDA engine context initialized on device GPU:
[TRT]       -- layers       53
[TRT]       -- maxBatchSize 1
[TRT]       -- deviceMemory 12533760
[TRT]       -- bindings     3
[TRT]       binding 0
                -- index   0
                -- name    'input_1'
                -- type    FP32
                -- in/out  INPUT
                -- # dims  3
                -- dim #0  3
                -- dim #1  544
                -- dim #2  960
[TRT]       binding 1
                -- index   1
                -- name    'output_bbox/BiasAdd'
                -- type    FP32
                -- in/out  OUTPUT
                -- # dims  3
                -- dim #0  12
                -- dim #1  34
                -- dim #2  60
[TRT]       binding 2
                -- index   2
                -- name    'output_cov/Sigmoid'
                -- type    FP32
                -- in/out  OUTPUT
                -- # dims  3
                -- dim #0  3
                -- dim #1  34
                -- dim #2  60
[TRT]    
[TRT]    binding to input 0 input_1  binding index:  0
[TRT]    binding to input 0 input_1  dims (b=1 c=3 h=544 w=960) size=6266880
[TRT]    binding to output 0 output_cov/Sigmoid  binding index:  2
[TRT]    binding to output 0 output_cov/Sigmoid  dims (b=1 c=3 h=34 w=60) size=24480
[TRT]    binding to output 1 output_bbox/BiasAdd  binding index:  1
[TRT]    binding to output 1 output_bbox/BiasAdd  dims (b=1 c=12 h=34 w=60) size=97920
[TRT]    device GPU, initialized /usr/local/bin/networks/peoplenet_deployable_quantized_v2.6.1/resnet34_peoplenet_int8.etlt.engine
[TRT]    detectNet -- number of object classes: 3
[TRT]    detectNet -- maximum bounding boxes:   6120
[TRT]    loaded 4 class labels
[TRT]    didn't load expected number of class descriptions  (4 of 3)
[TRT]    detectNet -- number of object classes:  3
[TRT]    class 00  color 0.000000 128.000000 0.000000 120.000000
[TRT]    class 01  color 0.000000 0.000000 128.000000 120.000000
[TRT]    class 02  color 225.000000 150.000000 0.000000 120.000000
[TRT]    loaded 3 class colors
[gstreamer] opening gstDecoder for streaming, transitioning pipeline to GST_STATE_PLAYING
Opening in BLOCKING MODE 
[gstreamer] gstreamer changed state from NULL to READY ==> mysink
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter2
[gstreamer] gstreamer changed state from NULL to READY ==> vidconv
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter1
[gstreamer] gstreamer changed state from NULL to READY ==> decoder
[gstreamer] gstreamer changed state from NULL to READY ==> h264parse1
[gstreamer] gstreamer changed state from NULL to READY ==> queue0
[gstreamer] gstreamer changed state from NULL to READY ==> qtdemux1
[gstreamer] gstreamer changed state from NULL to READY ==> filesrc0
[gstreamer] gstreamer changed state from NULL to READY ==> pipeline0
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter2
[gstreamer] gstreamer changed state from READY to PAUSED ==> vidconv
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter1
[gstreamer] gstreamer changed state from READY to PAUSED ==> decoder
[gstreamer] gstreamer changed state from READY to PAUSED ==> h264parse1
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> queue0
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer stream status CREATE ==> sink
[gstreamer] gstreamer changed state from READY to PAUSED ==> qtdemux1
[gstreamer] gstreamer changed state from READY to PAUSED ==> filesrc0
[gstreamer] gstreamer stream status ENTER ==> sink
NvMMLiteOpen : Block : BlockType = 261 
NVMEDIA: Reading vendor.tegra.display-size : status: 6 
NvMMLiteBlockCreate : Block : BlockType = 261 
[gstreamer] gstreamer message stream-start ==> pipeline0
[gstreamer] gstreamer message duration-changed ==> h264parse1
[gstreamer] gstDecoder -- onPreroll()
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer mysink taglist, video-codec=(string)"H.264\ /\ AVC", bitrate=(uint)720629;
[gstreamer] gstreamer mysink taglist, encoder=(string)Lavf54.63.104, container-format=(string)"ISO\ MP4/M4A";
[gstreamer] gstreamer mysink taglist, video-codec=(string)"H.264\ \(High\ Profile\)", bitrate=(uint)720629;
[gstreamer] gstBufferManager -- map buffer size was less than max size (777600 vs 777607)
[gstreamer] gstBufferManager recieve caps:  video/x-raw, width=(int)960, height=(int)540, 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)30000/1001, nvbuf-memory-type=(string)nvbuf-mem-surface-array, gpu-id=(int)0, format=(string)NV12
[gstreamer] gstBufferManager -- recieved first frame, codec=H264 format=nv12 width=960 height=540 size=777607
[cuda]   allocated 4 ring buffers (777607 bytes each, 3110428 bytes total)
[cuda]   allocated 4 ring buffers (8 bytes each, 32 bytes total)
[gstreamer] gstreamer changed state from READY to PAUSED ==> mysink
[gstreamer] gstreamer changed state from READY to PAUSED ==> pipeline0
[gstreamer] gstreamer message async-done ==> pipeline0
[gstreamer] gstreamer message new-clock ==> pipeline0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> mysink
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter2
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> vidconv
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> decoder
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> h264parse1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> queue0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> qtdemux1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> filesrc0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> pipeline0
[cuda]   allocated 4 ring buffers (1555200 bytes each, 6220800 bytes total)
19 objects detected

detected obj 0  class #0 (person)  confidence=0.970148
bounding box 0  (268.10, 243.61)  (324.58, 383.77)  w=56.48  h=140.15

detected obj 1  class #0 (person)  confidence=0.817762
bounding box 1  (213.25, 217.14)  (266.94, 334.27)  w=53.69  h=117.13

detected obj 2  class #0 (person)  confidence=0.966212
bounding box 2  (221.36, 309.33)  (272.39, 414.61)  w=51.03  h=105.28

detected obj 3  class #0 (person)  confidence=0.982390
bounding box 3  (676.46, 69.43)  (709.68, 159.27)  w=33.22  h=89.84

detected obj 4  class #0 (person)  confidence=0.962530
bounding box 4  (641.42, 50.81)  (675.26, 134.70)  w=33.84  h=83.88

detected obj 5  class #0 (person)  confidence=0.966748
bounding box 5  (590.69, 76.59)  (619.97, 153.99)  w=29.28  h=77.40

detected obj 6  class #2 (face)  confidence=0.984941
bounding box 6  (229.18, 317.33)  (242.03, 334.01)  w=12.84  h=16.69

detected obj 7  class #2 (face)  confidence=0.681861
bounding box 7  (244.38, 222.31)  (255.75, 239.52)  w=11.37  h=17.21

detected obj 8  class #2 (face)  confidence=0.913575
bounding box 8  (244.99, 221.53)  (254.58, 237.62)  w=9.59  h=16.09

detected obj 9  class #2 (face)  confidence=0.902219
bounding box 9  (246.34, 222.67)  (253.39, 236.94)  w=7.05  h=14.27

detected obj 10  class #2 (face)  confidence=0.620184
bounding box 10  (693.25, 72.14)  (701.43, 81.82)  w=8.18  h=9.68

detected obj 11  class #2 (face)  confidence=0.636066
bounding box 11  (694.71, 72.66)  (700.50, 82.49)  w=5.79  h=9.84

detected obj 12  class #2 (face)  confidence=0.756589
bounding box 12  (656.43, 54.56)  (663.68, 62.25)  w=7.26  h=7.69

detected obj 13  class #2 (face)  confidence=0.968845
bounding box 13  (694.40, 72.01)  (700.52, 80.62)  w=6.12  h=8.61

detected obj 14  class #2 (face)  confidence=0.680877
bounding box 14  (693.44, 72.29)  (699.59, 80.36)  w=6.15  h=8.07

detected obj 15  class #2 (face)  confidence=0.688705
bounding box 15  (656.31, 54.19)  (661.39, 61.11)  w=5.08  h=6.93

detected obj 16  class #2 (face)  confidence=0.898147
bounding box 16  (657.40, 55.57)  (661.82, 62.60)  w=4.42  h=7.03

detected obj 17  class #2 (face)  confidence=0.984040
bounding box 17  (694.51, 73.12)  (698.40, 81.07)  w=3.88  h=7.94

detected obj 18  class #2 (face)  confidence=0.583265
bounding box 18  (657.94, 54.64)  (661.21, 61.72)  w=3.27  h=7.07
[cuda]   allocated 2 ring buffers (777600 bytes each, 1555200 bytes total)
[gstreamer] gstEncoder -- starting pipeline, transitioning to GST_STATE_PLAYING
[gstreamer] gstEncoder -- failed to set pipeline state to PLAYING (error 0)
detectnet:  shutting down...
[gstreamer] gstDecoder -- stopping pipeline, transitioning to GST_STATE_NULL
[gstreamer] gstDecoder -- onPreroll()
[gstreamer] gstreamer changed state from PLAYING to PAUSED ==> capsfilter2
[gstreamer] gstreamer changed state from PLAYING to PAUSED ==> vidconv
[gstreamer] gstreamer changed state from PLAYING to PAUSED ==> capsfilter1
[gstreamer] gstreamer changed state from PLAYING to PAUSED ==> decoder
[gstreamer] gstreamer changed state from PLAYING to PAUSED ==> h264parse1
[gstreamer] gstreamer changed state from PLAYING to PAUSED ==> queue0
[gstreamer] gstreamer changed state from PLAYING to PAUSED ==> qtdemux1
[gstreamer] gstreamer changed state from PLAYING to PAUSED ==> filesrc0
[gstreamer] gstreamer changed state from PLAYING to PAUSED ==> pipeline0
[gstreamer] gstDecoder -- pipeline stopped
detectnet:  shutdown complete.

Looking forward to hearing from you @dusty-nv! Thank you in advance!