Skip to content

Commit 383a08a

Browse files
author
Clement Champetier
committed
Travis: install third parties of ffmpeg/libav
* Fix #222 * YASM_VERSION=1.3.0 * X264 (latest) * LAME_VERSION=3.99.5 * FAAC_VERSION=1.28 * XVID_VERSION=1.3.3 * FDKAAC_VERSION=0.1.3 * OGG_VERSION=1.3.2 * VORBIS_VERSION=1.3.4 * VPX_VERSION=1.4.0 * LIBOPUS (latest)
1 parent b80244c commit 383a08a

File tree

2 files changed

+173
-9
lines changed

2 files changed

+173
-9
lines changed

.travis.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,15 @@ env:
2020
- AVTRANSCODER_INSTALL_PATH=${TRAVIS_BUILD_DIR}/${AVTRANSCODER_INSTALL}
2121
- DEPENDENCY_INSTALL=install-dependency
2222
- DEPENDENCY_INSTALL_PATH=${TRAVIS_BUILD_DIR}/${DEPENDENCY_INSTALL}
23+
24+
- YASM_VERSION=1.3.0
25+
- LAME_VERSION=3.99.5
26+
- FAAC_VERSION=1.28
27+
- XVID_VERSION=1.3.3
28+
- FDKAAC_VERSION=0.1.3
29+
- OGG_VERSION=1.3.2
30+
- VORBIS_VERSION=1.3.4
31+
- VPX_VERSION=1.4.0
2332
matrix:
2433
- DEPENDENCY_NAME=libav DEPENDENCY_VERSION=11.3 ENABLE_COVERAGE=true
2534
- DEPENDENCY_NAME=libav DEPENDENCY_VERSION=11.3 ENABLE_COVERAGE=false

tools/travis/linux.install.deps.sh

Lines changed: 164 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,175 @@ set -x
77
# In that case, use a simple check to detect if the cache is already there.
88
if [ -z ${TRAVIS_JOB_ID} ] || [ ! -d "${DEPENDENCY_INSTALL_PATH}/lib/" ]; then
99

10+
export LD_LIBRARY_PATH=${DEPENDENCY_INSTALL_PATH}/lib:${DEPENDENCY_INSTALL_PATH}/lib64
11+
export PKG_CONFIG_PATH=${DEPENDENCY_INSTALL_PATH}/lib/pkgconfig:${DEPENDENCY_INSTALL_PATH}/lib64/pkgconfig
12+
export PATH=$PATH:${DEPENDENCY_INSTALL_PATH}/bin
13+
14+
# yasm
15+
echo "Building YASM (${YASM_VERSION})"
16+
DIR=$(mktemp -d) && cd ${DIR} && \
17+
curl -Os http://www.tortall.net/projects/yasm/releases/yasm-${YASM_VERSION}.tar.gz && \
18+
tar xzvf yasm-${YASM_VERSION}.tar.gz && \
19+
cd yasm-${YASM_VERSION} && \
20+
./configure --prefix="$DEPENDENCY_INSTALL_PATH" --bindir="${DEPENDENCY_INSTALL_PATH}/bin" && \
21+
make -k && \
22+
make install && \
23+
rm -rf ${DIR}
24+
25+
# x264
26+
echo ""
27+
echo "Building x264 (last version)"
28+
DIR=$(mktemp -d) && cd ${DIR} && \
29+
git clone --depth 1 git://git.videolan.org/x264 && \
30+
cd x264 && \
31+
./configure --prefix="$DEPENDENCY_INSTALL_PATH" --bindir="${DEPENDENCY_INSTALL_PATH}/bin" --enable-shared --disable-asm && \
32+
make -k && \
33+
make install && \
34+
rm -rf ${DIR}
35+
36+
# libmp3lame
37+
echo ""
38+
echo "Building libmp3lame (${LAME_VERSION})"
39+
DIR=$(mktemp -d) && cd ${DIR} && \
40+
curl -L -Os http://downloads.sourceforge.net/project/lame/lame/${LAME_VERSION%.*}/lame-${LAME_VERSION}.tar.gz && \
41+
tar xzvf lame-${LAME_VERSION}.tar.gz && \
42+
cd lame-${LAME_VERSION} && \
43+
./configure --prefix="${DEPENDENCY_INSTALL_PATH}" --bindir="${DEPENDENCY_INSTALL_PATH}/bin" --enable-nasm && \
44+
make -k && \
45+
make install && \
46+
rm -rf ${DIR}
47+
48+
49+
# faac
50+
# http://stackoverflow.com/a/4320377
51+
# http://sourceforge.net/p/faac/bugs/162/#46a0
52+
echo ""
53+
echo "Building faac (${FAAC_VERSION})"
54+
DIR=$(mktemp -d) && cd ${DIR} && \
55+
curl -L -Os http://downloads.sourceforge.net/faac/faac-${FAAC_VERSION}.tar.gz && \
56+
tar xzvf faac-${FAAC_VERSION}.tar.gz && \
57+
cd faac-${FAAC_VERSION} && \
58+
#sed -i '126d' common/mp4v2/mpeg4ip.h && \
59+
./bootstrap && \
60+
./configure --prefix="${DEPENDENCY_INSTALL_PATH}" --bindir="${DEPENDENCY_INSTALL_PATH}/bin" --enable-shared --with-mp4v2=no && \
61+
make -k && \
62+
make install && \
63+
rm -rf ${DIR}
64+
65+
# xvid
66+
echo ""
67+
echo "Building xvid (${XVID_VERSION})"
68+
DIR=$(mktemp -d) && cd ${DIR} && \
69+
curl -L -Os http://downloads.xvid.org/downloads/xvidcore-${XVID_VERSION}.tar.gz && \
70+
tar xzvf xvidcore-${XVID_VERSION}.tar.gz && \
71+
cd xvidcore/build/generic && \
72+
./configure --prefix="${DEPENDENCY_INSTALL_PATH}" --bindir="${DEPENDENCY_INSTALL_PATH}/bin" && \
73+
make -k && \
74+
make install && \
75+
rm -rf ${DIR}
76+
77+
78+
# fdk-aac
79+
# Warning: need automake + libtool
80+
echo ""
81+
echo "Building fdk-aac (${FDKAAC_VERSION})"
82+
DIR=$(mktemp -d) && cd ${DIR} && \
83+
curl -s https://codeload.github.com/mstorsjo/fdk-aac/tar.gz/v${FDKAAC_VERSION} | tar zxvf - && \
84+
cd fdk-aac-${FDKAAC_VERSION} && \
85+
autoreconf -fiv && \
86+
./configure --prefix="${DEPENDENCY_INSTALL_PATH}" --enable-shared && \
87+
make -k && \
88+
make install && \
89+
rm -rf ${DIR}
90+
91+
# libogg
92+
echo ""
93+
echo "Building libogg (${OGG_VERSION})"
94+
DIR=$(mktemp -d) && cd ${DIR} && \
95+
curl -O http://downloads.xiph.org/releases/ogg/libogg-${OGG_VERSION}.tar.gz && \
96+
tar xzvf libogg-${OGG_VERSION}.tar.gz && \
97+
cd libogg-${OGG_VERSION} && \
98+
./configure --prefix="${DEPENDENCY_INSTALL_PATH}" --disable-shared --with-pic && \
99+
make -k && \
100+
make install && \
101+
rm -rf ${DIR}
102+
103+
# libvorbis
104+
echo ""
105+
echo "Building libvorbis (${VORBIS_VERSION})"
106+
DIR=$(mktemp -d) && cd ${DIR} && \
107+
curl -O http://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VERSION}.tar.gz && \
108+
tar xzvf libvorbis-${VORBIS_VERSION}.tar.gz && \
109+
cd libvorbis-${VORBIS_VERSION} && \
110+
./configure --prefix="${DEPENDENCY_INSTALL_PATH}" --with-ogg="${DEPENDENCY_INSTALL_PATH}" --disable-shared --with-pic && \
111+
make -k && \
112+
make install && \
113+
rm -rf ${DIR}
114+
115+
# libvpx
116+
# https://trac.ffmpeg.org/ticket/4956
117+
echo ""
118+
echo "Building libvpx (${VPX_VERSION})"
119+
DIR=$(mktemp -d) && cd ${DIR} && \
120+
git clone https://github.com/webmproject/libvpx.git && \
121+
cd libvpx && \
122+
git checkout v${VPX_VERSION} && \
123+
./configure --prefix="${DEPENDENCY_INSTALL_PATH}" --disable-examples --enable-pic && \
124+
make -k && \
125+
make install && \
126+
rm -rf ${DIR}
127+
128+
# libopus
129+
echo ""
130+
echo "Building libopus (last version)"
131+
DIR=$(mktemp -d) && cd ${DIR} && \
132+
git clone git://git.opus-codec.org/opus.git && \
133+
cd opus && \
134+
autoreconf -fiv && \
135+
./configure --prefix="${DEPENDENCY_INSTALL_PATH}" --enable-shared --with-pic && \
136+
make -k && \
137+
make install && \
138+
rm -rf ${DIR}
139+
140+
export COMPILE_OPTIONS=--extra-cflags="-I${DEPENDENCY_INSTALL_PATH}/include" --extra-ldflags="-L${DEPENDENCY_INSTALL_PATH}/lib64 -L${DEPENDENCY_INSTALL_PATH}/lib" --bindir="${DEPENDENCY_INSTALL_PATH}/bin" --extra-libs=-ldl --enable-small --enable-shared --disable-static
141+
export RELEASE_OPTIONS=--disable-debug
142+
export DEBUG_OPTIONS=--enable-debug=3 --disable-optimizations --disable-sse --disable-stripping
143+
export LICENSING_OPTIONS=--enable-gpl --enable-nonfree
144+
export THIRD_PARTIES_OPTIONS=--enable-libfaac --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-postproc --enable-avresample --enable-libfdk_aac --enable-libopus --enable-libvorbis --enable-libvpx
145+
10146
if [[ ${DEPENDENCY_NAME} == "ffmpeg" ]]; then
11147

12-
wget https://www.ffmpeg.org/releases/ffmpeg-${DEPENDENCY_VERSION}.tar.bz2
13-
bunzip2 ffmpeg-${DEPENDENCY_VERSION}.tar.bz2
14-
tar -xvf ffmpeg-${DEPENDENCY_VERSION}.tar
15-
cd ffmpeg-${DEPENDENCY_VERSION}
16-
./configure --prefix=${DEPENDENCY_INSTALL_PATH} --disable-yasm --enable-shared --disable-static && make -k && make install
148+
echo ""
149+
echo "Building ffmpeg (${DEPENDENCY_VERSION})"
150+
DIR=$(mktemp -d) && cd ${DIR} && \
151+
curl -Os http://ffmpeg.org/releases/ffmpeg-${DEPENDENCY_VERSION}.tar.gz && \
152+
tar xzvf ffmpeg-${DEPENDENCY_VERSION}.tar.gz && \
153+
cd ffmpeg-${DEPENDENCY_VERSION} && \
154+
./configure --prefix="${DEPENDENCY_INSTALL_PATH}" \
155+
$COMPILE_OPTIONS \
156+
$RELEASE_OPTIONS \
157+
$LICENSING_OPTIONS \
158+
$THIRD_PARTIES_OPTIONS && \
159+
make -k && \
160+
make install && \
161+
rm -rf ${DIR}
17162

18163
elif [[ ${DEPENDENCY_NAME} == "libav" ]]; then
19164

20-
wget https://libav.org/releases/libav-${DEPENDENCY_VERSION}.tar.gz
21-
tar -xvf libav-${DEPENDENCY_VERSION}.tar.gz
22-
cd libav-${DEPENDENCY_VERSION}
23-
./configure --prefix=${DEPENDENCY_INSTALL_PATH} --disable-yasm --enable-shared --disable-static && make -k && make install
165+
echo ""
166+
echo "Building libav (${DEPENDENCY_VERSION})"
167+
DIR=$(mktemp -d) && cd ${DIR} && \
168+
curl -Os https://libav.org/releases/libav-${DEPENDENCY_VERSION}.tar.gz && \
169+
tar xzvf libav-${DEPENDENCY_VERSION}.tar.gz && \
170+
cd libav-${DEPENDENCY_VERSION} && \
171+
./configure --prefix="${DEPENDENCY_INSTALL_PATH}" \
172+
$COMPILE_OPTIONS \
173+
$RELEASE_OPTIONS \
174+
$LICENSING_OPTIONS \
175+
$THIRD_PARTIES_OPTIONS && \
176+
make -k && \
177+
make install && \
178+
rm -rf ${DIR}
24179

25180
fi
26181

0 commit comments

Comments
 (0)