GStreamer: невозможно связать элементы в `CvVideoWriter_GStreamer :: open`, работающем с приложением OpenCV C ++ - PullRequest
0 голосов
/ 26 сентября 2018

Я пытаюсь запустить программу OpenCV, которая открывает USB-камеру и транслирует видео.

Программа компилируется, но когда я ее запускаю, я получаю следующее исключение GStreamer (которое, похоже, не связано с OpenCV или C ++исходный код):

(TLD:5263): GStreamer-CRITICAL **: gst_element_make_from_uri: assertion 'gst_uri_is_valid (uri)' failed
OpenCV Error: Unspecified error (GStreamer: cannot link elements
) in CvVideoWriter_GStreamer::open, file /home/odroid/Desktop/middleware/CppLibs/opencv-2.4.13.6/modules/highgui/src/cap_gstreamer.cpp, line 1464
terminate called after throwing an instance of 'cv::Exception'
  what():  /home/odroid/Desktop/middleware/CppLibs/opencv-2.4.13.6/modules/highgui/src/cap_gstreamer.cpp:1464: error: (-2) GStreamer: cannot link elements
 in function CvVideoWriter_GStreamer::open

Я работаю на odroid.

У кого-нибудь была такая же проблема?

Я думал, что это проблема зависимости пакета, но у меня естьустановлен xorg libgl-gst libgl1-mesa-*, поэтому я в данный момент совершенно растерялся.

РЕДАКТИРОВАТЬ

Если быть точным, это более старая версия OpenCV:2.4.13.6.

Строки, инициализирующие VideoCapture, следующие (я указал только соответствующие):

int main(int argc,char** argv){
    string devId;

    VideoCapture capture;

    if(argc>4)
    {
         int captureNumber;
         string deviceId=argv[1];

         captureNumber=atoi(argv[1]);
         capture.open(captureNumber);

     }

РЕДАКТИРОВАТЬ 2

В OSX тот же код работает без исключения (были проблемы только с динамическими библиотеками).

...