[tsubame]install shotdetect

https://github.com/johmathe/Shotdetect

local

  • depency for the shotdetection tool:
    • sudo apt-get install libavdevice-dev libavformat-dev libgd2-noxpm(can’t find) libgd2-noxpm-dev
    • sudo apt-get install libwxgtk2.6-dev(->)libwxgtk2.8-dev wx2.6-doc**wx2.8-doc** libwxgtk2.6-headers(can’t find)
  • ffmpeg
add-apt-repository ppa:kirillshkrogalev/ffmpeg-next
apt-get update
apt-get install ffmpeg
  • install the toolmkdir -p build && cd build && cmake -D USE_WXWIDGETS:BOOL=OFF .. && make
    • error1: “swscale library not found”
      apt-get install libswscale-dev
    • error2: LIBXML2_LIBRARIES (missing: LIBXML2_INCLUDE_DIR LIBXML2_VERSION_STRING) (Required is at least version “2.7”)
      apt-get install libxml2 libxml2-dev libxslt1-dev
    • error3: /usr/bin/clang++
apt-get install clang-3.5 llvm
sudo ln -s /usr/bin/clang-3.5 /usr/bin/clang
sudo ln -s /usr/bin/clang++-3.5 /usr/bin/clang++
#add ```/work/na/programs/videoshots/code2/Shotdetect/build/``` to ~/.bashrc($PATH)

tsubame

.bashrc

export PATH=$SOFT/libxslt/bin:$SOFT/wxWidgets/bin:$WORK/software/llvm-5.0.0.src/build/bin:/gs/hs0/tga-crest-deep/shinodaG/library/ffmpeg/bin:$PATH
#export PATH=$SOFT/libxslt/bin:$SOFT/wxWidgets/bin:$WORK/software/llvm-5.0.0.src/build/bin:$WORK/software/ffmpeg_sources/build/bin:$PATH
export LD_LIBRARY_PATH=/gs/hs0/tga-crest-deep/shinodaG/library/ffmpeg/lib:$LD_LIBRARY_PATH
#export LD_LIBRARY_PATH=$WORK/software/ffmpeg_sources/build/lib:$LD_LIBRARY_PATH

libgd-2.2.5.tar.gz

mkdir build && cd build
cmake -DENABLE_JPEG=TRUE -DENABLE_PNG=TRUE ..
make 

change cmake/findGD.cmake(FIND_PATH(GD_INCLUDE_DIR gd.hand FIND_LIBRARY(GD_LIBRARY)

libxslt-1.1.32.tar.gz

mkdir build && cd build
../configure --prefix=/gs/hs0/tga-shinoda/15M54105/software_install/libxslt
make
make install

modify ~/.bashrc($PATH,)

wxWidgets-3.1.0.tar.bz2

mkdir gtk-build && cd gtk-build
../configure --enable-unicode --enable-debug --prefix=/gs/hs0/tga-shinoda/15M54105/software_install/wxWidgets
make
make install

modify ~/.bashrc($PATH, $LD_LIBRARY)

install clang

cd /gs/hs0/tga-shinoda/15M54105/software
wget http://releases.llvm.org/5.0.0/llvm-5.0.0.src.tar.xz
tar xvJf llvm-5.0.0.src.tar.xz

wget http://releases.llvm.org/5.0.0/cfe-5.0.0.src.tar.xz
tar xvJf cfe-5.0.0.src.tar.xz
mv cfe-5.0.0.src llvm-5.0.0.src/tools/clang

wget http://releases.llvm.org/5.0.0/clang-tools-extra-5.0.0.src.tar.xz
tar xvJf clang-tools-extra-5.0.0.src.tar.xz
mv clang-tools-extra-5.0.0.src.tar.xz llvm-5.0.0.src/tools/clang/tools/extra

wget http://releases.llvm.org/5.0.0/compiler-rt-5.0.0.src.tar.xz
tar xvJf compiler-rt-5.0.0.src.tar.xz
mv compiler-rt-5.0.0.src llvm-5.0.0.src/projects/compiler-rt

cd llvm-5.0.0.src && mkdir build && cd build

cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/gs/hs0/tga-shinoda/15M54105/software_install/llvm ..
make
make clang
  • add /gs/hs0/tga-shinoda/15M54105/software/build/bin/ /gs/hs0/tga-shinoda/15M54105/software/build/libto ~/.bashrc (seems-DCMAKE_INSTALL_PREFIX=didn’t work)
  • modify CMakeList.txt
SET(CMAKE_C_COMPILER "/gs/hs0/tga-shinoda/15M54105/software/llvm-5.0.0.src/build/bin/clang") 
SET(CMAKE_CXX_COMPILER "/gs/hs0/tga-shinoda/15M54105/software/llvm-5.0.0.src/build/bin/clang++")

other error(ffmpeg)

error happens when make, seems ffmpeg has problems.
new version changed name of function, so the previous version should work. But if you installed the new version, just change the source code of the tool.
I modified the .bashrc to use the ffmpeg installed in tsubame by RY.

change source code(film.cc)

vim $WORK/videoshot_iccv/Shotdetect/src/film.cc
%s/AV_PIX_FMT_RGB24/PIX_FMT_RGB24/g
%s/avcodec_decode_video2/av_frame_alloc/g

change source code(FindFFmpeg.cmake)

add three lines in videoshot_iccv/Shotdetect/cmake/FindFFmpeg.cmake

FFMPEG_FIND(LIBSWRESAMPLE  swresample  swresample.h) ###new line1
127 
128 SET(FFMPEG_FOUND "NO")
129 IF   (FFMPEG_LIBAVFORMAT_FOUND AND FFMPEG_LIBAVDEVICE_FOUND AND FFMPEG_LIBAVCODEC_FOUND AND FFMPEG_LIBAVUTIL_FOUND AND FFMPEG_LIBSWSCALE_FOUND AND FFMPEG_LIBSWRESAMPLE_FOUND AND STDINT_OK)
130 
131     SET(FFMPEG_FOUND "YES")
132 
133     SET(FFMPEG_INCLUDE_DIRS
134         ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}
135         ${FFMPEG_LIBAVDEVICE_INCLUDE_DIRS}
136         ${FFMPEG_LIBAVCODEC_INCLUDE_DIRS}
137         ${FFMPEG_LIBAVUTIL_INCLUDE_DIRS}
138         ${FFMPEG_SWSCALE_INCLUDE_DIRS}
139 ${FFMPEG_SWRESAMPLE_INCLUDE_DIRS} ###new line2
140     )
141 
142     IF (${FFMPEG_STDINT_INCLUDE_DIR})
143         SET(FFMPEG_INCLUDE_DIRS
144             ${FFMPEG_INCLUDE_DIRS}
145             ${FFMPEG_STDINT_INCLUDE_DIR}
146         )
147     ENDIF()
148 
149 
150     SET(FFMPEG_LIBRARY_DIRS ${FFMPEG_LIBAVFORMAT_LIBRARY_DIRS})
151 
152     SET(FFMPEG_LIBRARIES
153         ${FFMPEG_LIBAVFORMAT_LIBRARIES}
154         ${FFMPEG_LIBAVDEVICE_LIBRARIES}
155         ${FFMPEG_LIBAVCODEC_LIBRARIES}
156         ${FFMPEG_LIBAVUTIL_LIBRARIES}
157         ${FFMPEG_LIBSWSCALE_LIBRARIES}
158 ${FFMPEG_LIBSWRESAMPLE_LIBRARIES}) ###new line3

change source code3 (CMakeList.txt)

38c38
<       PKG_CHECK_MODULES (FFMPEG_PKG REQUIRED libavcodec libavfilter libavutil libavdevice libavformat libavformat libswscale libswresample)
---
>       PKG_CHECK_MODULES (FFMPEG_PKG REQUIRED libavcodec libavfilter libavutil libavdevice libavformat libavformat libswscale)
70,74d69
< ENDIF()
< IF(FFMPEG_LIBSWRESAMPLE_FOUND)
<         MESSAGE(STATUS "swresample library found: ${FFMPEG_LIBSWRESAMPLE_LIBRARIES}")
< ELSE()
<         MESSAGE(STATUS "swresample library not found.")

flow

cd $WOK/videoshot_iccv/Shotdetect
mkdir build -p
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D USE_WXWIDGETS:BOOL=OFF -DCMAKE_EXE_LINKER_FLAGS="-ldl -lz -llzma -lpthread" .. 
make
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值