原文:http://blog.csdn.net/finewind/article/details/42784557

一、准备:

1. 本机环境: win7 64bit;

2. 安装MinGW到C:\MinGW,下载地址http://www.mingw.org/;

3. 安装yasm,下载地址http://yasm.tortall.NET/;

(2,3步请参考http://blog.csdn.net/finewind/article/details/38854517)

4. 下载ffmpeg源码:我是从https://github.com/FFmpeg/FFmpeg上拉的release/2.5分支;

二、使用VS2013编译ffmpeg2.5:

VS2013已基本完整支持C99,使用VS2013,可以省去C89到C99的转换过程,并且FFMPEG2.5版本已经完整支持msvc工具链(实际FFMPEG2.3即已经支持),这使得使用VS2013编译ffmpeg变得异常简单,详细步骤可参考http://blog.csdn.net/finewind/article/details/38854517。

1. 安装VS2013,假设装在D盘;

2. 编辑C:\MinGW\msys\1.0\msys.bat文件,在此文件的最前面(@echo off之后)添加一行如下内容:

[plain] view plaincopy
  1. call "D:\Program Files(x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"

3. 重命名 C:/MinGW/msys/1.0/bin/link.exe 为link_renamed.exe;

4. 在FFMPEG代码目录下新建文件build_msvc.sh,内容如下:

[plain] view plaincopy
  1. #!/bin/sh
  2. # for msvc
  3. MSVC_PREFIX=$(pwd)/out/msvc
  4. function build_msvc
  5. {
  6. ./configure     \
  7. --prefix=$MSVC_PREFIX \
  8. --enable-static     \
  9. --enable-shared     \
  10. --enable-debug      \
  11. --toolchain=msvc
  12. make clean
  13. make
  14. make install
  15. }
  16. build_msvc

5. 双击C:\MinGW\msys\1.0\msys.bat文件,在打开的命令行窗口下切换到ffmpeg源码目录,为build_msvc.sh添加执行权限,并执行;

6. 等待脚本执行完成。

二、使用Android NDK编译ffmpeg2.5:

1. 安装android ndk,下载地址:developer.android.com/tools/sdk/ndk/index.html,我使用的是ndk-r9d,安装目录为E:\android;

2. 在FFMPEG代码目录下新建文件build_android.sh,内容如下:

[plain] view plaincopy
  1. NDK=E:/android/android-ndk-r9d
  2. SYSROOT=$NDK/platforms/android-19/arch-arm/
  3. TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/windows-x86_64
  4. PREFIX=$(pwd)/out/android
  5. function build_android
  6. {
  7. ./configure \
  8. --prefix=$PREFIX \
  9. --enable-shared \
  10. --disable-static \
  11. --disable-doc \
  12. --disable-ffmpeg \
  13. --disable-ffplay \
  14. --disable-ffprobe \
  15. --disable-ffserver \
  16. --disable-avdevice \
  17. --disable-doc \
  18. --disable-symver \
  19. --enable-cross-compile \
  20. --sysroot=$SYSROOT  \
  21. --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
  22. --target-os=linux \
  23. --arch=arm
  24. make clean
  25. make
  26. make install
  27. }
  28. build_android

3. 双击C:\MinGW\msys\1.0\msys.bat文件,在打开的命令行窗口下切换到ffmpeg源码目录,为build_android.sh添加执行权限,并执行;

4. 等待脚本执行完成。

三、使用ARM Linux工具链编译ffmpeg2.5:

1. 安装arm-none-linux-gnueabi-gcc,下载地址:http://www.veryarm.com/arm-none-linux-gnueabi-gcc,我使用的是windows安装版arm-2014.05-29-arm-none-linux-gnueabi.exe,安装路径:F:\arm-201405;

2. 在FFMPEG代码目录下新建文件build_armlinux.sh,内容如下:

[plain] view plaincopy
  1. TOOLROOT=F:/arm-201405
  2. PREFIX=$(pwd)/out/armlinux
  3. function build_armlinux
  4. {
  5. ./configure \
  6. --prefix=$PREFIX \
  7. --enable-shared \
  8. --disable-static \
  9. --disable-doc \
  10. --disable-ffmpeg \
  11. --disable-ffplay \
  12. --disable-ffprobe \
  13. --disable-ffserver \
  14. --disable-avdevice \
  15. --disable-doc \
  16. --disable-symver \
  17. --enable-cross-compile \
  18. --sysroot=$TOOLROOT/arm-none-linux-gnueabi/libc  \
  19. --cross-prefix=$TOOLROOT/bin/arm-none-linux-gnueabi- \
  20. --target-os=linux \
  21. --arch=arm
  22. make clean
  23. make
  24. make install
  25. }
  26. build_armlinux

3. 双击C:\MinGW\msys\1.0\msys.bat文件,在打开的命令行窗口下切换到ffmpeg源码目录,为build_armlinux.sh添加执行权限,并执行;

4. 等待脚本执行完成。

转载于:https://www.cnblogs.com/huty/p/8517633.html

【FFMEPG】windows下编译ffmpeg2.5——使用VS2013,ARMLINUX,ANDORID编译ffmpeg相关推荐

  1. Windows Embedded Compact 2013升级:VS2013也能编译

    IT之家(www.ithome.com):Windows Embedded Compact 2013升级:VS2013也能编译 今天,微软为Windows Embedded Compact 2013送 ...

  2. 在Windows 下使用CodeBlocks 自带编译器实现对编译的优化

    项目需要,对同一个源码进行编译,得到不同的优化版本的可执行文件.刚刚开始使用CodeBlocks的GUI的项目 Project->Properties->Project's build o ...

  3. Windows 下用VS2012(Visual Studio 2012)编译librtmp

    https://blog.csdn.net/caoshangpa/article/details/52872756 https://blog.csdn.net/ILOVEYOULEEHUIJIE/ar ...

  4. GDAL库简介以及在Windows下编译过程

    GDAL(Geospatial Data Abstraction Library,地理空间数据抽象库)是一个在X/MIT许可协议下的开源栅格空间数据转换库.官网http://www.gdal.org/ ...

  5. Windows下编译openssl库

    1.概述 OpenSSL是一个开放源代码的软件库包,它实现了 SSL(Secure SocketLayer)和 TLS(Transport Layer Security)协议,所以应用程序可以使用这个 ...

  6. linux node gyp 编译,windows下安装node-gyp

    什么是node-gyp? gyp是一种根据c++源代码编译的工具,node-gyp就是为node编译c++扩展的时候使用的编译工具. 最近在研究native script需要使用到node-gyp,遇 ...

  7. Windows下lapack的编译

    ack我就不介绍了,MATLAB的底层就是它. 我要在Windows下使用lapack,应该怎么办? 1. 有现成的编译好的库.比如LAPACK for Windows,或者http://www.fi ...

  8. Linux及Windows下编译exosip和osip2源码

    eXosip库及编译流程简介 1.eXosip库的简介 1.1.osip简介 osip2是一个开放源代码的sip协议栈,是开源代码中不多使用C语言写的协议栈之一,它具有短小简洁的特点,专注于sip底层 ...

  9. [ffmpeg][qsv][windows]windows下配置fmpeg英特尔qsv

    [ffmpeg][qsv][windows]windows下配置fmpeg英特尔qsv 文章目录 [ffmpeg][qsv][windows]windows下配置fmpeg英特尔qsv 预装mingw ...

  10. 老是说我编译版本不够_海思3518E编译环境搭建

    一.系统准备 1. Hi3518e的SDK 2. Ubuntu安装文件,这次安装的版本是20.04 3. Vmware虚拟机,也可以直接安装一台编译服务器,这次安装的是虚拟机 4. 安装虚拟机的时候, ...

最新文章

  1. Vue2.x开发饿了么项目(header部分)
  2. 不是python中用于开发用户界面的第三方库-模拟试卷C
  3. JPA 中文乱码问题
  4. 云架构指挥调度平台技术方案建议书
  5. Java poi操作导入导出excel
  6. 别出心裁的Linux命令学习法
  7. Pr插件大全一键安装包视频剪辑必备工具预设
  8. mac charles4.0.2免费破解版安装
  9. 梅特勒托利多电子秤显示EEP服务器错误,托利多电子秤故障排除和维修方法
  10. cpufreq schedutil原理剖析
  11. 需求调研(一)——调研流程和时间的把握
  12. require.js的用法:
  13. 京东 App 鸿蒙版上架华为应用商店
  14. Freertos 任务切换
  15. 解决电脑上用耳机时声音太小的问题
  16. tvOS游戏开发系列(SpriteKit)之新建tvOS游戏项目(二)
  17. Goslate: Free Google Translate API
  18. 架构师学习笔记14--信息系统基础知识
  19. 微信小程序开发之图片压缩方案
  20. 安装gnome3桌面环境_在Linux上使用GNOME 3桌面环境的11个理由

热门文章

  1. 常见的特殊字符和HTML之间的对应关系~
  2. Python中定时任务框架APScheduler的快速入门指南
  3. codeforces 286E Ladies' Shop
  4. 从徐飞的文章《Web应用的组件化开发(一)中窥视web应用开发的历史
  5. servlet以及HTML中路径问题
  6. Quartz的job中注入的services接口为空的解决办法
  7. 剑指Offer_62_二叉搜索树的第k个结点
  8. aodv包头分析-上
  9. Java程序员如何高效学习,才能加快成为架构师的步伐
  10. CentOS 6 系统优化检测脚本