`

FFMpeg Compile

阅读更多

1. get ffmpeg:

use git

link: http://www.ffmpeg.org/download.html

 

2. support more

2.1 mp3  (linux lame)

lame:http://lame.sourceforge.net/

install: http://lame.sourceforge.net/download.php

 

tar zvxf lame-3.99.2.tar.gz

cd ./lame-3.99.2

./configure --enable-shared --prefix=/usr

make

sudo make install

 

#defaul install path is /usr/local, but for ffmpeg complier, change to /usr.

 

2.2 Ogg Vorbis

link: http://www.vorbis.com/

libogg / libvorbis / vorbis-tools: These are the standard software that allows you to play and encode Ogg Vorbis files. They are included in most OSs. If not you can compile from the sources .

 

2.3 xvid

link:http://www.xvid.org/

download: http://downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz

 

tar zvxf xvidcore-1.3.2.tar.gz

cd ./xvidcore

#you can get install information in doc/INSATLL

cd ./build/generic

./configure --prefix=/usr

make

sudo make install

 

2.4 x264

link:http://www.videolan.org/developers/x264.html

#you can find download way in this page.

download: ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2

 

tar jxvf last_x264.tar.bz2

cd ./x264-snapshot-20111123-2245

make

sudo make install

 

#when ./configure you will get this:

#Found no assembler
#Minimum version is yasm-1.0.0
#If you really want to compile without asm, configure with --disable-asm.

#you can install yasm:

sudo apt-get install yasm

#Or you can visit:

#http://yasm.tortall.net/Download.html

#to make sure the Minimun version of yasm is 1.0.0

 

#if you get the configure err or libx264 not found:

#unsatisfied condition: X264_BUILD >=118

#then you should get the source from git.  see @link at the beginning of this section.

cd x264

./configure --prefix=/usr --enable-shared

make

sudo make install

 

2.5 AC3

as4 OS is AC3 supported, then you just need add --enable-a52 --enable-gpl when compiling.

 

2.6 dts

link: http://www.videolan.org/developers/libdca.html

 

i have not found libdts. just see some information about libdca.

I have given up it.

 

2.7 mpg4 aac(we just install faad2 and faac)

link: http://sourceforge.net/projects/faac/

download: http://sourceforge.net/projects/faac/files/

 

faad2:

./configure --prefix=/usr --with-mp4v2 --enable-shared
make
make install

 

#problem:

#need install autoconf : apt-get install autoconf

#if use autoreconf -vif will recive some errors. I dont know why.

 

faac:

chmod +x bootstrap
./bootstrap
./configure --prefix=/usr --with-mp4v2 --enable-shared
make
make install

 

#problem:

#need install libtool: apt-get install libtool

#some code error:

new declaration ‘char* strcasestr(const char*, const char*)

#you should change the code:

#ifdef __cplusplus
extern "C " {
#endif
char * strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif

 

to:


#ifdef __cplusplus
extern "C++ " {
#endif
const char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif

 

see:http://topic.csdn.net/u/20100820/15/bbf7190f-1ab8-44fa-9c9b-fabd7e388e62.html

 

and all about faac and faad2, you can also see :

http://home.chinavideo.org/space.php?uid=1&do=thread&id=6

 

2.8 3gp

need add options when compiling:

--enable-amr_nb --enable-amr_wb

and get codes:

http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-510.zip

#put the codes of it into libavcodec/amrwb_float

 

http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-510.zip

#put the codes of it into libavcodec/amr_float

 

//==========================

http://www.3gpp.org/ftp/Specs/archive/26_series/26.073/26073-510.zip

#if you use options --enable-amr_nb-fixed instad of --enable-amr_nb

put the codes of it into libavcodec/amr

edit libavcodec/amr/makefile:

change:

CFLAGS = -Wall -pedantic-errors -I. $(CFLAGS_$(MODE)) -D$(VAD)

to:

CFLAGS = -Wall -I. $(CFLAGS_$(MODE)) -D$(VAD) -DMMS_IO

//==========================

if any problem occured, see http://bbs.chinavideo.org/viewthread.php?tid=2469&extra=page%3D1

 

 

3 complie

 

/configure --prefix=/usr --enable-gpl --enable-shared --enable-mp3lame --enable-amr_nb-fixed --enable-amr_wb --enable-amr_if2 --enable-libogg --enable-vorbis --enable-xvid --enable-a52 --enable-a52bin --enable-dts --enable-pp --enable-faad --enable-faadbin --enable-faac --enable-x264 --enable-pthreads --disable-ffserver --disable-ffplay
make
make install

 

4. other

if you wanna support rmvb or wma9, try goole and make it.

 

 

this is a note of compiling ffmpeg.

 

5. notice

 

you can see the base aticle:

 

http://www.chinavideo.org/viewthread.php?tid=697&extra=page%3D1

 

本网所有文章建立在 创作公用 协议下。版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及以上“创作共用”声明。

 

over!

thanks.

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    cross_compile_ffmpeg-modified.sh

    修改过的将大部分github资源转为指向Gitee上的镜像的一个编译脚本,同时外网的下载资源也转化为指向了ftp://localhost/xxxx ,使用前可先自行下载这些...然后替换当中的cross_compile_ffmpeg.sh为本文件,运行,即可。

    ffmpeg-compile-shared-library-for-android, 移植ffmpeg到android,编译可用于jni调用的so库..zip

    FFmpeg 是一个强大的开源多媒体处理框架,用于处理音频和视频数据。它包含了各种工具和库,如 libavcodec(解码器),libavformat(容器格式解析),libavfilter(滤镜系统)以及 libavutil(通用实用工具)。在...

    compile-ffmpeg.sh资源文件

    compile-ffmpeg.sh资源文件啊

    android ffmpeg include 开发ffmpeg需要的头文件

    - 示例配置命令可能如下:`./configure --target-os=linux --arch=arm --cpu=cortex-a8 --enable-cross-compile --prefix=/path/to/output --extra-cflags='-marm -mfloat-abi=softfp' --disable-shared --enable-...

    编译ffmpeg(ffmpeg6.0+android-ndk-r25c)生成的动态链接库.so文件

    --enable-cross-compile \ --target-os=android \ --arch=$TARGET \ --cc=$TOOLCHAIN/bin/clang \ --cxx=$TOOLCHAIN/bin/clang++ \ --cross-prefix=$TOOLCHAIN/bin/$HOST_TAG- \ --sysroot=$NDK_PATH/sysroot...

    ffmpeg 开发环境配置

    官方文档(如`ffmpeg--compile guideon ubuntu.doc`文档)提供了详细的API参考和示例代码,可以帮助你更好地理解和使用FFmpeg。记得经常查看官方更新,以便获取最新的功能和修复。 总之,配置FFmpeg开发环境虽然...

    ffmpeg支持rtmps推流

    在交叉编译OpenSSL时,还应设置好相关的编译选项,例如指定安装路径(--prefix)、交叉编译工具(--cross-compile-prefix)、目标架构(--march)等,并根据芯片架构来修改config和Makefile文件,以避免芯片架构不...

    ffmpeg-4.0.6.tar.gz

    ./configure --prefix=/path/to/install --target-os=linux --arch=arm --cpu=cortex-a55 --enable-cross-compile --cc=arm-linux-gnueabihf-gcc --sysroot=/path/to/sysroot ``` 这里,`--sysroot`参数应指向rk...

    ffmpeg全平台编译

    -enable-cross-compile --enable-shared --disable-doc --enable-gpl --enable-pic --enable-ffmpeg --enable-ffplay --enable-ffprobe --enable-decoder=h264 --enable-encoder=h264 --enable-libx264 ``` 3. **...

    android_ffmpeg配置文件

    --enable-cross-compile \ --sysroot=$NDK/platforms/android-$API/arch-arm/ \ --prefix=/path/to/output/directory \ --extra-cflags="-I$NDK/sources/cxx-stl/gnu-libstdc++/4.9/include -I$NDK/platforms/...

    linux 下ffmpeg安装包

    ./configure --target-os=linux --arch=arm --enable-cross-compile --prefix=/usr/local/arm ``` 这里假设你的目标操作系统是Linux,且已设置好交叉编译路径。 4. 编译和安装: ``` make sudo make install ``` 5....

    android ffmpeg

    --enable-cross-compile \ --sysroot=$ANDROID_NDK/platforms/android-XX/arch-arm/ \ --prefix=/path/to/output \ --extra-cflags="-I$ANDROID_NDK/sources/cxx-stl/gnu-libstdc++/4.9/include -I$ANDROID_NDK/...

    ffmpeg 资源 for android

    --enable-cross-compile \ --sysroot=/path/to/ndk/platforms/android-$API/arch-arm \ --extra-cflags="-I/path/to/freetype/include" \ --extra-ldflags="-L/path/to/freetype/lib" \ --enable-shared \ --disable...

    移植ffmpeg到arm平台.rar

    ./configure --target-os=linux --arch=arm --enable-cross-compile --prefix=/your/install/path --extra-cflags=-I/usr/arm-linux-gnueabihf/include --extra-ldflags=-L/usr/arm-linux-gnueabihf/lib ...

    ffmpeg编译所需环境

    -disable-doc --disable-symver --disable-lzma --disable-bzlib --disable-iconv --disable-zlib --disable-lzo --disable-x86asm --disable-runtime-cpudetect --enable-cross-compile --target-os=mingw32 --arch...

    编译FFmpeg到Android studio中

    --enable-cross-compile \ --target-os=linux \ --arch=arm64 \ --cc=$CROSS_PREFIXgcc \ --cross-prefix=$CROSS_PREFIX \ --nm=$CROSS_PREFIXnm \ --sysroot=$SYSROOT \ --extra-cflags="-Os -fpic $CFLAGS...

    windows下基于MinGW编译ffmpeg之_初级篇_中级篇

    例如,如果只需要编译基本的视频处理功能,可以使用`--enable-cross-compile`、`--target-os=mingw32`等选项。 5. **编译与安装**: 使用`make`命令开始编译,完成后使用`make install`将编译好的库和可执行文件安装...

    android成功编译ffmpeg0.6

    - `--enable-cross-compile` 4. **库依赖**:FFmpeg编译时需要链接一些库,例如SDL、OpenSSL、libiconv等。确保这些库已安装并且配置脚本正确地指定了它们的位置。 5. **JNI接口**:为了在Java层与FFmpeg的C/C++...

    ffmpeg移植android需要的android.mk

    这通常通过执行`configure`脚本完成,设置参数如`--target-os=android`,`--arch=arm`(或对应的目标架构),`--enable-cross-compile`等,以适应Android环境。 5. **JNI接口**:在Android应用中调用FFmpeg库,需要...

    成功交叉编译ffmpeg,sdl

    本话题主要探讨的是如何成功地交叉编译FFmpeg和SDL库,以便在S3c2440这样的ARM架构处理器上运行。FFmpeg是一个强大的开源多媒体处理工具集,包括音视频编码、解码、转换等功能,而SDL(Simple DirectMedia Layer)则...

Global site tag (gtag.js) - Google Analytics