Unable to get any decoded frames from Genetec VMS

Hi all,

I have been using the samples from Nvidia Video Codec SDK to get frames from live RTSP streams.
It has worked so far when I used it to decode frames from Nx Witness VMS or direct RTSP pulling.

Recently, I have been trying to decode the frames coming from Genetec VMS but cuvidParseVideoData() does not return any decoded frames. When I tried pulling from the same cameras but through Nx Witness VMS, it works. It seems like there is something about the encoding from Genetec VMS that the decoder is unable to read.

I have tried decoding the streams using OpenCV with CPU instead and the frames are decoded without any issue. I have even tried using ffmpeg, ffplay and ffprobe to check if there is anything wrong with the stream but everything seems to be working correctly.

From my understanding, cuvidParseVideoData() will call pfnSequenceCallback when decoding of sequence starts. However, pfnSequenceCallback is never called when the video stream is pulled from Genetec VMS. Hence, I suspect that there may be some information missing from Genetec’s stream.

I tried using H264 bitstream utility with FFmpeg to extract the SPS/PPS data from both the RTSP link by Genetec and direct RTSP. I then compared both data and they look virtually the same to me.

Does anyone have any experience using the Nvidia Video Codec SDK with Genetec VMS? Or does anyone have any insight as to what may be causing the problem?

We have tried the following solutions by sean12 and tungth07 from the 2 forum threads, but the issue still persists.

Configuration 1:

  • GTX1080
  • NVIDIA Video Codec SDK 11.1.5
  • CUDA 11.7.1

Configuration 2:

  • Qudaro RTX 4000
  • NVIDIA Video Codec SDK 11.1.5
  • CUDA 11.7.1