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

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的文件,删除其它。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453891.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2019python课件_2019版经典Python学习路线分享

Python有三大神器,包括numpy,scipy,matplotlib,因此适合用于数据处理。spark,Hadoop都开了Python的接口,所以使用Python做Python的mapreduce也非常简单。因此它也备受欢迎,python学习大纲分享给大家。一、Python基础1.2数据的存储…

UML之涉众/参与者(角色/执行者)(Actor)/业务主角(BusinessActor)/业务工人(BusinessWorker)/用户/角色辨析【图解】...

参考文档: 【业务建模】(http://www.baike.com/wiki/%E4%B8%9A%E5%8A%A1%E5%BB%BA%E6%A8%A1) 【UML 核心元素之参与者】(http://www.voidcn.com/article/p-obarwwaq-tp.html) 【UML核心元素之参与者】(http://www.voidcn.com/article/p-ntpnhoue-da.html)转载于:htt…

git 报错:Please make sure you have the correct access rights and the repository exists

提示:Warning: Permanently added gitee.com,120.55.226.24 (ECDSA) to the list of known hosts.是公钥出问题了,要先设置用户和邮箱再重新生成ssh公钥即可。 1、首先我得重新在git设置一下身份的名字和邮箱 进入到需要提交的文件夹底下(…

java 实现excel 导出功能

实现功能&#xff1a;java导出excel表 1、jsp代码 1 <form id"zhanwForm" action"<%path%>/conferences.do?" target"_self" method"get" > 2 <input type"hidden" name"method" value…

python 内置模块 subprocess

1、介绍 subprocess模块可以生成新的进程&#xff0c;连接到它们的input/output/error管道&#xff0c;同时获取它们的返回码。 2、基本操作方法 2.1、subprocess的run、call、check_call、check_output函数 subprocess.run(args[, stdout, stderr, shell ...]) 执行args命…

Windows下的FFmpeg 、MEncoder、MPlayer下载地址

视频转码常用的是MEncoder&#xff0c;这个工具包含在MPlayer中&#xff0c;也可以使用FFmpeg&#xff0c;但据说有些格式转换的时候效率不及MEcoder&#xff0c;所以能用MEncoder转换的尽量用MEncoder转换&#xff0c;由于MEncoder暂时还没有研究&#xff0c;等研究过了再补充…

功率曲线k值_什么叫离心泵的流量——功率曲线?它们之间有什么关系?

流量和功率之间为正比例关系。流量增加时功率也增加&#xff0c;增加快、慢与比转数有关。比转数越小&#xff0c;流量增加后功率增加越快&#xff1b;比转数越大&#xff0c;流量增加后功率增加越慢。 离心泵的性能参数与特性曲线泵的性能及相互之间的关系是选泵和进行流量调节…

什么是CI/CD

一、简介 CI / CD的采用改变了开发人员和测试人员如何发布软件。 最初是瀑布模型&#xff0c;后来是敏捷开发&#xff0c;现在是DevOps&#xff0c;这是现代开发人员构建出色的产品的技术路线。随着DevOps的兴起&#xff0c;出现了持续集成&#xff08;Continuous Integration…

FFmpeg在Windows系统下的编译过程

由于FFMpeg是基于Linux开发的开源项目&#xff0c;源代码和Windows下最常见的Visual Studio提供的C/C编译器不兼容&#xff0c;因此它不能使用MSVC编译。要想使用FFMpeg&#xff0c;最先要解决的问题就是在Windows下配置一个类似Linux的编译环境&#xff0c;将FFMpeg编译为二进…

centos 文件夹网络连接_centos8 安装后网络不通及网络配置

一 修改配置文件设置网络时首先打开配置文件&#xff0c;配置文件默认如下所示&#xff0c;如果使用dhcp自动获取ip&#xff0c;只需将ONBOOTno修改为ONBOOTno即可。#网卡配置文件按默认配置TYPEEthernetPROXY_METHODnoneBROWSER_ONLYnoBOOTPROTOdhcpDEFROUTEyesIPV4_FAILURE_F…

STM32 HAL库详解 及 手动移植

源&#xff1a; STM32 HAL库详解 及 手动移植转载于:https://www.cnblogs.com/LittleTiger/p/8044047.html

Python 内置函数之 open (文件操作)

正常的文件操作都分三步走&#xff1a;打开文件&#xff0c;操作文件&#xff0c;关闭文件。 python open() 函数用于打开一个文件&#xff0c;创建一个 file 对象&#xff0c;相关的方法才可以调用它进行读写 语法 文件句柄 open(文件名,模式) 例如&#xff1a;f open(a…

windows系统下_ffmpeg编译_2011年

ffmpeg开源库在linux系统下弄的&#xff0c;是一个很全的音频和视频的编解码库要在windows下编译出用于开发的lib库确实比linux下要麻烦&#xff0c;百度了很久&#xff0c;参照别人的见解终于成功编译出自己需要的可以用于开发的库&#xff08;dll的形式&#xff0c;附带dll的…

部署WEB项目到服务器(三)安装mysql到linux服务器(Ubuntu)详解

突发奇想&#xff0c;想在自己电脑上部署一个web网站。 1&#xff0c;首先是下载一个适合自己已安装服务器版本的mysql数据库。 这里使用网上的链接http://dev.mysql.com/downloads/mysql/5.6.html#downloads 或者使用代理网站上下载&#xff1a;https://mirrors.huaweicloud.c…

在Windows下编译ffmpeg完全手册

本文的内容几乎全部来自于FFmpeg on Windows&#xff0c;但是由于国内的网络封锁&#xff0c;很难访问这个域名下的内容&#xff0c;因此我一方面按照我自己的理解和实践做了翻译&#xff0c;另一方面也是为了能提供一个方便的参考方法。 注&#xff1a; 1. 对于compil…

padding和卷积的区别_TensorFlow笔记1——20.CNN卷积神经网络padding两种模式SAME和VALID...

第1种解说&#xff1a;(核心最后一张图&#xff0c;两种填充方式输出的形状尺寸计算公式)在用tensorflow写CNN的时候&#xff0c;调用卷积核api的时候&#xff0c;会有填padding方式的参数&#xff0c;找到源码中的函数定义如下&#xff08;max pooling也是一样&#xff09;&am…

MORMOT数据库连接池

MORMOT数据库连接池 MORMOT封装了一堆的PROPS控件&#xff0c;用于连接各种数据库。 MORMOT的封装是武装到了牙齿的&#xff0c;这堆PROPS控件居然数据库连接池也封装好了。这就为我们省了不少事&#xff0c;笔者非常喜欢&#xff01; 下面拿TOleDBMSSQLConnectionProperties控…

循环神经网络变形之 (Long Short Term Memory,LSTM)

1、长短期记忆网络LSTM简介 在RNN 计算中&#xff0c;讲到对于传统RNN水平方向进行长时刻序列依赖时可能会出现梯度消失或者梯度爆炸的问题。LSTM 特别适合解决这种需要长时间依赖的问题。 LSTM&#xff08;Long Short Term Memory&#xff0c;长短期记忆网络&#xff09;是R…

Windows 系统下使用 MinGW + MSYS + GCC 编译 FFMPEG

一定要按照顺序操作&#xff0c;否则你很可能持续遇到很多奇怪的问题&#xff08;ffmpeg对编译系统版本要求比较高&#xff09;。 1. www.mingw.org: 下载并安装 MinGW 5.1.4 (http://jaist.dl.sourceforge.net/sourceforge/mingw/MinGW-5.1.4.exe)&#xff0c;安装时选中 g, m…

eclipse怎样改编码格式_Eclipse中各种编码格式及设置

操作系统&#xff1a;Windows 10(家庭中文版)Eclipse版本&#xff1a;Version: Oxygen.1a Release (4.7.1a)刚看到一篇文章&#xff0c;里面介绍说Ascii、Unicode是编码&#xff0c;而GBK、UTD-8等是编码格式。Java中的编码问题(by 迷失之路)&#xff1a;https://www.cnblogs.c…