DeepStream test 3 sample app processes more frames than the number of actual video frames

This video contains 90 frames. For some reason, the DeepStream test 3 sample app and other apps that iterate through NvDsBatchMeta.frame_meta_list processes 1 frame more than the actual. See DeepStream test 3 sample app result below

Frame Number = 0 Number of objects = 6 Vehicle Count = 0 Person Count = 6
Frame Number = 1 Number of objects = 4 Vehicle Count = 0 Person Count = 4
Frame Number = 2 Number of objects = 5 Vehicle Count = 0 Person Count = 5
Frame Number = 3 Number of objects = 6 Vehicle Count = 0 Person Count = 6
Frame Number = 4 Number of objects = 5 Vehicle Count = 0 Person Count = 5
Frame Number = 5 Number of objects = 5 Vehicle Count = 0 Person Count = 5
...
Frame Number = 86 Number of objects = 6 Vehicle Count = 0 Person Count = 6
Frame Number = 87 Number of objects = 6 Vehicle Count = 0 Person Count = 6
Frame Number = 88 Number of objects = 5 Vehicle Count = 0 Person Count = 5
Frame Number = 89 Number of objects = 4 Vehicle Count = 0 Person Count = 4
Frame Number = 90 Number of objects = 4 Vehicle Count = 0 Person Count = 4

it should have been Frame 0 - Frame 89. What might be the reason of this?

Environment
Architecture: x86_64
GPU: NVIDIA GeForce GTX 1650 Ti with Max-Q Design
NVIDIA GPU Driver: Driver Version: 495.29.05
DeepStream Version: 6.0 (running on docker image nvcr.io/nvidia/deepstream:6.0-devel)
TensorRT Version: v8001
Issue Type: Question

Can you let me know how you find the video has 90 frames?
Using below command to extract the frames from this video and gets 91 frames, it’s inline with deepstream test3 output:
gst-launch-1.0 -ev filesrc location=/tmp/people_video.mov ! decodebin ! nvvideoconvert ! jpegenc ! multifilesink location=test_%05d.jpg

It’s plain Python code. See below

Hi @yingliu

May I ask for an update for this?

Still checking, will come back soon.

1 Like

Hi @peeranat85 , I checked your stream attached, gstreamer and opencv maybe both wrong. When I get the h264 stream from the mov file, it really has 275 frames. So this mov file maybe not standard when it was muxed to a mov file. Thanks

When I get the h264 stream from the mov file, it really has 275 frames.

  1. How did you get h264 stream?
  2. Any way we can make it standard?

1.You can get Mp4box app and use the cli to extract the h264 file.
2.Also you can use the mp4box to make it standard.
You can refer the link below:
https://github.com/gpac/gpac/wiki/MP4Box

1 Like

I see. I converted the file to h264 and mov format using

MP4Box -raw 1 people_video.mov -out people_video_fixed.mov
MP4Box -raw 1 people_video.mov -out people_video_fixed.h264

and both mov and h264 files gave the correct frame number in both DeepStream and Python which is 275. Thanks!

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