diff --git a/trunk/3rdparty/ffmpeg-2.1.1.zip b/trunk/3rdparty/ffmpeg-2.1.1.zip deleted file mode 100644 index f307918d9..000000000 Binary files a/trunk/3rdparty/ffmpeg-2.1.1.zip and /dev/null differ diff --git a/trunk/3rdparty/ffmpeg-3.2.4.zip b/trunk/3rdparty/ffmpeg-3.2.4.zip new file mode 100644 index 000000000..2a89cfdb7 Binary files /dev/null and b/trunk/3rdparty/ffmpeg-3.2.4.zip differ diff --git a/trunk/3rdparty/patches/6.ffmpeg.speex.patch b/trunk/3rdparty/patches/6.ffmpeg.speex.patch new file mode 100644 index 000000000..a50983b4f --- /dev/null +++ b/trunk/3rdparty/patches/6.ffmpeg.speex.patch @@ -0,0 +1,13 @@ +--- configure 2017-02-10 21:25:25.000000000 +0800 ++++ ../ffmpeg-3.2.4-patch/configure 2017-02-13 22:39:22.676288196 +0800 +@@ -5739,7 +5739,9 @@ + enabled libsnappy && require snappy snappy-c.h snappy_compress -lsnappy + enabled libsoxr && require libsoxr soxr.h soxr_create -lsoxr && LIBSOXR="-lsoxr" + enabled libssh && require_pkg_config libssh libssh/sftp.h sftp_init +-enabled libspeex && require_pkg_config speex speex/speex.h speex_decoder_init -lspeex ++enabled libspeex && { use_pkg_config speex speex/speex.h speex_decoder_init -lspeex || ++ { require libspeex speex/speex.h speex_decoder_init -lspeex && ++ warn "using libspeex without pkg-config"; } } + enabled libtesseract && require_pkg_config tesseract tesseract/capi.h TessBaseAPICreate + enabled libtheora && require libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg + enabled libtwolame && require libtwolame twolame.h twolame_init -ltwolame && diff --git a/trunk/3rdparty/readme.txt b/trunk/3rdparty/readme.txt index 7f25f466d..64e5dbe03 100644 --- a/trunk/3rdparty/readme.txt +++ b/trunk/3rdparty/readme.txt @@ -13,7 +13,7 @@ openssl-1.0.1f.zip CherryPy-3.2.4.zip sample api server for srs. -ffmpeg-2.1.1.tar.gz +ffmpeg-3.2.4.tar.gz yasm-1.2.0.tar.gz lame-3.99.5.tar.gz speex-1.2rc1.zip @@ -45,7 +45,7 @@ links: http://sourceforge.net/projects/state-threads ffmpeg: http://ffmpeg.org/ - http://ffmpeg.org/releases/ffmpeg-2.1.1.tar.gz + http://ffmpeg.org/releases/ffmpeg-3.2.4.tar.gz x264: http://www.videolan.org/ ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20131129-2245-stable.tar.bz2 diff --git a/trunk/auto/build_ffmpeg.sh b/trunk/auto/build_ffmpeg.sh index 2bf106508..d7b551a1c 100755 --- a/trunk/auto/build_ffmpeg.sh +++ b/trunk/auto/build_ffmpeg.sh @@ -84,19 +84,18 @@ else ret=$?; if [[ 0 -ne ${ret} ]]; then echo "build x264 failed"; exit 1; fi fi -# ffmpeg-2.1.1 +# ffmpeg-3.2.4 if [[ -f ${ff_release_dir}/bin/ffmpeg ]]; then - echo "ffmpeg-2.1.1 is ok" + echo "ffmpeg-3.2.4 is ok" else - echo "build ffmpeg-2.1.1" + echo "build ffmpeg-3.2.4" cd $ff_current_dir && - rm -rf ffmpeg-2.1.1 && unzip -q ${ff_src_dir}/ffmpeg-2.1.1.zip && + rm -rf ffmpeg-3.2.4 && unzip -q ${ff_src_dir}/ffmpeg-3.2.4.zip && echo "remove all so to force the ffmpeg to build in static" && rm -f ${ff_release_dir}/lib/*.so* && echo "export the dir to enable the build command canbe use." && export ffmpeg_exported_release_dir=${ff_release_dir} && - cd ffmpeg-2.1.1 && - ./configure \ + cd ffmpeg-3.2.4 && patch -p0 <../../../3rdparty/patches/6.ffmpeg.speex.patch && ./configure \ --enable-gpl --enable-nonfree \ --yasmexe=${ff_yasm_bin} \ --prefix=${ff_release_dir} --cc= \ diff --git a/trunk/auto/depends.sh b/trunk/auto/depends.sh index b51f98448..9e1f4ff21 100755 --- a/trunk/auto/depends.sh +++ b/trunk/auto/depends.sh @@ -656,13 +656,13 @@ if [ $SRS_SSL = YES ]; then fi ##################################################################################### -# live transcoding, ffmpeg-2.1, x264-core138, lame-3.99.5, libaacplus-2.0.2. +# live transcoding, ffmpeg-3.2.4, x264-core138, lame-3.99.5, libaacplus-2.0.2. ##################################################################################### if [ $SRS_FFMPEG_TOOL = YES ]; then if [[ -f ${SRS_OBJS}/ffmpeg/bin/ffmpeg ]]; then - echo "The ffmpeg-2.1 is ok."; + echo "ffmpeg-3.2.4 is ok."; else - echo "Building ffmpeg-2.1."; + echo "build ffmpeg-3.2.4"; ( cd ${SRS_OBJS} && pwd_dir=`pwd` && rm -rf ffmepg.src && mkdir -p ffmpeg.src && cd ffmpeg.src && @@ -671,8 +671,8 @@ if [ $SRS_FFMPEG_TOOL = YES ]; then ) fi # check status - ret=$?; if [[ $ret -ne 0 ]]; then echo "Build ffmpeg-2.1 failed, ret=$ret"; exit $ret; fi - if [ ! -f ${SRS_OBJS}/ffmpeg/bin/ffmpeg ]; then echo "Build ffmpeg-2.1 failed."; exit -1; fi + ret=$?; if [[ $ret -ne 0 ]]; then echo "build ffmpeg-3.2.4 failed, ret=$ret"; exit $ret; fi + if [ ! -f ${SRS_OBJS}/ffmpeg/bin/ffmpeg ]; then echo "build ffmpeg-3.2.4 failed."; exit -1; fi fi #####################################################################################