Ich habe dieses Problem auf Ubuntu 16.04.3 gelöst.
sudo apt-get install ffmpeg
sudo apt-get install libavcodec-dev libavformat-dev libavdevice-dev
Erstellen Sie OpenCV 3.3.0 mit den folgenden Befehlen neu:
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_FFMPEG=ON -D WITH_TBB=ON -D WITH_GTK=ON -D WITH_V4L=ON -D WITH_OPENGL=ON -D WITH_CUBLAS=ON -DWITH_QT=OFF -DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" ..
make -j7
sudo make install
Hi, ich habe auch diesen Fehler gemacht und mit diesen Befehlen gelöst.
%Vor% Wenn ein Fehler auftritt mit cmake Befehl zweitens pls installieren cmake gui.Haben Sie ersten Befehl: sudo apt-get install libv4l-dev
Durch cmakegui Programm Sie können Parameter mit CmakeVars.txt Datei einstellen. Bearbeiten Sie den CmakeVars.txt-Dateiaustausch WITH_LIBV4L = OFF zu WITH_LIBV4L = ON, und führen Sie make && sudo make install
command aus. Weitere Informationen zu diesem Fehler finden Sie unter Ссылка
Ich hatte das gleiche Problem mit Manjaro 17.0.2 und OpenCV 3.2.0 mit Java. Ich entfernte die alte Implementierung von OpenCV, ging und installierte sie von Grund auf neu. Ran cmake mit diesen Parametern cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_LIBV4L=ON ..
(danke @ emre)
Dann bemerkte ich in der Ausgabe der Cmake-Installation Can't find ffmpeg - 'pkg-config' utility is missing
. Installiert die pkg-config und ran cmake, make und jetzt funktioniert alles.
Das Problem lag an fehlendem ffmpeg und ffmpeg-devel. Sie können dies in cmake-Ausgabe überprüfen.
Wenn FFMPEG nicht verfügbar ist, werden diese YES zu NEIN. Und wenn Sie das opencv ohne FFMPEG kompilieren und installieren, erhalten Sie den Fehler "Kann den Stream nicht stoppen: Unpassendes ioctl für Gerät" für videobezogene Beispiele.
Um Ihr Problem zu lösen, installieren Sie ffmpeg und ffmpeg-devel, dann "make" und "make install" erneut.
Hoffe, das hilft.