配置阿里云并编译ffmpeg_android

来源:互联网 发布:淘宝卖家怎么改名 编辑:程序博客网 时间:2024/06/04 00:23

前言:

 做个笔记!!!! 狠心买了一年服务器,准备吃泡面。。。。。

简介:

 1.很多c/c++的开源库需要在Linux下进行编译 2.学习在Linux下编程 3.云服务器编译快,不影响本地环境 4.不想装虚拟机 5.other 综合以上几点还是买个服务器。。。

素材:

1.  工具: Xshell2.  工具:Xftp3.  FFmpeg4.  阿里云ECS服务器5.  android-ndk-r10e-linux-86-64.bin6.  以及编译的shell脚本等

http://pan.baidu.com/s/1jHRRHKq 密码:wimw

START:

在阿里云官网买好ECS:

我买的是:ubuntu 16.04 64位

这里写图片描述

无脑安装:
Xshell:用于远程连接,发送脚本
Xftp:用户文件传输

FFmpeg下载,尽量下载老版本,我这里用的是FFmpeg2.6.9。新版本更新比较大,
遇到问题百度,google也基本没人回答。

   打开Xshell>>文件>>新建

这里写图片描述

 用root账号登录 密码不知: 阿里云官网》》管理器控制器》》云服务器ECS》》实例,  修改密码即可

这里写图片描述

这里写图片描述

这里写图片描述

NEXT:

配置NDK:

新建ndk目录并上传NDK:      cd /usr      mkdir ndk解压NDK:       chmod 777 -R -ndk     #给权限       cd /usr/ndk           #进入ndk目录             ./android-ndk-r10e-linux-86-64.bin  #解压 配置环境变量:        vim ~/.bashrc     #打开用户环境配置,~代表当前用户        i                 #进入编辑模式(左下角会出现   --INSERT--  )        末尾加入:                export NDKROOT=/usr/ndk/android-ndk-r10e    #声明一个变量                export PATH=$NDKROOT:$PATH                  #追加到path

这里写图片描述

保存退出:        Esc        shift+zz刷新环境变量:           source ~/.bashrc查看:                      ndk-build

这里写图片描述

编译FFmpeg:

新建一个文件夹,上传ffmpeg   cd /usr   mkdir allen   Xftp上传ffmpeg 解压ffmpeg:   unzip ffmpeg-2.6.9.zip 编译:   这里需要shell脚本文件,在云盘中都有!   上传build_android.sh 到ffmpeg下。   cd /usr/allen/ffmpeg-2.6.9   #给权限   chmod 777 build_android.sh   【-- 这里可能会出现build_android.sh: No such file or directory,但是build_android.sh   明明又有,这就是Linus对window的文件不识别。   1:window下,我们用notepad++打开,更改为 《UTF-8 无BOM编码格式》,重新上传   2:Xshell输入命令:                   dos2unix build_android.sh  #将win文件转为Linux文件   】   #ls查看,绿色代表可执行   ./build_android.sh   等待编译完成后,大概十几分钟。

这里写图片描述

 虽然这样编译好了,但是这样的so文件并不能给我们的Android调用,我们想要的是:xxx.so 修改配置文件confinure:
# build settingsSHFLAGS='-shared -Wl,-soname,$$(@F)'LIBPREF="lib"LIBSUF=".a"FULLNAME='$(NAME)$(BUILDSUF)'LIBNAME='$(LIBPREF)$(FULLNAME)$(LIBSUF)'SLIBPREF="lib"SLIBSUF=".so"SLIBNAME='$(SLIBPREF)$(FULLNAME)$(SLIBSUF)'SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)'#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)'#修改命名规则SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'SLIB_INSTALL_LINKS='$(SLIBNAME)'

重新编译!!

查看下:ls -l

这里写图片描述

这里写图片描述

到这里,我们就编译好了。。。。

原创粉丝点击