Open hexianbin1994 opened 1 month ago
opencv-cuda decode rstp video stream success
opencv-cuda can decode mp4 video file, but cannot decode rtsp video stream, with the fault is 【Segmentation fault (core dumped)】
I create docker container and compile opencv-cuda:
docker run -it --network host --gpus all -e NVIDIA_DRIVER_CAPABILITIES=compute,utility,video nvidia/cuda:12.0.0-cudnn8-devel-ubuntu20.04 bash ## compile ffmpeg ## compile opencv-python git clone https://github.com/opencv/opencv.git cd opencv git checkout 4.8.0 git clone https://github.com/opencv/opencv_contrib.git cd opencv_contrib git checkout 4.8.0
compile result is :
NVIDIA CUDA is YES and contain NVCUVID
import cv2 s = "test2.mp4" cap = cv2.cudacodec.createVideoReader(s) frame_id = 0 while 1: _, img_gpu = cap.nextFrame() if frame_id == 100: img_cpu = img_gpu.download() print(img_cpu.shape) break frame_id += 1
the result is
import cv2 s = "rtsp://128.8.84.224:8554/rtsp/test" cap = cv2.cudacodec.VideoReader(s) frame_id = 0 while 1: _, img_gpu = cap.nextFrame() if frame_id == 100: img_cpu = img_gpu.download() print(img_cpu.shape) break frame_id += 1
the result is error is in 【_, img_gpu = cap.nextFrame()】
cv2.getBuildInformation() is
Expected behaviour
opencv-cuda decode rstp video stream success
Actual behaviour
opencv-cuda can decode mp4 video file, but cannot decode rtsp video stream, with the fault is 【Segmentation fault (core dumped)】
Steps to reproduce
I create docker container and compile opencv-cuda:
compile result is :
NVIDIA CUDA is YES and contain NVCUVID
main code
1 - decode mp4 video file
the result is
2 - decode rtsp video stream
the result is error is in 【_, img_gpu = cap.nextFrame()】