Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

OpenCV Cross Compile Issue for ARM with FFMPEG support on x86 host

I am trying to compile OpenCV with ffmpeg support for ARM Platform on a x86 host.

I downloaded and compiled ffmpeg for arm platform (both static - FFMPEG_ARM_LIB and dynamic libs - FFMPEG_ARM_LIB_SO)

When I run cmake in opencv, it gives the following -

-- Video I/O:
--DC1394 1.x: NO
-- DC1394 2.x: NO
-- FFMPEG: NO
-- codec: NO
-- format: NO
-- util: NO
-- swscale: NO
-- gentoo-style: YES
-- GStreamer: NO
-- OpenNI: NO
-- OpenNI PrimeSensor Modules: NO
-- PvAPI: NO
-- GigEVisionSDK: NO
-- UniCap: NO
-- UniCap ucil: NO
-- V4L/V4L2: NO/YES
-- XIMEA: NO
-- Xine: NO

I changed the following flags to point to the lib paths of both ffmpeg static and dynamic libs-

LD_LIBRARY_PATH
C_INCLUDE_PATH
CPLUS_INCLUDE_PATH
PKG_CONFIG_PATH
PKG_CONFIG_LIBDIR
PATH
CMAKE_LIBRARY_PATH
CMAKE_INCLUDE_PATH

However, the opencv is still not able to recognize the ffmpeg libs.

My FFMPEG compilation command was

./configure --enable-shared --disable-static\ --cross-prefix=arm-linux-gnueabi- --arch=armv7a\ --target-os=linux --prefix=<path>

What am I doing wrong here? 1. Am I compiling the ffmpeg with the wrong option? 2. Am I missing some element in CMake which would make it point to the compiled ffmpeg lib for ARM on my system?

Host Arch - x86 64 Target Arch - ARM 32 bit