介绍windows下编译FFmpeg视频库

1.首先介绍如何安装编译环境,C和C++开发工具Cygwin

(1) Cygwin下载网址(windows请选择set-x86.exe bit根据自己系统多少位决定) http://www.cygwin.com/
(2) 打开下载好的setup-x86_64.exe(以64bitwindws系统为例) 点击下一 直到如下界, 择联网安装
这里写图片描述

点击下一步,选择一个站点下载安装
这里写图片描述

点击下一步,等待下载完成,进入如下界面:
这里写图片描述

(3) 配置需要安装的编译工具链和GNU

找到Devel Default 分组,展开,选择需要安装的C++ C编译工具链(gcc-core\gcc-g++\gcc-java\make\ ),截图如下:

这里写图片描述

这里写图片描述

此截图安装的是一个工具dos2linux,将windows下的文件格式转化成Linux下的文件格式使用方法
dos2linux filename
这里写图片描述

以上图片中,keep为选中安装模式。

(4)一直点击下一步,直到安装完成。然后打开命令行Cygwin64 Terminal,输入 gcc -v ,make -v,回车检查是否安装成功,如果未安装成功,可重新安装。

2.安装完编译环境接下来就是编译ffmpeg

(1)官网下载ffmpeg https://ffmpeg.org/ ,解压。
(2)新建文件build_android.sh,配置如下:

make clean
export TMP=C:/Windows/Temp #这句很重要,不然会报错,目录必须存在
export NDK=D:/Android/Android/android-ndk-r10e # ndk 路径
export PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64
export PLATFORM=$NDK/platforms/android-19/arch-arm
export PREFIX=../simplefflib #编译生成的文件路径

function build_one
{
rm config.mak
rm config.h
rm config.fate
rm config.log
rm -rf $PREFIX

./configure \
    --prefix=$PREFIX \
    --enable-shared \
    --disable-static \
    --disable-doc \
    --disable-ffmpeg \
    --disable-ffplay \
    --disable-ffprobe \
    --disable-ffserver \
    --disable-avdevice \
    --disable-doc \
    --disable-symver \
    --cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \
    --target-os=android \
    --arch=arm \
    --enable-cross-compile \
    --sysroot=$PLATFORM \
    --extra-cflags="-I$PLATFORM/usr/include" \


mkdir -p $PREFIX

make clean
make -j4
make install
}
CPU=arm
ADDI_CFLAGS="-marm"
build_one

如果格式不对可用 dos2linux build_android.sh 命令转换。

(3)由于android ndk 限制,需要修改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='$(SLIBNAME)'  
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'  
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'  
SLIB_INSTALL_LINKS='$(SLIBNAME)'  

因为windows ndk 不识别 libavcodec.so.55 ,libavcodec-55.so 文件。

(4) 配置完成后,就可以编译了,如下图,回车,等待编译完成。大概10多分钟。。。

这里写图片描述

(5)编译成功会在e/MyFolder/ffmpeg-3.0.1/simplefflib 目录下生成相应so文件。

(6)参考文章 http://write.blog.csdn.net/mdeditor

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值