Linux上FFmpeg生成so库
来源:互联网 发布:u盘安装mac os x lion 编辑:程序博客网 时间:2024/05/15 19:43
我用的是ubuntu做开发的,之前使用过centos7去编译的 感觉太麻烦出错了,从朋友那得知ubuntu和debian 是适用于开发的
1. cd /home/ 切换到home 目录
2.mkdir ndk 在home目录下新建文件夹 ndk
3.把linux版的ndk上传到ubuntu服务器上
4.cd /home/ 切换到home 目录
5.mkdir ffmpeg 新建ffmpeg文件夹
6.把ffmpeg压缩包上传到该目录下
7.安装软件
1)vim 安装命令 sudo apt-get install vim-gtk 查看是否安装成功 vim
2)unzip 安装命令 sudo apt-get install unzip 压缩文件 例如:unzip ffmpeg-2.6.9.zip
3)dos2unix 安装命令 apt-get install dos2unix 改文件格式 例如 dos2unix android_build.bash
4)make 安装命令 apt-get install make 方便后面Configure的使用
5)zip 压缩命令 zip android.zip android
8.修改文件
1)vim
vim /etc/vim/vimrc
尾部增加代码
set nu // 在左侧行号
set tabstop //tab 长度设置为 4
set nobackup //覆盖文件时不备份
set cursorline //突出显示当前行
set ruler //在右下角显示光标位置的状态行
set autoindent //自动缩进
2)
cd~
ls
vim ~/.bashrc 进入配置环境变量(~代表用户)
尾部增加代码
export NDKROOT=/home/ndk/android-ndk-r10e 目录自己根据自己的服务器去改
export PATH=$NDKROOT:$PATH
ESC退出 shift zz
source ~/.bashrc 更新环境变量
ndk-build -v
ndk-build
vim如何操作?
命令模式是不能写东西 要写东西 输入 i
不保存退出(强制退出) shift +:q!
保存退出 shift+ z z 或者 shift+:wq!
进入编辑模式 输入i
退出编辑模式进入命令模式 Esc
9.解压上传的linux ndk
cd ../ 切换上机目录
chmod 777 -R ndk
ls 查看子文件 可以发现要解压的文件呈绿色显示
cd ndk 切换到目录下
./android-ndk-r10e-linux-x86_64.bin
10.解压ffmpeg
上同处理文件、压缩包 需要权限 cd ../ chmod 777 -R ffmpeg
unzip ffmpeg-2.6.9
11.新建android_build.sh文件
touch android_build.sh
通过xftp把文件传到本地
并把本地代码考入,且做出相应更改
#!/bin/bashmake cleanexport NDK=/home/software/android-ndk-r10eexport SYSROOT=$NDK/platforms/android-9/arch-arm/export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64export CPU=armexport PREFIX=$(pwd)/android/$CPUexport ADDI_CFLAGS="-marm"./configure --target-os=linux \--prefix=$PREFIX --arch=arm \--disable-doc \--enable-shared \--disable-static \--disable-yasm \--disable-symver \--enable-gpl \--disable-ffmpeg \--disable-ffplay \--disable-ffprobe \--disable-ffserver \--disable-doc \--disable-symver \--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \--enable-cross-compile \--sysroot=$SYSROOT \--extra-cflags="-Os -fpic $ADDI_CFLAGS" \--extra-ldflags="$ADDI_LDFLAGS" \$ADDITIONAL_CONFIGURE_FLAGmake cleanmakemake install
ndk 目录自己更改
12.把configure文件 从linux服务器上 pull下来
进行更改
#update 之前是为更改代码 | #update 之后是 更改后的代码 (是为了避免后缀名的错误)
#SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'#LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'#SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'#SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)'#updateSLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'SLIB_INSTALL_LINKS='$(SLIBNAME)'
13编译
切换到ffmpeg-2.6.9目录下shell命令 ./android_build.sh
阅读全文