ffmpeg for android (windows环境) (一)
来源:互联网 发布:钢结构软件 编辑:程序博客网 时间:2024/05/29 19:16
今天201703241151
完全没有编译ffmpeg的经验,通过几天的上网搜集资料,进行第一次的尝试,如果编译成功了,就会看到此文,编译不成功自然看不到。
一
首先,先下载一个MinGW,博主windows是64位的,自然下载的是64位的
MinGW官网:http://www.mingw.org/
64位下载地址:https://sourceforge.net/projects/mingw-w64/files/?source=navbar
安装的时候注意,选择Architecture为x86_64,其他不变,然后就是等待安装,安装时间还是挺长的。
博主的bin的安装路径是:C:\Program Files\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin
将bin路径加入到系统的环境变量中的path路径中
加入之后,打开命令行,输入gcc -v看到最后一排gcc version 6.3.0 (x86_64-posix-seh-rev1, Built by MinGW-W64 project)表示安装成功
下载一个msys,下载地址为:https://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/
找到README.txt下的第一个文件,点击即可下载
解压之后,复制msys文件夹到C:\Program Files\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64文件夹
打开msys文件夹,打开msys.bat文件,双击启动,提示找不到Program,决定卸载MinGW重新装
至于怎么卸载,就不用多说了
重新安装,此时,安装路径我直接选的C盘根目录,希望,它自己会给个子目录,不然,就坑爹了,还是要注意选择x86_64位的,然后,等待安装,安装时间还是很长。。
安装完成了,但是为啥装到桌面上了,卸载,重新装,这次给了个子目录,c盘的mingw64文件夹,然后,等待时间一如既往的长。
安装完成了,环境->gcc -v没毛病
复制msys到C:\mingw64\mingw64文件夹
打开msys文件夹,双击启动msys.bat,打开了,没毛病。
表示MinGW已经安装完成了。
二
然后,下载一个FFmpeg源码
FFmpeg官网:http://ffmpeg.org/
下载地址:http://ffmpeg.org/download.html,点那个最大的Download,博主这边的版本是ffmpeg-3.2.4
然后,其实博主是两眼一抹黑的,先摸索摸索
没办法,先按照前人的经验来做吧
修改配置文件ffmpeg-3.2.4\configure
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)'据说,这样编译出来的so文件才能符合android使用,至于符不符合ios,博主也不知道
在ffmpeg-3.2.4文件夹中新建个文件build_android_arm.sh
提示一下,博主之前电脑里一直有安装ndk,版本是r11c,但是,据说,如果你想要兼容到4.0,那就有必要使用4.0对应的ndk版本,再议吧
目前博主还是使用r11c来编译,主要是先看能不能成功
在build_android_arm.sh文件中输入如下,注意前后不要有空格
export TMPDIR=C:/Users/Administrator/Desktop/tmpdirexport NDK=C:/Users/Administrator/AppData/Roaming/forever/android/android-ndk-r11cexport SYSROOT=$NDK/platforms/android-14/arch-arm/export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64export PREFIX=C:/Users/Administrator/Desktop/arm/CPU=armADDI_CFLAGS="-marm"function build_one{./configure \--target-os=linux \--prefix=$PREFIX \--arch=arm \--disable-asm --disable-stripping --disable-static --disable-ffprobe --disable-ffplay --disable-doc --disable-ffmpeg --disable-ffserver --disable-debug --disable-symver \--enable-cross-compile --enable-runtime-cpudetect --enable-gpl --enable-shared --enable-small \--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \--sysroot=$SYSROOT \--extra-cflags="-Os -fpic $ADDI_CFLAGS" \--extra-ldflags="$ADDI_LDFLAGS" \$ADDITIONAL_CONFIGURE_FLAGmake cleanmakemake install}build_one其中,TMPDIR、NDK、SYSROOT、TOOLCHAIN、PREFIX变量为自己的具体情况
TMPDIR为临时目录
NDK为NDK目录
SYSROOT为你想兼容到的最低版本
TOOLCHAIN就照着我写的找你自己的对应的路径
PREFIX为最后生成的文件的路径
打开msys.bat,定位到你的ffmpeg-3.2.4,注意路径用反斜杠/
然后输入build_android_arm.sh回车
等待几分钟后,咔咔咔咔一堆,这速度貌似不快
然后,会看到各种你认为的异常,但是只要它的编译没有断,应该就没有问题
201703241318-201703241326
8分钟就编译完了,接下来,该去咱的PREFIX指定目录去看看文件了
果然两个文件夹,一个include和一个lib
然后该干啥,博主还不知道,研究研究写第二篇。
- ffmpeg for android (windows环境) (一)
- FFmpeg for Android 编译方法 (Linux环境)
- 【android】环境搭建(For Windows)
- ffmpeg for windows
- ffmpeg for windows
- ffmpeg for windows
- 一 . Android2.2 For Windows 环境搭建
- ffmpeg Windows环境搭建
- FFmpeg Windows环境配置
- windows环境 cygwin android-ndk-r7 编译 ffmpeg
- windows环境下android studio 2.3 NDK编译FFmpeg
- Android SDK for windows开发环境搭建
- Calabash-Android For windows 环境搭建说明
- QT for Android 环境搭建[Windows]
- ReactNative for Android 之 windows环境搭建
- FFMpeg For Android - Resource
- compile ffmpeg for android
- android for FFMPEG
- c# dapper 动态参数
- Spring AOP 深入剖析
- 封装分页
- 类、对象、实例、类的对象,对象的实例,对象的引用
- PHP生成一维码、二维码方法
- ffmpeg for android (windows环境) (一)
- B. Not Afraid STL set
- 批量修改文件名
- OpenCV学习笔记(1)__隐藏 Console 窗口
- 使系统相机相册显示中文
- llvm学习笔记(5)
- 自定义UICollectionView布局(类似集五福)
- jquery dialog-优雅的弹出框
- Django 在iframe里跳转顶层url