ffmpeg 全部入り
5年くらい前に仕事でFFmpeg
に出会って以来、公私ともどもずっとお世話になっているので、そろそろ本気出して出来る限り多くのライブラリをリンクさせようと思ったのが9月初旬。
その結果わかったことは、めっちゃ時間かかるということでした。
まだ終わってませんが、本日(9/24)いったん投稿。
共通の処理
ffmpeg: error while loading shared libraries: libfaac.so.0: cannot open shared object file: No such file or directory
のように、ライブラリが見つからないと言われたら
$ ldd /usr/local/bin/ffmpeg
で調べたのち、ld.so.conf
を編集し再読み込み
# vi /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib
# ldconfig -v
ffmpeg
のconfigure
でつまずいたら、config.log
を確認して原因を調査する。
--enable-avisynth
windowsビルドする場合は入れます。でもAvisynth 2.6になってるので注意!
--enable-cuda
--enable-chromaprint
$ wget https://bitbucket.org/acoustid/chromaprint/downloads/chromaprint-1.3.1.tar.gz
$ tar zxvf chromaprint-1.3.1.tar.gz
$ cd chromaprint-1.3.1
$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local .
$ make -j4
Linking CXX shared library libchromaprint.so
[ 50%] Built target chromaprint_p
/usr/bin/ld: /usr/local/lib/libavcodec.a(dct.o): relocation R_X86_64_32S against `.text' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libavcodec.a: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [src/libchromaprint.so.1.3.0] Error 1
make[1]: *** [src/CMakeFiles/chromaprint.dir/all] Error 2
make: *** [all] Error 2
--enable-fontconfig
# yum install fontconfig fontconfig-devel
--enable-frei0r
$ git clone git://code.dyne.org/frei0r.git
$ cd frei0r
$ autoreconf -i
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
--enable-gnutls (未完)
--enable-ladspa
SDL2
$ git clone https://github.com/swh/ladspa.git
$ cd ladspa
$ autoreconf -i
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
--enable-libaacplus(未完)
FFTW
# yum install fftw fftw-devel fftw-static
$ wget http://tipok.org.ua/downloads/media/aacplus/libaacplus/libaacplus-2.0.2.tar.gz
$ tar zxvf libaacplus-2.0.2.tar.gz
$ cd libaacplus-2.0.2
$ autoreconf -i
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
sbr.h:165: error: expected specifier-qualifier-list before ‘SBR_TON_CORR_EST’
--enable-libass
$ git clone https://github.com/libass/libass.git
$ cd libass
$ autoreconf -i
$ ./configure --prefix=/usr/local --enable-shared --enable-static
checking for FRIBIDI... configure: error: Package requirements (fribidi >= 0.19.0) were not met:
No package 'fribidi' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables FRIBIDI_CFLAGS
and FRIBIDI_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
fribidi
$ wget http://fribidi.org/download/fribidi-0.19.7.tar.bz2
$ tar jxvf fribidi-0.19.7.tar.bz2
$ cd fribidi-0.19.7
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
$ cd libass
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
--enable-libbluray
libudfread
$ git clone git://git.videolan.org/libudfread.git
$ cd libudfread
$ autoreconf -i
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
$ git clone git://git.videolan.org/libbluray.git
$ cd libbluray
$ cp -r libudfread/src libbluray/contrib/libudfread/src
$ autoreconf -i
$ ./configure --prefix=/usr/local --enable-shared --enable-static --enable-udf --disable-bdjava
$ make
# make install
--enable-libbs2b
# yum install libbs2b libbs2b-devel
--enable-libcaca
# yum install libcaca libcaca-devel
--enable-libcelt
# yum install celt celt-devel
ERROR: libcelt must be installed and version must be >= 0.11.0.
# yum erase celt celt-devel
$ git clone https://git.xiph.org/celt.git
$ cd celt
$ autoreconf -i
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
--enable-libdc1394
$ git clone git://libdc1394.git.sourceforge.net/gitroot/libdc1394/libdc1394/
$ cd libdc1394/libdc1394
$ autoreconf -i
$ autoreconf -i
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
--enable-libfaac
$ wget http://downloads.sourceforge.net/faac/faac-1.28.tar.bz2
$ tar jxvf faac-1.28.tar.bz2
$ cd faac-1.28
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
mpeg4ip.h:126: error: new declaration ‘char* strcasestr(const char*, const char*)’
$ emacs ./common/mp4v2/mpeg4ip.h
lines 126
- char *strcasestr(const char *haystack, const char *needle);
+ //char *strcasestr(const char *haystack, const char *needle);
$ make
# make install
--enable-libfdk-aac
$ git clone https://github.com/mstorsjo/fdk-aac
$ cd fdk-aac
$ ./autogen.sh
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
--enable-libflite (未完)
$ wget http://www.speech.cs.cmu.edu/flite/packed/flite-1.4/flite-1.4-release.tar.bz2
$ tar jxvf flite-1.4-release.tar.bz2
$ cd flite-1.4-release
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
mkdir: cannot create directory `shared_os': File exists
make[1]: *** [../build/x86_64-linux-gnu/lib/libflite_cmu_time_awb.so] Error 1
make[1]: *** Waiting for unfinished jobs....
mkdir: cannot create directory `shared_os': File exists
make[1]: *** [../build/x86_64-linux-gnu/lib/libflite_cmu_us_slt.so] Error 1
make: *** [build/x86_64-linux-gnu/obj//.make_build_dirs] Error 2
--enable-libfreetype
$ git clone git://git.sv.nongnu.org/freetype/freetype2.git
$ cd freetype2
$ sh autogen.sh
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
--enable-libfribidi
--enable-libass
参照
--enable-libgme
$ wget https://game-music-emu.googlecode.com/files/game-music-emu-0.6.0.tar.bz2
$ tar jxvf game-music-emu-0.6.0.tar.bz2
$ cd game-music-emu-0.6.0
$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local .
$ make
# make install
--enable-libgsm
$ wget http://www.quut.com/gsm/gsm-1.0.14.tar.gz
$ tar zxvf gsm-1.0.14.tar.gz
$ cd gsm-1.0-pl14/
$ make
# cp lib/libgsm.a /usr/local/lib
# cp inc/gsm.h /usr/local/include
--enable-libiec61883
$ git clone git://dennedy.org/libiec61883.git
$ cd libiec61883
$ ./configure --prefix=/usr/local --enable-shared --enable-static
checking for LIBRAW1394... configure: error: Package requirements (libraw1394 >= 1.2.1) were not met:
No package 'libraw1394' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables LIBRAW1394_CFLAGS
and LIBRAW1394_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
libraw1394
$ git clone git://dennedy.org/libraw1394.git
$ cd libraw1394
$ autoreconf -i
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
/usr/bin/ld: cannot find -lavc1394
$ svn checkout http://svn.code.sf.net/p/libavc1394/code/trunk libavc1394
$ cd libavc1394/libavc1394
$ sh bootstrap
$ --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
--enable-libilbc
$ git clone https://github.com/TimothyGu/libilbc.git
$ cd libilbc
$ autoreconf -i
$ make
# make install
--enable-libkvazaar
$ git clone https://github.com/ultravideo/kvazaar.git
$ cd kvazaar
$ cd src
$ export CC=gcc
$ make
cc1: error: unrecognized command line option "-fno-lto"
make: *** [strategies/sse2/picture-sse2.o] Error 1
make: *** Waiting for unfinished jobs....
$ export CC=clang
/usr/bin/ld: cannot find -lgcc_s
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [kvazaar] Error 1
make: *** Waiting for unfinished jobs....
$ export CC=gcc
$ make
# make install
--enable-libmfx (未完)
$ git clone https://github.com/lu-zero/mfx_dispatch.git
$ autoreconf -i
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
gcc -Wl,--as-needed -Wl,-z,noexecstack -I/usr/local/include -L/usr/local/lib -o /tmp/ffconf.KwrAwxCz /tmp/ffconf.qW3Nk1pj.o -lmfx -lstdc++ -ldl -L/usr/local/lib -lkvazaar -lm -lrt -lilbc -lgsm -L/usr/local/lib -lfribidi -lglib-2.0 -L/usr/local/lib -lfreetype -lfontconfig -L/usr/local/lib -lfdk-aac -lfaac -lcaca -lcelt0 -lcelt0 -lbs2b -L/usr/local/lib -lass -lraw1394 -lavc1394 -lrom1394 -liec61883 -lm -lz -pthread -lrt
/usr/local/lib/libmfx.so: undefined reference to `mfx_allocate_va'
/usr/local/lib/libmfx.so: undefined reference to `mfx_deallocate_va'
collect2: ld returned 1 exit status
ERROR: libmfx not found using pkg-config
$ objdump -S /usr/local/lib/libmfx.so | grep mfx_allocate_va
0000000000006110 <mfx_allocate_va@plt>:
void *handle = mfx_allocate_va(session);
6d00: e8 0b f4 ff ff callq 6110 <mfx_allocate_va@plt>
$ objdump -S /usr/local/lib/libmfx.so | grep mfx_deallocate_va
0000000000006240 <mfx_deallocate_va@plt>:
mfx_deallocate_va(pHandle->internal_hwctx);
85dd: e8 5e dc ff ff callq 6240 <mfx_deallocate_va@plt>
$ pkg-config --list-all | grep libmfx
libmfx libmfx - Intel Media SDK Dispatched static library
--enable-libmodplug
$ git clone git://git.code.sf.net/p/modplug-xmms/git modplug-xmms-git
$ cd modplug-xmms-git/libmodplug
$ autoreconf -i
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
--enable-libmp3lame
$ wget http://jaist.dl.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
$ tar zxvf lame-3.99.5.tar.gz
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
--enable-libnut (保留)
--enable-libopencore-amrnb, --enable-libopencore-amrwb
$ wget http://jaist.dl.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-0.1.3.tar.gz
$ tar zxvf opencore-amr-0.1.3.tar.gz
$ cd opencore-amr-0.1.3
$ ./configure --prefix=/usr/local --enable-shared --enable-static --enable-amrnb-encoder --enable-amrnb-decoder
$ make
# make install
--enable-libopencv
# yum install opencv-devel
--enable-libopenh264
$ git clone https://github.com/cisco/openh264.git
$ cd openh264
$ make
make: nasm: Command not found
make: *** [codec/common/x86/cpuid.o] Error 127
make: *** Waiting for unfinished jobs....
# yum install nasm
$ make
# make install
/usr/localにインストールされます
--enable-libopenjpeg
# yum install openjpeg openjpeg-devel openjpeg-libs
--enable-libopus
$ git clone https://git.xiph.org/opus.git
$ cd opus
$ autoreconf -i
$ ./configure --prefix=/usr/local --enable-shared --enable-static --enable-custom-modes --enable-float-approx --enable-intrinsics --enable-assertions --enable-fuzzing
$ make
# make install
--enable-libpulse(保留)
$ git clone http://anongit.freedesktop.org/git/pulseaudio/pulseaudio.git
$ cd pulseaudio
$ ./bootstrap.sh
./bootstrap.sh: line 46: intltoolize: command not found
# yum install intltool
$ ./bootstrap.sh
autopoint: *** The AM_GNU_GETTEXT_VERSION declaration in your configure.ac file requires the infrastructure from gettext-0.18.1 but this version is older. Please upgrade to gettext-0.18.1 or newer.
$ gettext --version
gettext (GNU gettext-runtime) 0.17
gettext のアップデートはちょっとやだな~
/usr/local
にインストールする
$ wget http://ftp.gnu.org/pub/gnu/gettext/gettext-0.19.6.tar.gz
$ tar zxvf gettext-0.19.6.tar.gz
$ cd gettext
$ ./configure --prefix=/usr/local
$ make
# make install
インストール保留
$ ./bootstrap.sh
configure.ac:374: error: Libtool version 2.4 or higher is required
インストール保留
Libtool
$ git clone git://git.savannah.gnu.org/libtool.git
$ ./bootstrap
bootstrap: error: Prerequisite 'help2man' not found. Please install it, or
bootstrap: 'export HELP2MAN=/path/to/help2man'.
bootstrap: error: Prerequisite 'makeinfo' not found. Please install it, or
bootstrap: 'export MAKEINFO=/path/to/makeinfo'.
bootstrap: error: HACKING explains how to obtain these prerequisite programs:
bootstrap: Program Min_version Homepage
bootstrap: -----------------------------------------------------------
bootstrap: help2man 1.29 http://www.gnu.org/s/help2man
bootstrap: make 3.81 http://www.gnu.org/s/make
bootstrap: makeinfo 4.8 http://www.gnu.org/s/texinfo
bootstrap: xz 4.999.8beta http://tukaani.org/xz
bootstrap: autoconf 2.62 http://www.gnu.org/s/autoconf
bootstrap: automake 1.11.1 http://www.gnu.org/s/automake
bootstrap: -----------------------------------------------------------
help2man, texinfo
# yum install help2man texinfo
# yum erase libtool
$ ./bootstrap
$ ./configure --prefix=/usr
$ make
# make install
$ ./bootstrap.sh
./configure: line 9408: syntax error near unexpected token `2.4'
./configure: line 9408: `LT_PREREQ(2.4)'
インストール保留
--enable-libquvi(未完)
$ git clone https://github.com/mogaal/libquvi.git
$ cd libquvi
$ ./configure --prefix=/usr/local --enable-shared --enable-static
checking for a2x... no
configure: error: a2x is required to create man pages when building from git
# yum install asciidoc
$ ./configure --prefix=/usr/local --enable-shared --enable-static
configure: error: Package requirements (lua-5.1 >= 5.1) were not met:
No package 'lua-5.1' found
# yum install lua-devel
$ ./configure --prefix=/usr/local --enable-shared --enable-static
checking for libproxy... no
configure: error: Package requirements (libproxy-1.0 >= 0.3.1) were not met:
No package 'libproxy-1.0' found
# yum install libproxy-devel
Removing:
libproxy-devel x86_64 0.3.0-10.el6 base 3.6 k
NG
--enable-librtmp
$ git clone git://git.ffmpeg.org/rtmpdump
$ cd rtmpdump
$ cd librtmp
$ vi Makefile /* 必要あれば */
$ make
# make install
--enable-libschroedinger
$ wget http://diracvideo.org/download/schroedinger/schroedinger-1.0.11.tar.gz
$ tar zxvf schroedinger-1.0.11.tar.gz
$ ./configure --prefix=/usr/local --enable-shared --enable-static
checking for ORC... no
configure: error: orc-0.4 >= 0.4.16 is required
Orc
$ git clone http://anongit.freedesktop.org/git/gstreamer/orc.git
$ cd orc
$ ./autogen.sh
configure.ac:1: error: Autoconf version 2.68 or higher is required
autoconf
$ wget http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz
$ tar zxvf autoconf-latest.tar.gz
$ cd autoconf-2.69
$ ./configure --prefix=/usr/local
$ make
# make install
$ autoreconf -i
$ ./configure --prefix=/usr/local --enable-shared --enable-static -disable-gtk-doc
$ make
# make install
$ export LDFLAGS='-L/usr/local/lib'
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
liborc.so
がうまくリンクできないときは# ldconfig -v
を実行する
--enable-libshine(保留)
$ wget http://jaist.dl.sourceforge.net/project/libshine-fxp/libshine-fxp/2007-01-04/libshine-fxp_20070104.tgz
$ tar zxvf libshine-fxp_20070104.tgz
$ cd libshine-fxp
$ cp Makefile-generic Makefile
$ make
gcc: L3loop.o: No such file or directory
$ make
/usr/bin/ld: cannot find -lgcc_s
64bitビルドができないっぽいので、保留
--enable-libsmbclient
# yum install libsmbclient libsmbclient-devel
--enable-libsnappy
$ git clone https://github.com/google/snappy.git
$ snappy
$ ./autogen.sh
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
--enable-libsoxr
$ git clone http://git.code.sf.net/p/soxr/code soxr
$ cd soxr
$ mkdir build
$ cd build
$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local ..
$ make
# make install
--enable-libspeex
$ git clone http://git.xiph.org/speex.git/
$ cd speex
$ ./autoge.sh
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
--enable-libssh
# yum install libssh libssh-devel
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
libssh x86_64 0.5.5-4.el6 epel 121 k
libssh-devel x86_64 0.5.5-4.el6 epel 178 k
Transaction Summary
================================================================================
Install 2 Package(s)
yum だと古いですね。。sshとかは新しいほうがいい気がする。
$ git clone git://git.libssh.org/projects/libssh.git
$ cd libssh
$ mkdir build
$ cd build
$ cmake -DCMAKE_INSTALL_PREFIC=/usr/local ..
$ make
# make install
--enable-libstagefright-h(保留)
--enable-libtheora
$ git clone https://git.xiph.org/theora.git
$ cd theora
$ ./autogen
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
--enable-libtwolame
$ git clone https://github.com/njh/twolame.git
$ cd twolama
$ ./autogen.sh
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
--enable-libutvideo(未完)
$ git clone https://github.com/qyot27/libutvideo.git
--enable-libv4l2
$ git clone https://github.com/koradlow/v4l2-rds-ctl.git
$ cd v4l2-rds-ctl
$ autoreconf -i
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
ffmpeg configure error : libv4l2 not found pkg-config
--enable-libvidstab
$ git clone https://github.com/georgmartius/vid.stab.git
$ cd vid.stab
$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local
$ make
# make install
--enable-libvo-aacenc
$ git clone http://git.code.sf.net/p/opencore-amr/vo-aacenc vo-aacenc
$ cd vo-aacenc
$ autoreconf -i
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
--enable-libvo-amrwbenc
$ git clone http://git.code.sf.net/p/opencore-amr/vo-amrwbenc vo-amrwbenc
$ cd vo-amrwbenc
$ autoreconf -i
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
--enable-libvorbis
$ git clone https://git.xiph.org/vorbis.git
$ cd vorbis
$ ./autogen.sh
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
--enable-libvpx
$ git clone https://chromium.googlesource.com/webm/libvpx
$ cd libvpx
$ ./configure --prefix=/usr/local --enable-shared --enable-static --enable-vp8 --enable-vp9 --enable-vp10
$ make
# make install
--enable-libwavpack
$ wget http://www.wavpack.com/wavpack-4.75.0.tar.bz2
$ tar jxvf wavpack-4.75.0.tar.bz2
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
--enable-libwebp
$ wget http://downloads.webmproject.org/releases/webp/libwebp-0.4.3.tar.gz
$ tar zxvf libwebp-0.4.3.tar.gz
$ cd libwebp-0.4.3
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
--enable-libx264
$ git clone git://git.videolan.org/x264.git
$ cd x264
$ ./configure --prefix=/usr/local --enable-shared --enable-static --disable-ffms
$ make
x264.c: In function ‘print_csp_names’:
x264.c:445: error: variable ‘i’ has initializer but incomplete type
x264.c:445: error: storage size of ‘i’ isn’t known
x264.c:445: error: ‘enum PixelFormat’ declared in ‘for’ loop initial declaration
x264.c:445: warning: unused variable ‘i’
make: *** [x264.o] Error 1
make: *** Waiting for unfinished jobs....
445 lines
- for( enum PixelFormat i = AV_PIX_FMT_NONE+1; i < AV_PIX_FMT_NB; i++ )
+ for( int i = AV_PIX_FMT_NONE+1; i < AV_PIX_FMT_NB; i++ )
$ make
# make install
--enable-libx265
$ hg clone http://hg.videolan.org/x265
$ cd x265
$ cd build/linux
$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local ../../source
$ make
# make install
--enable-libxavs
$ svn co https://svn.code.sf.net/p/xavs/code/trunk/ libxavs
$ cd libxavs
$ ./configure --prefix=/usr/local
$ make
# make install
--enable-libxcb
$ wget http://xcb.freedesktop.org/dist/libxcb-1.11.tar.gz
$ tar zxvf libxcb-1.11.tar.gz
$ ./configure --prefix=/usr/local --enable-shared --enable-static
configure: error: Package requirements (xcb-proto >= 1.11) were not met:
$ wget http://xcb.freedesktop.org/dist/xcb-proto-1.11.tar.bz2
$ tar jxvf xcb-proto-1.11.tar.bz2
$ ./configure --prefix=/usr/local
$ make
# make install
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
ffmpeg
のビルドに失敗するようになります。。調査中
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/libX11.so: undefined reference to xcb_poll_for_reply64' /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/libX11.so: undefined reference to
xcb_wait_for_reply64'
collect2: ld returned 1 exit status
make: *** [ffmpeg_g] Error 1
--enable-libxcb-shm
libxcb
と一緒にインストールされます
--enable-libxcb-xfixes
libxcb
と一緒にインストールされます
--enable-libxcb-shape
libxcb
と一緒にインストールされます
--enable-libxvid
$ svn co http://svn.xvid.org/trunk --username anonymous xvid
$ cd xvid/xvidcore/build/generic
$ ./bootstrap
$ ./configure --prefix=/usr/local
$ make
# make install
--enable-libzmq
$ git clone https://github.com/zeromq/libzmq.git
$ cd libzmq
$ ./autogen.sh
$ ./configure --prefix=/usr/local --enable-shared --enable-static
checking for sodium... configure: error: Package requirements (libsodium) were not met:
No package 'libsodium' found
libsodium
$ git clone https://github.com/jedisct1/libsodium.git
$ cd libsodium
$ ./autogen.sh
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
--enable-libzvbi
$ wget http://jaist.dl.sourceforge.net/project/zapping/zvbi/0.2.35/zvbi-0.2.35.tar.bz2
$ tar jxvf zvbi-0.2.35.tar.bz2
$ cd zvbi-0.2.35
$ ./configure --prefix=/usr/local --enable-shared --enable-static
$ make
# make install
--enable-decklink
Desktop Video 10.5 SDK ダウンロード (2015年9月25日現在の最新版)
$ unzip Blackmagic_DeckLink_SDK_10.5.zip
# cp Blackmagic\ DeckLink\ SDK\ 10.5/Linux/include/*.* /usr/local/include
たぶん、DeckLinkAPI.h
とDeckLinkAPIDispatch.cpp
で足りると思いますが
とりあえず全部コピーしてffmpeg
をビルド。
--enable-mmal(未完)
$ git clone https://github.com/raspberrypi/userland.git
$ cd userland
--enable-nvenc
https://developer.nvidia.com/nvidia-video-codec-sdk
https://developer.nvidia.com/cuda-downloads
$ wget http://developer.download.nvidia.com/compute/nvenc/v5.0/nvenc_5.0.1_sdk.zip
$ unzip nvenc_5.0.1_sdk.zip
$ cd nvenc_5.0.1_sdk
# cp common/inc/NvEncoderAPI.h /usr/local/include
--enable-openal
$ git clone git://repo.or.cz/openal-soft.git
$ cd openal-soft
$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local .
$ make
Building C object CMakeFiles/alffplay.dir/examples/alffplay.c.o
/path/to/openal-soft/examples/alffplay.c: In function ‘audio_thread’:
/path/to/openal-soft/examples/alffplay.c:689: warning: signed and unsigned type in conditional expression
/path/to/openal-soft/examples/alffplay.c: In function ‘update_picture’:
/path/to/openal-soft/examples/alffplay.c:945: error: ‘PIX_FMT_YUV420P’ undeclared (first use in this function)
/path/to/openal-soft/examples/alffplay.c:945: error: (Each undeclared identifier is reported only once
/path/to/openal-soft/examples/alffplay.c:945: error: for each function it appears in.)
make[2]: *** [CMakeFiles/alffplay.dir/examples/alffplay.c.o] Error 1
make[1]: *** [CMakeFiles/alffplay.dir/all] Error 2
make: *** [all] Error 2
/* エラーするけどライブラリはできてる */
$ ls -la libopenal*
lrwxrwxrwx 1 **** **** 14 Sep 30 23:15 libopenal.so -> libopenal.so.1
lrwxrwxrwx 1 **** **** 19 Sep 30 23:15 libopenal.so.1 -> libopenal.so.1.16.0
-rwxr-xr-x 1 **** **** 1951889 Sep 30 23:15 libopenal.so.1.16.0
/* make install できないので手動コピー */
# cp -df libopenal* /usr/local/lib
# cp -r include/AL /usr/local/include
--enable-opencl(保留)
ビデオカードが何処製か調べる。
https://ja.wikipedia.org/wiki/OpenCL#OpenCL.E9.96.8B.E7.99.BA.E7.92.B0.E5.A2.83
# yum install pciutils
# lspci | grep VGA
00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter
--enable-opengl(保留)
ビデオカードが何処製か調べる。
https://www.opengl.org/wiki/Getting_Started#Linux
# yum install pciutils
# lspci | grep VGA
00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter
--enable-openssl
SSLの類は新しい方がよいでしょう。
https://www.openssl.org/
$ git clone git://git.openssl.org/openssl.git
$ cd openssl
$ ./config --prefix=/usr/local shared
$ make
# make install
--enable-x11grab
特に無し
ビルド結果
ビルド結果を投稿しました。