"Input buffer is not NvBufSurface" deepstream failure on camera re-connect

Please provide complete information as applicable to your setup.

**• Hardware Platform: A2
**• DeepStream Version: 6.3
**• NVIDIA GPU Driver Version: 535.154.05
**• Issue Type: bug

I have noticed a bug in our deepstream pipeline that is tricky to re-produce. We have are inferencing on several RTSP camera feeds using the nvurisrcbin element (full pipeline below). The pipeline is stable for long periods of time and can handle short (a few minutes) amounts of time with cameras disconnected and re-connected. The rtsp-reconnect-interval is set as 5 and works well to re-connect the streams.

We have recently noticed an issue that after long periods of a single camera being disconnected (tested after 3 days, but possibly re-producible with much smaller time periods) the camera is unable to re-connect via the usual RTSP re-connect loop. At this time we see the error:

121:03:00.320621000 e[332m    1e[00m 0x7f2930011000 e[31;01mERROR  e[00m e[00m      nvvideoconvert gstnvvideoconvert.c:3712:gst_nvvideoconvert_transform:e[00m Input buffer is not NvBufSurface
121:03:00.320756195 e[332m    1e[00m 0x7f2930011000 e[31;01mERROR  e[00m e[00m      nvvideoconvert gstnvvideoconvert.c:4095:gst_nvvideoconvert_transform:e[00m buffer transform failed

In the logs and then continue to see the Resetting source rtsp://x.x.x.x:8554/xxxperiodically. I have verified that the I can view the raw RTSP stream independent of deepstream.

Research on this forum suggests that it might be because the nvvideoconvert is unable to convert the input data type, so perhaps I need to enforce some caps on my pipeline? Any help is much appreciated. Full pipeline below. Note that I am using the python bindings, so the below is a simplified version of our pipeline. Notably, we use the 'create_source_bin` function from the python examples here deepstream_python_apps/apps/deepstream-rtsp-in-rtsp-out/deepstream_test1_rtsp_in_rtsp_out.py at master · NVIDIA-AI-IOT/deepstream_python_apps · GitHub

nvurisrcbin rtsp-reconnect-interval= 5 cudadec-memtype=0 | nvstreammux live-source=1 |  nvinfer |  nvtracker |  nvdsanalytics |  nvstreamdemux | nvvideoconvert | nvdsosd | tee | nvvideoconvert | nvv4l2h264enc | h264parse | rtph264pay | udpsink

there is a rtsp reconnecting issue. please refer to this topic . you can modify batched-push-timeout to improve. please refer to this FAQ to improve. especially please set “export NVSTREAMMUX_ADAPTIVE_BATCHING=yes” .

We have correctly configured the batched-push-timeout for our cameras (which all run at 10fps). NVSTREAMMUX_ADAPTIVE_BATCHING=yes is set on the container.

From your FAQ the main thing that we haven’t tried is migrating our app to 6.4. Is it possible that this upgrade will address this issue?

" Resetting source rtsp" means starting reconnecting. does only one specific camera reconnecting fail? does it fail every time? when the app reconnecting failed, can you play the rtsp in the same machine by this command “gst-launch-1.0 uridecodebin uri=rtsp://xxx ! fakesink”?

The problem only happens after a few hours and is not camera specific. Camera re-connect works for short periods of time (a few minutes). I can play the streams directly using your command, yes.

The key is that the error below is raised and after which DS will try to re-connect using the usual loop, but it will fail and be unable to serve the stream. Even when I can view the stream directly using ffplay or similar.

121:03:00.320621000 e[332m    1e[00m 0x7f2930011000 e[31;01mERROR  e[00m e[00m      nvvideoconvert gstnvvideoconvert.c:3712:gst_nvvideoconvert_transform:e[00m Input buffer is not NvBufSurface
121:03:00.320756195 e[332m    1e[00m 0x7f2930011000 e[31;01mERROR  e[00m e[00m      nvvideoconvert gstnvvideoconvert.c:4095:gst_nvvideoconvert_transform:e[00m buffer transform failed

There is no update from you for a period, assuming this is not an issue any more. Hence we are closing this topic. If need further support, please open a new one. Thanks.
can you imitate the camera reconnection to reproduce this issue? for example, Re-plug the network cable? noticing deepstream-rtsp-in-rtsp-out does not use nvurisrcbin, could you provide a simplified code to reproduce this code?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.