Remove distortion by deepstream-app

Hi DaneDLL,

Thank you about your reply.
It work about your last mail command.
But deepstream-dewarper-app is for 360 degree.
My camera is 120 degree.
The deepstream-dewarper-app don’t match my request.

I refer

https://forums.developer.nvidia.com/t/rtsp-server-with-gpu-accelerating-pushing-opencv-mats/149105

https://forums.developer.nvidia.com/t/how-to-perform-fish-eye-lens-distortion-correction-in-gstreamer-pipeline-hfov-150/82808/24

I wrote two programs.
Following are my test step.

Step 1:
build test_v2
g++ test_v2.cpp -o test_v2 pkg-config --cflags --libs opencv4 gstreamer-1.0 gstreamer-rtsp-server-1.0

build rtspServer_v2
gcc rtspServer_v2.c -o rstpServer_v2 $(pkg-config --cflags --libs gstreamer-1.0 gstreamer-rtsp-server-1.0)

Step 2:
run test_v2

2.1 read mp4 file (fov120_distortion_1min.mp4)
2.2 remove distortion
2.3 send data to upd port 5000

Step 3:
run rtspServer_v2

3.1 read data from udp port 5000
3.2 send data out with rtsp server

Step 4:
view rtsp data by smplayer
smplayer rtsp://127.0.0.1:8554/test

It work when use smplayer.

Step 5:
deepstream-app read data from RTSP server.

./deepstream-app -c deepstream_app_config_yoloV3_camera2_test.txt

It run fail.
Following are the log.

nvidia@nvidia-desktop:/opt/nvidia/deepstream/deepstream-5.0/sources/objectDetector_Yolo$ ./deepstream-app -c deepstream_app_config_yoloV3_camera2_test.txt
Unknown or legacy key specified ‘is-classifier’ for group [property]
Warn: ‘threshold’ parameter has been deprecated. Use ‘pre-cluster-threshold’ instead.

Using winsys: x11
gstnvtracker: Loading low-level lib at /opt/nvidia/deepstream/deepstream-5.0/lib/libnvds_mot_klt.so
gstnvtracker: Optional NvMOT_RemoveStreams not implemented
gstnvtracker: Batch processing is OFF
gstnvtracker: Past frame output is OFF
Deserialize yoloLayerV3 plugin: yolo_83
Deserialize yoloLayerV3 plugin: yolo_95
Deserialize yoloLayerV3 plugin: yolo_107
0:00:03.330646253 20059 0x5576c3fb50 INFO nvinfer gstnvinfer.cpp:619:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::deserializeEngineAndBackend() <nvdsinfer_context_impl.cpp:1701> [UID = 1]: deserialized trt engine from :/opt/nvidia/deepstream/deepstream-5.0/sources/objectDetector_Yolo/model_b1_gpu0_int8.engine
INFO: [Implicit Engine Info]: layers num: 4
0 INPUT kFLOAT data 3x608x608
1 OUTPUT kFLOAT yolo_83 255x19x19
2 OUTPUT kFLOAT yolo_95 255x38x38
3 OUTPUT kFLOAT yolo_107 255x76x76

0:00:03.330935547 20059 0x5576c3fb50 INFO nvinfer gstnvinfer.cpp:619:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::generateBackendContext() <nvdsinfer_context_impl.cpp:1805> [UID = 1]: Use deserialized engine model: /opt/nvidia/deepstream/deepstream-5.0/sources/objectDetector_Yolo/model_b1_gpu0_int8.engine
0:00:03.335012126 20059 0x5576c3fb50 INFO nvinfer gstnvinfer_impl.cpp:313:notifyLoadModelStatus:<primary_gie> [UID 1]: Load new model:/opt/nvidia/deepstream/deepstream-5.0/sources/objectDetector_Yolo/config_infer_primary_yoloV3.txt sucessfully

Runtime commands:
h: Print this help
q: Quit

p: Pause
r: Resume

NOTE: To expand a source in the 2D tiled display and view object details, left-click on the source.
To go back to the tiled display, right-click anywhere on the window.

** INFO: <bus_callback:181>: Pipeline ready

PERF: FPS 0 (Avg)
PERF: 0.00 (0.00)
Opening in BLOCKING MODE
NvMMLiteOpen : Block : BlockType = 261
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NvMMLiteBlockCreate : Block : BlockType = 261
NVMEDIA: NVMEDIABufferProcessing: 1504: NvMediaParserParse Unsupported Codec
[NvMediaParserParse:357] Video parser parse failed: 0**PERF: 0.00 (0.00)

Question:
The smplayer run fine.
But deepstream-app run fail.
Could you give me suggestion?

Best regards

-Jason

rtspServer_v2.c (1.9 KB)
test_v2.cpp (4.0 KB)
deepstream_app_config_yoloV3_camera2_test.txt (3.7 KB)