ffmpeg编译(生成Windows或Win32平台dll, lib)

介绍:本文简要介绍通过cygwin环境来编译生成ffmpeg。
包括解码组件libfaad与libopencore-amrnb的编译。

1)安装msys + mingw环境
具体安装过程可以看网上教程
我用的是:http://code.google.com/p/msys-cn/
假设装在d:/msys
如果需编译libfaad,还需装msysDTK-1.0.1.exe
需在msys.bat文件首行加入:call "D:/Program Files/Microsoft Visual Studio 8/VC/bin/vcvars32.bat"

2)下载最新ffmpeg源码
我用的是:ffmpeg-export-2009-12-22版(即:SVN-r20910-snapshot)
解压缩至e:/ffmpeg_r20910_win32

3)修改e:/ffmpeg_r20910_wm/common.h文件,如下:
#ifndef av_cold
//GCC on MinGW has bug on "cold" feature
//#if (!defined(__ICC) || __ICC > 1110) && AV_GCC_VERSION_AT_LEAST(4,3)
#if 0

3)按需下载各解码组件,如
faad2-2.7.zip  (AAC解码组件)
opencore-amr-0.1.2.tar.gz (amr解码组件)
新建e:/ffmpeg_r20910_wm/codecs目录,将组件放入其中

4)编译各解码组件
4.1)libfaad
解压缩faad2-2.7.zip,依次执行
autoreconf -ivf
./configure --enable-static --disable-shared --prefix=/mobile
make (编译时出错two or more data types什么的,不用管,libfaad.a已经生成)
make install
4.2)libopencore-amr
解压缩opencore-amr-0.1.2.tar.gz,依次执行
./configure --enable-static --disable-shared --prefix=/mobile
make
make install

5)编译ffmpeg
#!/bin/sh
./configure --enable-memalign-hack --prefix=/mobile --enable-libfaad --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-static --enable-shared --enable-gpl --enable-version3 --disable-zlib --disable-ipv6 --disable-debug --disable-ffplay --disable-ffmpeg --disable-ffserver --disable-encoders --disable-network --disable-muxers --extra-ldflags="-L/mobile/lib" --extra-cflags="-I/mobile/include"
此命令太长,可以将命令写入到sh文件(如doConfigureWin32.sh)来执行。(出现libvdpau>=0.2提示,不用管)
make
make install
保留类似于avcodec-52.dll avcodec-52.lib的文件,删除其它。

ffmpeg编译(生成Windows或Win32平台dll, lib)相关推荐

  1. 备忘: VC++ 自动适用编译两种模式库文件 (DLL, LIB)

    为什么80%的码农都做不了架构师?>>>    一个好的程序设计规划总会有属于自己的基础代码库.重用这些代码库,DLL或LIB方式最好的选择之一.在写新的项目或程序是,我们不可能每次 ...

  2. phoneMe的编译过程,基于win32平台

                                                phoneME Feature Software MR2 简介和编译                       ...

  3. 3个平台下的ffmpeg——ffmpeg编译

    3个平台下的ffmpeg--ffmpeg编译 ffmpeg编译 需要在3个平台(win\linux\arm)下使用ffmpeg的库,所以进行了ffmpeg的编译. 其中ffmpeg的编译也有许多依赖, ...

  4. ffmpeg编译android平台-(ubuntu+ndkr16b+ffmpeg3.4.12)

    一.环境配置 1.下载NDK,NDK老版本 1.1. ubuntu下载 wget https://dl.google.com/android/repository/android-ndk-r16b-l ...

  5. ffmpeg for android windows,windows10下编译ffmpeg for android

    最近实现了一款基于FFMpeg的支持多路视频的实时流媒体播放器:https://github.com/huweijian5/RtspPlayer 有兴趣能够关注下.html 本文记录在windows1 ...

  6. FFMPEG源码编译(Windows篇)

    环境:win10 64位,VS2019,MSYS(是一个小型的GNU环境,包括基本的bash,make等等.与MinGW,Cygwin等工具类似,主要是能够在windows下使用Linux的命令和库) ...

  7. linux编译ffmpeg成so,「ffmpeg」一 mac 环境下编译ffmpeg,生成so库文件

    1.下载ffmpeg源码,官网,我这里直接采用git 方式下载: 下载ffmpeg.png 终端输入git命令: 静静等待~ 最后下载的版本为3.4.6 . image.png 这里注意一下,刚开始我 ...

  8. 【转】win32 的DLL中创建windows窗口

    转自:https://blog.51cto.com/wangyw/1071967 因工作需求,需要写一个DLL,并在其中创建windows窗口,网上有很多关于DLL创建窗口的文章,不过都是基于MFC的 ...

  9. golang直接调用ffmpeg预编译类库(windows)

    MinGW介绍 MINGW(Minimalist GNU on Windows)是一个可以在windows下编译Linux程序的仿真linux编译环境,他提供了linux下的C.C++头文件.系统库和 ...

最新文章

  1. 用 Go 语言理解 Tensorflow
  2. 机器学习 聚类篇——python实现DBSCAN(基于密度的聚类方法)
  3. vue 封装组件供全局使用_vue 封装组件的基本操作
  4. 百联全渠道联手神策数据 致力给消费者最优体验
  5. string[x]:size 属性具有无效大小值0
  6. 可逆与不可逆算法,对称加密与非对称加密算法总结
  7. js判断IE浏览器的方法
  8. 二叉树之自底向上递归
  9. 什么是UV PV DAU MAU
  10. 嵌入式软件开发成功的 3 个要素
  11. Visual Studio 2010之安装Visual Studio 2010 Service Pack 1
  12. 支持Tasker控制的app合集
  13. Excel如何统计大于某值小于某值的数量
  14. 2022年Web 前端怎样入门?最新Web前端入门的学习路线
  15. Sqli-labs Less7
  16. HDU 4069 Squiggly Sudoku 【DLX+BFS】
  17. Linux修改时间失败的解决办法
  18. 这个春节,小灰收到一件不寻常的礼物
  19. ElasticSearch(六)组合多查询(must, should, must_not, bool, filter)
  20. 哪些职业适合转行产品经理?

热门文章

  1. delphi 发送html邮件,delphi发送html带附件邮件
  2. 动态定时任务数据库获取方式
  3. 【Linux学习】强大的文本分析工具AWK
  4. 【CodeForces - 471B】MUH and Important Things (模拟,细节)
  5. ACM算法 -- 数论 -- 开灯关灯问题(数论,整数分解,因子个数,公式推导)
  6. 【HDU - 1465 】不容易系列之一 (组合数学,错排)
  7. 【POJ-3259】 Wormholes(判负环,spfa算法)
  8. android新材料设计,android - 如何实现新材料BottomAppBar为BottomNavigationView - SO中文参考 - www.soinside.com...
  9. Android手机mm开头的大文件,[2018年最新整理]2Android源代码编译命令m和mm和mmm以及make分析.doc...
  10. php ../ 和 ./ 区别,php $_POST 与 php://input的区别分析