FFMPEG编译
来源:互联网 发布:js获取文本内容 编辑:程序博客网 时间:2024/04/29 22:59
版本:0.8.15(http://ffmpeg.org/olddownload.html)
编译环境:android-ndk-r6b
1. 将下载好的ffmpeg源码放在ffmpeg目录下,并改目录名字为jni
2. 在jin目录下创建名为config.sh脚本文件,在里面添加如下的内容(注意修改cross-prefix、extra-cflags、extra-ldflags的路径)
./configure \ --disable-static \ --enable-shared \ --enable-gpl \ --enable-version3 \ --enable-nonfree \ --disable-doc \ --disable-ffmpeg \ --disable-ffplay \ --disable-ffprobe \ --disable-ffserver \ --disable-avdevice \ --disable-avfilter \ --disable-postproc \ --enable-small \ --cross-prefix=/home/use/android-ndk-r6b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-\ --enable-cross-compile\ --target-os=linux \ --extra-cflags='-I/home/use/android-ndk-r6b/platforms/android-9/arch-arm/usr/include'\ --extra-ldflags='-L/home/use/android-ndk-r6/platforms/android-9/arch-arm/usr/lib -nostdlib' \ --arch=arm \ --disable-symver \ --disable-debug \ --disable-stripping \
3. 运行./config.sh,出现以下结果说明success
4 .添加Android.mk文件到jni目录中
可以到https://gist.github.com/1126971下载(注意只适用于0.8版本)
附录
--log[=FILE|yes|no] 记录测试并输出到config.err文件|log tests and output to FILE [config.err]--prefix=PREFIX 安装程序到指定目录(默认/usr/local)|install in PREFIX [/usr/local]--libdir=DIR 安装库到指定目录(默认prefix/lib)|install libs in DIR [PREFIX/lib]--shlibdir=DIR 指定共享库路径(默认prefix/lib)|install shared libs in DIR [PREFIX/lib]--incdir=DIR 指定includes路径(默认prefix/include/ffmpeg)|install includes in DIR[PREFIX/include/ffmpeg]--mandir=DIR 指定man page路径(默认prefix/man)install man page in DIR [PREFIX/man]--enable-mp3lame 启用mp3编码libmp3lame(默认关闭)enable MP3 encoding via libmp3lame[default=no]--enable-libogg 启用ogg支持libogg(默认关闭)enable Ogg support via libogg [default=no]--enable-vorbis 启用Vorbis支持libvorbis(默认关闭)enable Vorbis support via libvorbis [default=no]--enable-faad 启用faad支持libfaad(默认关闭)enable FAAD support via libfaad [default=no]--enable-faadbin 启用faad运行时链接支持(默认关闭)build FAAD support with runtime linking[default=no]--enable-faac 启用faac支持libfaac(默认关闭)enable FAAC support via libfaac [default=no]--enable-libgsm 启用GSM支持libgsm(默认关闭)enable GSM support via libgsm [default=no]--enable-xvid 启用xvid支持xvidcore(默认关闭)enable XviD support via xvidcore [default=no]--enable-x264 启用H.264编码(默认关闭)enable H.264 encoding via x264 [default=no]--enable-mingw32 启用MinGW本地/交叉win环境编译|enable MinGW native/cross Windows compile--enable-mingwce 启用MinGW本地/交叉winCE环境编译enable MinGW native/cross WinCE compile--enable-a52 启用A52支持(默认关闭)enable GPLed A52 support [default=no]--enable-a52bin 启用运行时打开liba52.so.0(默认关闭)open liba52.so.0 at runtime [default=no]--enable-dts 启用DTS支持(默认关闭)enable GPLed DTS support [default=no]--enable-pp 启用后加工支持(默认关闭)enable GPLed postprocessing support [default=no]--enable-static 构建静态库(默认启用)build static libraries [default=yes]--disable-static 禁止构建静态库(默认关闭)do not build static libraries [default=no]--enable-shared 构建共享库(默认关闭)build shared libraries [default=no]--disable-shared 禁止构建共享库(默认启用)do not build shared libraries [default=yes]--enable-amr_nb 启用amr_nb float音频编解码器|enable amr_nb float audio codec--enable-amr_nb-fixed 启用fixed amr_nb codec | use fixed point for amr-nb codec--enable-amr_wb 启用amr_wb float音频编解码器|enable amr_wb float audio codec--enable-amr_if2 启用amr_wb IF2音频编解码器|enable amr_wb IF2 audio codec--enable-sunmlib 启用Sun medialib(默认关闭) | use Sun medialib [default=no]--enable-pthreads 启用pthreads(多线程)(默认关闭)use pthreads [default=no]--enable-dc1394 启用libdc1394、libraw1394抓取IIDC-1394(默认关闭)enable IIDC-1394 grabbing using libdc1394 and--enable-swscaler 启用计数器支持?(默认关闭)software scaler support [default=no]--enable-avisynth 允许读取AVISynth脚本本件(默认关闭)allow reading AVISynth script files [default=no]--enable-gpl 允许使用GPL(默认关闭)allow use of GPL code, the resulting libav* and ffmpeg will be under GPLly): 高级选项参数(供专业人员使用)>--source-path=PATH 源码的路径(当前为/root/flv/ffmpeg)| path to source code [/root/flv/ffmpeg]--cross-prefix=PREFIX 为编译工具指定路径 | use PREFIX for compilation tools []--cross-compile 假定使用了交叉编译 | assume a cross-compiler is used--cc=CC 指定使用何种C编译器(默认gcc)use C compiler CC [gcc]--make=MAKE 使用特定的make | use specified make [make]--extra-cflags=ECFLAGS 添加ECFLAGS到CFLAGS | add ECFLAGS to CFLAGS []--extra-ldflags=ELDFLAGS 添加ELDFLAGS到LDFLAGS(默认-Wl,--as-needed)| add ELDFLAGS to LDFLAGS [ -Wl,--as-needed]--extra-libs=ELIBS 添加ELIBS | add ELIBS []--build-suffix=SUFFIX 为专用程序添加后缀 | suffix for application specific build []--arch=ARCH 选择机器架构(默认x86)select architecture [x86]--cpu=CPU 选用最低的cpu(影响指令的选择,可以在老CPU上出错) | selects the minimum cpu required (affects--powerpc-perf-enable 启用PPC上面的性能报告(需要启用PMC)enable performance report on PPC (requires enabling PMC)--disable-mmx 禁用MMX | disable MMX usage--disable-armv5te 禁用armv5te | disable armv5te usage--disable-iwmmxt 禁用iwmmxt | disable iwmmxt usage--disable-altivec 禁用AltiVec | disable AltiVec usage--disable-audio-oss 禁用OSS音频支持(默认启用)disable OSS audio support [default=no]--disable-audio-beos 禁用BeOS音频支持(默认启用)disable BeOS audio support [default=no]--disable-v4l 禁用video4linux提取(默认启用)disable video4linux grabbing [default=no]--disable-v4l2 禁用video4linux2提取(默认启用)disable video4linux2 grabbing [default=no]--disable-bktr 禁用bktr视频提取(默认启用)disable bktr video grabbing [default=no]--disable-dv1394 禁用DV1394提取(默认启用)disable DV1394 grabbing [default=no]--disable-network 禁用网络支持(默认支持)disable network support [default=no]--disable-ipv6 禁用ipv6支持(默认支持)disable ipv6 support [default=no]--disable-zlib 禁用zlib(默认支持)disable zlib [default=no]--disable-simple_idct 禁用simple IDCT例程(默认启用)disable simple IDCT routines [default=no]--disable-vhook 禁用video hooking支持 | disable video hooking support--enable-gprof enable profiling with gprof [no]--disable-debug 禁用调试符号 | disable debugging symbols--disable-opts 禁用编译器最优化 | disable compiler optimizations--disable-mpegaudio-hp 启用更快的解码MPEG音频(但精确度较低)(默认禁用)faster (but less accurate) MPEG audio decoding--disable-ffserver 禁用生成ffserver | disable ffserver build--disable-ffplay 禁用生成ffplay | disable ffplay build--enable-small 启用优化文件尺寸大小(牺牲速度)optimize for size instead of speed--enable-memalign-hack 启用模拟内存排列,由内存调试器干涉? | emulate memalign, interferes with memory debuggers--disable-strip 禁用剥离可执行程序和共享库 | disable stripping of executables and shared libraries--disable-encoder=NAME 禁用XX编码器 | disables encoder NAME--enable-encoder=NAME 启用XX编码器 | enables encoder NAME--disable-decoder=NAME 禁用XX解码器 | disables decoder NAME--enable-decoder=NAME 启用XX解码器 | enables decoder NAME--disable-encoders 禁用所有编码器 | disables all encoders--disable-decoders 禁用所有解码器 | disables all decoders--disable-muxer=NAME 禁用XX混音器 | disables muxer NAME--enable-muxer=NAME 启用XX混音器 | enables muxer NAME--disable-muxers 禁用所有混音器 | disables all muxers--disable-demuxer=NAME 禁用XX解轨器 | disables demuxer NAME--enable-demuxer=NAME 启用XX解轨器 | enables demuxer NAME--disable-demuxers 禁用所有解轨器 | disables all demuxers--enable-parser=NAME 启用XX剖析器 | enables parser NAME--disable-parser=NAME 禁用XX剖析器 | disables parser NAME--disable-parsers 禁用所有剖析器 | disables all parsers
该播放器解码的流程用图的方式可以表示称如下形式:
0 0
- 【FFMPEG】VS2015编译FFMPEG
- 【FFMPEG】VS2013编译ffmpeg
- ffmpeg编译
- FFmpeg编译
- FFMPEG编译
- ffmpeg编译
- 编译ffmpeg
- ffmpeg 编译
- 编译ffmpeg
- ffmpeg编译
- ffmpeg编译
- 编译ffmpeg
- FFMPEG编译
- ffmpeg编译
- ffmpeg编译
- ffmpeg编译
- FFmpeg编译
- FFMPEG编译
- maven引入ojdbc
- object sender,EventArgs e
- 持续集成hudson入门
- Mysql问题总结
- 解决GridView中嵌入CheckBox事件无法响应的问题
- FFMPEG编译
- IOS笔记
- 细品hibernate的session
- updatepanel的updateMode属性
- test1
- R-自画蜡烛图CandleChart
- 浏览器各种模式说明
- utl解码问题
- 项目经理是这样当的