при запуске через командную строку gstreamer при декодировании используется 20% графических процессоров на видео. Но когда я декодирую его с помощью Opencv, он использует 10% графического процессора на видео. Я сильно искажаюсь при декодировании через Opencv. Думаю, причина в этом. Как вы думаете, что может быть?
cmd pipeline:
gst-launch-1.0 udpsrc port=9001 caps = application/x-rtp ! rtph264depay ! h264parse ! nvh264dec ! videoconvert ! autovideosink sync=false
c ++ opencv pipeline:
Mat frame1current;
string gst_pipe1 = "udpsrc port=9001 caps = application/x-rtp ! rtph264depay ! h264parse ! nvh264dec ! videoconvert ! appsink sync=false";
VideoCapture cap1(gst_pipe1, CAP_GSTREAMER);
while (true) {
cap1.read(frame1Current);
imshow("1", frame1Current);
}
Images:
Видео: 3840x2160 h264 .mp4 файл
Поток получен через opencv
Поток получен через cmd