EmguCV & OpenCV: протокол RTP белого списка - PullRequest
0 голосов
/ 01 апреля 2019

Я пытаюсь получить видео с дрона Parrot Bebop 2.Я использую этот Bebop.sdp файл, предоставленный Parrot.

Я ранее пробовал в Python, который работал, устанавливая переменную окружения OPENCV_FFMPEG_CAPTURE_OPTIONS в protocol_whitelist;file,rtp,udp.Это работало в Python.С тех пор мы перенесли этот проект в основном на C #.Но при попытке подключения к потоку мы получаем эту ошибку Protocol 'rtp' not on whitelist 'file,crypto'!.Я видел другие примеры, где это -protocol_whitelist "file,rtp,udp" передается через аргументы ffmpeg, но в этом случае это не кажется решением, так как я не могу передать его.

Сначала я начал с простого теста:

VideoCapture videoCapture = new VideoCapture(0);
var frame = videoCapture.QueryFrame();

while (frame != null)
{
    using (frame)
    {
        CvInvoke.Imshow("frame", frame);
        CvInvoke.WaitKey(1);
    }

    frame = videoCapture.QueryFrame();
}

Этот код получает поток с веб-камеры и работает.

Я получаю сообщение об ошибке при запуске с файлом SDP:

VideoCapture videoCapture = new VideoCapture(@"./bebop.sdp");

var frame = videoCapture.QueryFrame();

while (frame != null)
{
    using (frame)
    {
        CvInvoke.Imshow("frame", frame);
        CvInvoke.WaitKey(1);
    }

    frame = videoCapture.QueryFrame();
}

Я пыталсядобавить оба:

Environment.SetEnvironmentVariable("OPENCV_FFMPEG_CAPTURE_OPTIONS", "protocol_whitelist;file,rtp,udp");

И для более агрессивного подхода:

Environment.SetEnvironmentVariable("OPENCV_FFMPEG_CAPTURE_OPTIONS", "protocol_whitelist;file,rtp,udp", EnvironmentVariableTarget.User);

Ни один из них, кажется, не оказывает влияния, так как я получаю ту же ошибку.

Iпри настройке переменных среды ожидается, что OpenCV внесет в белый список необходимые протоколы, чтобы поток проходил через него и отображался в кадре.

1 Ответ

0 голосов
/ 02 апреля 2019

Переменная среды работала, однако из-за необходимости сначала перезапустить Visual Studio, чтобы обновить переменные среды, она не была обнаружена до сегодняшнего дня.

...