opencv编译时ffmpeg显示no
时间: 2023-10-16 14:09:03 浏览: 333
如果在编译OpenCV时,FFmpeg显示为“no”,则说明在编译OpenCV时,CMake没有找到FFmpeg库。您可以按照以下步骤检查和解决这个问题:
1. 确认已经安装了FFmpeg库。您可以通过终端输入以下命令来检查FFmpeg是否已经安装:
```
ffmpeg -version
```
如果FFmpeg已经安装,将显示版本信息;否则,您需要先安装FFmpeg库。
2. 确认CMake已经正确设置了FFmpeg库的路径。您可以在CMake GUI或CMakeLists.txt文件中查看设置。
在CMake GUI,您需要设置FFmpeg的路径。在CMakeLists.txt文件中,您需要添加以下代码:
```
find_package(FFmpeg REQUIRED)
...
target_link_libraries(your_app ${FFMPEG_LIBRARIES})
```
或者,您可以手动添加链接选项:
```
target_link_libraries(your_app avcodec avformat avutil swscale)
```
3. 确认您的FFmpeg库是与您的编译器相匹配的。例如,如果您使用的是Visual Studio 2019编译器,则需要使用与该编译器相匹配的FFmpeg库。
希望这些解决方法能帮助您解决问题。
相关问题
树莓派安装最新opencv后提示ModuleNotFoundError: No module named 'cv2.aruco'
在树莓派上安装OpenCV可以参考以下步骤:
1. 首先确保你的树莓派已经安装了Python3和pip3
2. 在终端中运行以下命令,安装OpenCV和其他依赖项:
```
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential cmake git pkg-config libgtk-3-dev libcanberra-gtk-module libcanberra-gtk3-module libtiff5-dev libjpeg-dev libpng-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libgtk2.0-dev libgtk-3-dev libatlas-base-dev gfortran python3-dev python3-pip libtbb2 libtbb-dev libdc1394-22-dev libopenexr-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
sudo pip3 install numpy
```
3. 下载OpenCV源代码,可以从官方网站下载或者使用以下命令从GitHub上下载:
```
git clone https://github.com/opencv/opencv.git
cd opencv
git checkout 4.5.1
cd ..
git clone https://github.com/opencv/opencv_contrib.git
cd opencv_contrib
git checkout 4.5.1
cd ..
```
这里我使用的是4.5.1版本,如果需要其他版本可以将4.5.1替换为对应的版本号。
4. 编译和安装OpenCV,在终端中运行以下命令:
```
cd opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
-D ENABLE_NEON=ON \
-D WITH_OPENCL=OFF \
-D WITH_OPENMP=ON \
-D BUILD_TIFF=ON \
-D WITH_FFMPEG=ON \
-D WITH_TBB=ON \
-D BUILD_TBB=ON \
-D WITH_EIGEN=OFF \
-D WITH_V4L=ON \
-D WITH_LIBV4L=ON \
-D WITH_VTK=OFF \
-D WITH_GTK=ON \
-D WITH_QT=OFF \
-D WITH_1394=OFF \
-D WITH_OPENEXR=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D INSTALL_C_EXAMPLES=OFF ..
make -j4 # 这里的-j参数可以指定编译的线程数,可以根据自己的情况调整
sudo make install
sudo ldconfig
```
5. 安装完毕后可以测试一下是否安装成功,在Python中运行以下代码:
```
import cv2
print(cv2.__version__)
```
如果能够正常输出版本号,则说明OpenCV已经成功安装。
如果你在安装完最新版OpenCV后出现了提示ModuleNotFoundError: No module named 'cv2.aruco',可能是因为aruco模块没有安装。可以使用以下命令安装aruco模块:
```
sudo apt-get install libaruco-dev
```
安装完成后,再次运行Python代码测试即可。
ModuleNotFoundError: No module named 'ffmpeg',安装ffmpeg4.0版本
如果你在使用 Python 中的某个程序时出现了 ModuleNotFoundError: No module named 'ffmpeg' 错误,可能是因为你的系统中缺少 ffmpeg 库。你可以尝试按照以下步骤安装 ffmpeg4.0 版本:
1. 打开终端,输入以下命令来安装依赖库:
```
sudo apt-get update
sudo apt-get install build-essential checkinstall git libfaac-dev libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libvorbis-dev libvpx-dev libx11-dev libxfixes-dev texi2html yasm zlib1g-dev
```
2. 下载 ffmpeg4.0 版本的源代码:
```
wget https://www.ffmpeg.org/releases/ffmpeg-4.0.tar.gz
tar -xzvf ffmpeg-4.0.tar.gz
```
3. 进入源代码目录,执行以下命令进行编译和安装:
```
cd ffmpeg-4.0
./configure --enable-shared --disable-static
make
sudo make install
```
4. 安装完成后,重新打开 Python 程序,尝试再次运行,看是否还会出现 ModuleNotFoundError: No module named 'ffmpeg' 问题。
如果还有问题,你可以尝试重新安装一下相关的 Python 包,比如 moviepy 或者 opencv-python,这些包可能会依赖于 ffmpeg 库。
阅读全文