video analysis2.0拆分,ffmpeg封装go接口库
zhangmeng
2019-09-18 48ced28c279469fd57147cf59419c9655a73c5d4
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
cmake_minimum_required(VERSION 3.3)
 
set(BIN cffmpeg)
 
project(${BIN})
 
# set(CMAKE_C_VISIBILITY_PRESET hidden)
# set(CMAKE_CXX_VISIBILITY_PRESET hidden)
 
set(CMAKE_CXX_FLAGS "-DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic ${CMAKE_CXX_FLAGS}")
set(CMAKE_C_FLAGS "-DLIB_CFFMPEG -fPIC -Wl,-Bsymbolic ${CMAKE_C_FLAGS}")
 
set(CMAKE_CXX_FLAGS_DEBUG "-w -g -O0 -std=c++11 ${CMAKE_CXX_FLAGS}")
set(CMAKE_C_FLAGS_DEBUG "-w -g -O0 ${CMAKE_C_FLAGS}")
 
set(CMAKE_CXX_FLAGS_RELEASE "-w -g -O2 -std=c++11 ${CMAKE_CXX_FLAGS}")
set(CMAKE_C_FLAGS_RELEASE "-w -g -O2 ${CMAKE_C_FLAGS}")
 
include_directories(    
    ${CMAKE_SOURCE_DIR} 
    ${CMAKE_SOURCE_DIR}/csrc/thirdparty 
    ${CMAKE_SOURCE_DIR}/csrc/thirdparty/whereami
    ${CMAKE_SOURCE_DIR}/csrc/thirdparty/ffmpeg/include
    ${CMAKE_SOURCE_DIR}/csrc/thirdparty/gb28181/include
)
 
link_directories(/usr/local/cuda/lib64 ${CMAKE_SOURCE_DIR}/csrc/thirdparty/gb28181/lib)
 
set(CMAKE_LIBRARY_PATH ${CMAKE_SOURCE_DIR}/csrc/thirdparty/ffmpeg/lib ${CMAKE_LIBRARY_PATH})
    find_library(avutil NAMES libavutil.a )
    find_library(avformat NAMES libavformat.a )
    find_library(avcodec NAMES libavcodec.a )
    find_library(avfilter NAMES libavfilter.a)
    find_library(swscale NAMES libswscale.a)
    find_library(265 NAMES libx265.a)
    find_library(264 NAMES libx264.a)
    
set(LINK_LIB 
   ${avformat} 
   ${avcodec} 
   ${avfilter} 
   ${swscale} 
   ${avutil} 
   ${265} 
   ${264} 
   )
 
file(GLOB_RECURSE FFMPEG_LIST ${CMAKE_SOURCE_DIR}/csrc/*.cpp)
list(APPEND FFMPEG_LIST ${CMAKE_SOURCE_DIR}/csrc/thirdparty/whereami/whereami.c)
 
add_library(${BIN} SHARED ${FFMPEG_LIST})
 
target_link_libraries(${BIN} ${LINK_LIB} numa nppig nppicc nppc -lz pthread dl rtspclient StreamParse)