技术专栏
海思Hi3536交叉编译ffmpeg 和OPencv
1 海思Hi3536交叉编译x264库
编译和安装
x264编译
编译之前先给.sh 文件权限,
先执行 version.sh
在执行
CC=arm-himix200-linux-gcc ./configure \
--host=arm-himix200-linux \
--prefix=$OPENCV_DEPEND \
--cross-prefix=arm-himix200-linux- \
--enable-static \
--enable-shared \
make
make install
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
2 海思Hi3536交叉编译 ffmpeg
官方地址:http://ffmpeg.org/download.html#releases
同样注意权限 在/ffbuild 下
./configure \
--prefix=/home/censoft/ysc/tools/ffmpeg-3.4.12/build_ffmpeg_hisi3516/ \
--enable-filters \
--enable-asm \
--enable-ffmpeg \
--enable-ffplay \
--enable-ffprobe \
--enable-doc \
--enable-cross-compile \
--cross-prefix=arm-himix200-linux- \
--arch=arm \
--target-os=linux \
--host-os=linux \
--enable-gpl \
--enable-version3 \
--enable-small \
--enable-shared \
--enable-static \
--enable-encoder=rawvideo \
--enable-encoder=mpeg2video \
--enable-encoder=mp2 \
--enable-encoder=libx264 \
--enable-libx264 \
--enable-muxer=adts \
--enable-muxer=mpegts \
--enable-muxer=mpeg2video \
--enable-muxer=rtsp \
--enable-muxer=hls \
--enable-muxer=h264 \
--enable-muxer=rtp \
--enable-muxer=avi \
--enable-muxer=flv \
--enable-muxer=mp4 \
--enable-demuxer=mpegts \
--enable-demuxer=rtsp \
--enable-demuxer=hls \
--enable-demuxer=h264 \
--enable-demuxer=rtp \
--enable-demuxer=flv \
--enable-muxer=mp4 \
--enable-demuxer=mpegts \
--enable-demuxer=rtsp \
--enable-demuxer=hls \
--enable-demuxer=h264 \
--enable-demuxer=rtp \
--enable-demuxer=flv \
--enable-demuxer=avi \
--enable-demuxer=mpegps \
--enable-demuxer=mpegtsraw \
--enable-demuxer=mpegvideo \
--enable-parser=aac \
--enable-parser=h264 \
--enable-parser=mpeg4video \
--enable-parser=mpegvideo \
--enable-parser=mpegaudio \
--enable-bsf=h264_mp4toannexb \
--enable-protocol=http \
--enable-protocol=rtp \
--enable-protocol=rtmpts \
--enable-protocol=https \
--enable-protocol=hls \
--enable-protocol=file \
--enable-protocol=data \
--enable-gray \
--enable-safe-bitstream-reader \
--extra-cflags=-I/home/censoft/ysc/tools/x264-master/build_x264_hisi3516/include \
--extra-ldflags=-L/home/censoft/ysc/tools/x264-master/build_x264_hisi3516/lib
./configure --prefix=$OPENCV_DEPEND --enable-shared --disable-static --enable-gpl --enable-cross-compile --arch=arm --disable-stripping --target-os=linux --enable-libx264 --cc=arm-himix200-linux-gcc --enable-swscale --enable-avresample --extra-ldflags=-L$OPENCV_DEPEND/lib --extra-cflags=-I$OPENCV_DEPEND/include --pkg-config=PKGCONFIG --ar=arm-himix200-linux-ar --ranlib=arm-himix200-linux-ranlib
make
make install
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
<
3 海思Hi3516交叉编译opencv3.4.1
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/yang/work/ffmpeg_rootfs/lib/pkgconfig
查找OpenCVFindLibsVideo.cmake 文件
更改
if(WITH_FFMPEG)
if(WIN32 AND NOT ARM)
message("-----WIN32 AND NOT ARM -----------------")
include("${OpenCV_SOURCE_DIR}/3rdparty/ffmpeg/ffmpeg.cmake")
download_win_ffmpeg(FFMPEG_CMAKE_SCRIPT)
if(FFMPEG_CMAKE_SCRIPT)
set(HAVE_FFMPEG TRUE)
include("${FFMPEG_CMAKE_SCRIPT}")
endif()
elseif(PKG_CONFIG_FOUND)
message("----- PKG_CONFIG_FOUND -----------------")
ocv_check_modules(FFMPEG libavcodec libavformat libavutil libswscale)
ocv_check_modules(FFMPEG libavresample libavresample)
if(FFMPEG_libavresample_FOUND)
message("----- FFMPEG_libavresample_FOUND -----------------")
ocv_append_build_options(FFMPEG FFMPEG_libavresample)
endif()
if(HAVE_FFMPEG)
SET(FFMPEG_INCLUDE_DIRS /home/censoft/ysc/tools/opencv/opencv-depend/include)
SET(FFMPEG_LIBRARY_DIRS /home/censoft/ysc/tools/opencv/opencv-depend/lib)
message("----- HAVE_FFMPEG -----------------")
message("----- HAVE_FFMPEG ------${OpenCV_BINARY_DIR}------${OpenCV_SOURCE_DIR}-----")
message("----- CMAKE_FLAGS ------${FFMPEG_INCLUDE_DIRS}------${FFMPEG_LIBRARY_DIRS}---${FFMPEG_LIBRARIES}--")
message("----- __VALID_FFMPEG ------${__VALID_FFMPEG}-----------")
try_compile(__VALID_FFMPEG
"${OpenCV_BINARY_DIR}"
"${OpenCV_SOURCE_DIR}/cmake/checks/ffmpeg_test.cpp"
CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:STRING=${FFMPEG_INCLUDE_DIRS}"
"-DLINK_DIRECTORIES:STRING=${FFMPEG_LIBRARY_DIRS}"
"-DLINK_LIBRARIES:STRING=${FFMPEG_LIBRARIES}"
OUTPUT_VARIABLE TRY_OUT
)
message("----- VIDEOIO FFMPEG ------${VIDEOIO}------${FFMPEG}-----")
if(NOT __VALID_FFMPEG)
#message(FATAL_ERROR "FFMPEG: test check build log:\n${TRY_OUT}")
# message(STATUS "--------------WARNING: Can't build ffmpeg test code")
# set(HAVE_FFMPEG FALSE)
ocv_append_build_options(VIDEOIO FFMPEG)
else()
ocv_append_build_options(VIDEOIO FFMPEG)
endif()
endif()
else()
message(STATUS "Can't find ffmpeg - 'pkg-config' utility is missing")
endif()
endif(WITH_FFMPEG)
cmake -DMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX=/home/censoft/ysc/tools/opencv-3.4.1/build/install \
-DCMAKE_C_COMPILER=arm-himix200-linux-gcc \
-DCMAKE_CXX_COMPILER=arm-himix200-linux-g++ \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_CXX_FLAGS=-fPIC \
-DCMAKE_C_FLAGS=-fPIC \
-DCMAKE_EXE_LINKER_FLAGS=-lpthread -ldl \
-DENABLE_PIC=ON \
-DWITH_1394=OFF \
-DWITH_ARAVIS=OFF \
-DWITH_ARITH_DEC=ON \
-DWITH_ARITH_ENC=ON \
-DWITH_CLP=OFF \
-DWITH_CUBLAS=OFF \
-DWITH_CUDA=OFF \
-DWITH_CUFFT=OFF \
-DWITH_FFMPEG=ON \
-DWITH_GSTREAMER=OFF \
-DWITH_GSTREAMER_0_10=OFF \
-DWITH_HALIDE=OFF \
-DWITH_HPX=OFF \
-DWITH_IMGCODEC_HDR=ON \
-DWITH_IMGCODEC_PXM=ON \
-DWITH_IMGCODEC_SUNRASTER=ON \
-DWITH_INF_ENGINE=OFF \
-DWITH_IPP=OFF \
-DWITH_ITT=OFF \
-DWITH_JASPER=ON \
-DWITH_JPEG=ON \
-DWITH_LAPACK=ON \
-DWITH_LIBREALSENSE=OFF \
-DWITH_NVCUVID=OFF \
-DWITH_OPENCL=OFF \
-DWITH_OPENCLAMDBLAS=OFF \
-DWITH_OPENCLAMDFFT=OFF \
-DWITH_OPENCL_SVM=OFF \
-DWITH_OPENEXR=OFF \
-DWITH_OPENGL=OFF \
-DWITH_OPENMP=OFF \
-DWITH_OPENNNI=OFF \
-DWITH_OPENNNI2=OFF \
-DWITH_OPENVX=OFF \
-DWITH_PNG=OFF \
-DWITH_PROTOBUF=OFF \
-DWITH_PTHREADS_PF=ON \
-DWITH_PVAPI=OFF \
-DWITH_QT=OFF \
-DWITH_QUIRC=OFF \
-DWITH_TBB=OFF \
-DWITH_TIFF=ON \
-DWITH_VULKAN=OFF \
-DWITH_WEBP=ON \
-DWITH_XIMEA=OFF \
-DBUILD_opencv_highgui=OFF \ //这个可以有
..
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
<
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包
3
1
评论
打赏
- 分享
- 举报
评论
0个
手气红包

相关专栏
-
浏览量:602次2023-12-16 14:33:01
-
浏览量:1227次2024-01-24 18:13:58
-
浏览量:3014次2020-07-31 16:23:10
-
浏览量:5517次2019-12-28 10:33:46
-
2018-06-18 22:47:22
-
2024-02-23 16:20:11
-
2024-02-04 10:33:53
-
2018-04-04 14:06:53
-
浏览量:4456次2018-03-31 20:59:15
-
浏览量:3058次2018-04-03 09:48:45
-
浏览量:5908次2018-04-03 09:53:34
-
浏览量:2875次2024-02-05 15:51:53
-
浏览量:5038次2020-09-30 18:01:11
-
浏览量:6628次2018-06-14 22:53:53
-
浏览量:7445次2018-06-14 23:13:10
-
浏览量:9694次2018-06-02 19:08:30
-
浏览量:3938次2021-12-10 16:59:31
-
浏览量:2655次2020-08-04 15:11:02
-
浏览量:1122次2024-02-04 10:08:58
置顶时间设置
结束时间
删除原因
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
打赏作者

shui
您的支持将鼓励我继续创作!
打赏金额:
¥1

¥5

¥10

¥50

¥100

支付方式:

举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
审核成功
发布时间设置
发布时间:
请选择发布时间设置
是否关联周任务-专栏模块
审核失败
失败原因
请选择失败原因
备注
请输入备注