opencv+h264+ffmpeg环境搭建
  kN2oy7RL3Y7v 2023年11月02日 62 0


opencv+h264+ffmpeg环境搭建:

由于笔记软件的限制,无法上传相应的软件包,请百度搜索。

先安装系统必要工具:

apt install cmake libtbb2 libtbb-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libjpeg-dev libpng-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libfaac-dev libmp3lame-dev yasm libpng16-16

1、编译nasm-2.14:

        tar -jxvf nasm-2.14.tar.bz2

        cd nasm-2.14

        ./configure --prefix=/usr

        make

        make install

2、编译x264:

        tar -jxvf last_x264.tar.bz2

        cd x264-snapshot-20191014-2245

        ./configure --enable-shared --prefix=/usr

        make

        make install

3、编译ffmpeg-3.4.6

        tar zxvf ffmpeg-3.4.6.tar.gz

        cd ffmpeg-3.4.6

        ./configure --prefix=/usr/local/ffmpeg/ --enable-shared --enable-gpl --enable-libx264

        make

        make install

4、编译opencv-3.4.7:

        unzip opencv-3.4.7.zip

        cd opencv-3.4.7

        vi  +47 3rdparty/ippicv/ippicv.cmake

        修改ippicv_2019_lnx_intel64_general_20180723.tgz的路径

from:

        "​​https://raw.githubusercontent.com/opencv/opencv_3rdparty/​​${IPPICV_COMMIT}/ippicv/"

to

         "file:/usr/src/"

        保存并退出,然后进入opencv-3.4.7目录

        mkdir build

        cd build

        cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_OPENGL=ON WITH_QT=ON ..

        make

        make install

然后把需要的库和头文件放到工程目录下对应的子目录,比如inc、lib等目录,工程的CMakeLists.txt文件内容大致如下:

CMAKE_MINIMUM_REQUIRED(VERSION 2.6)

 

PROJECT(rtspServer)

 

set(CMAKE_CXX_STANDARD 11)

#set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -march=native -O3 -pthread" )

 

 

if(COMMAND cmake_policy)

      cmake_policy(SET CMP0003 NEW)

endif(COMMAND cmake_policy)

 

#set(OpenCV_DIR /usr/local/opencv)

#FIND_PACKAGE( OpenCV REQUIRED )

 

set(SOURCE_FILES

    src/main.cpp

    src/x264_encoder.cpp

    src/h264encoder.c

    src/utils.c

    src/stream_queue.c

    src/rtsp_msg.c

    src/rtsp_demo.c

    src/rtp_enc.c

)

 

include_directories(inc)

 

link_directories(${CMAKE_CURRENT_SOURCE_DIR}/lib)

 

 

# Declare the target (an executable)

ADD_EXECUTABLE(rtspServer  ${SOURCE_FILES})

 

#target_link_libraries(rtspServer ${OpenCV_LIBS})

 

TARGET_LINK_LIBRARIES(rtspServer -L. -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_shape -lopencv_videoio -lx264 -lpthread -lm -ldl -lrt)

#TARGET_LINK_LIBRARIES(rtspServer ${OpenCV_LIBS} -L. -lpthread -lm -ldl -lrt)

 

MESSAGE(STATUS "OpenCV_LIBS: ${OpenCV_LIBS}")

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  sX9JkgY3DY86   2023年11月13日   42   0   0 idesedImage
  b1UHV4WKBb2S   2023年11月13日   39   0   0 ide抗锯齿
  sX9JkgY3DY86   2023年11月13日   17   0   0 分割线ideText
  b1UHV4WKBb2S   2023年11月13日   33   0   0 裁剪ideflutter
  zSWNgACtCQuP   2023年11月13日   29   0   0 ide
kN2oy7RL3Y7v