opencv Unable to stop the stream: Inappropriate ioctl for device

前端 未结 5 1685
我在风中等你
我在风中等你 2021-01-04 03:36

I just want to convert video to frame images.

Using this simple code

import cv2
vidcap = cv2.VideoCapture(\'gog.mp4\')
success,image = vidcap.read()
         


        
相关标签:
5条回答
  • 2021-01-04 04:05

    The problem was due to missing ffmpeg and ffmpeg-devel. You can verify this in cmake output.

    If FFMPEG is not available, those YES will become NO. And if you compile and install the opencv without FFMPEG, you will get error "Unable to stop the stream: Inappropriate ioctl for device" for video related samples.

    To solve your problem, install ffmpeg and ffmpeg-devel, then "make" and "make install" again.

    Hope this helps.

    0 讨论(0)
  • 2021-01-04 04:20

    Hi i also taked this error and solved with this commands.

    sudo apt-get install libv4l-dev
    cmake -DWITH_LIBV4L=ON .. (this is important)
    make && sudo make install
    

    if error occurs with cmake command second one pls install cmake gui.Do first command: sudo apt-get install libv4l-dev Through cmakegui program u can set parameters with CmakeVars.txt file. Edit CmakeVars.txt file exchange WITH_LIBV4L=OFF to WITH_LIBV4L=ON and run make && sudo make install command. For more information about this error visit: https://github.com/opencv/opencv/issues/6157

    0 讨论(0)
  • 2021-01-04 04:24

    I have solved this issue on Ubuntu 16.04.3.

    1. sudo apt-get install ffmpeg
    2. sudo apt-get install libavcodec-dev libavformat-dev libavdevice-dev
    3. Rebuild OpenCV 3.3.0 with the following commands:

      • 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
    0 讨论(0)
  • 2021-01-04 04:27

    I had the exact same issue using Manjaro 17.0.2 and OpenCV 3.2.0 with Java. I removed the old implementation of OpenCV, went and reinstalled it from scratch. Ran cmake with these parameters cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_LIBV4L=ON .. (thanks @emre)

    Then in the output of the Cmake installation I noticed Can't find ffmpeg - 'pkg-config' utility is missing. Installed the pkg-config and re ran cmake, make and now everything works.

    0 讨论(0)
  • 2021-01-04 04:27

    I use Linux Mint, and programming in C++. I apply the same procedure of https://stackoverflow.com/a/45893821/11247666. This is:

    sudo apt-get install ffmpeg
    sudo apt-get install libavcodec-dev libavformat-dev libavdevice-dev
    cd opencv-3.3.0
    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
    

    But after this. The problem was cannot be solved. I have this error:

    Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow.

    I apply the following

    sudo apt-get install libgtk2.0-dev
    sudo apt-get install pkg-config
    

    After this, I applied this same procedure:

    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
    

    The above worked for me.

    0 讨论(0)
提交回复
热议问题