win7_32下编译ffmpeg

苏博 苏博     2022-08-30     495

关键词:

运行环境:  VC2010软件;                 [附:本文所用软件安装包:http://download.csdn.NET/detail/sinat_36666600/9705438]

技术分享

1、下载mingw-get-setup.exe [网站:https://sourceforge.net/projects/mingw/]

安装步骤很简单,一直next就行。然后把basic setup中的 “1”点右键选择“make for installation”全部选择就行。最后点击“2”中的apply changes安装。(注:若提示错误框,或关闭下图安装框时跳出提示,且提示的大意为有的插件没有安装,则选择“Review changes”,然后选择“apply changes”可继续下载安装。直到全部安装好,没有任何错误退出最好。)

或参考网上的教程,不再赘述。

 技术分享

2、“我的电脑”右键“属性”,选择“高级系统设置”,点击“环境变量”。在“系统变量”框中找到“Path”,点击“编辑”,在末尾加入代码:“C:mingwin;”。(注意末尾的分号,为英文输入法。根据安装的mingw的路径而改变位置)

 

3、用记事本的方式打开C:mingwmsys1.0(其中C:mingw为安装mingw的位置。从这里也能看出,安装了mingw后自动安装了“msys”,从而不用自己再配置msys)目录中的msys.bat。在最顶部位置添加如下代码:

 

call "D:Program FilesMicrosoft Visual Studio 2010VCinvcvars32.bat"

 

 

其中,“D:Program FilesMicrosoft Visual Studio 2010”为软件Microsoft Visual Studio 2010的安装路径,根据安装路径的不同而对应更改即可。

效果如下图:

技术分享

4、下载最新版yasm.exe [网址:http://yasm.tortall.net/Download.html] 选择“win32.exe(for general use on 32-bit windows)”根据系统的不同而改变。

为了减少配置环境变量的麻烦,本处直接把 yasm-1.1.0-win32.exe 文件名修改成:yasm.exe,并放到系统目录下:C:WINDOWSsystem32。

 

5、下载最新版本的ffmpeg[网站:http://www.ffmpeg.org/download.html#get-sources] 解压出来即可。

 

6、编译ffmpeg:

把步骤5中的压缩包解压到C:ffmpeg后。打开“C:mingwmsys1.0msys.bat”文件。

输入命令:

cd /c

cd ffmpeg

./configure --enable-memalign-hack --disable-debug

 

以上代码意思为:进入ffmpeg文件夹所在路径“C:ffmpeg”。然后“./configure --enable-memalign-hack”编译ffmpeg,且“--enable-memalign-hack”必不可少!

一段时间后,显示如下错误:

 技术分享

7、根据网站:

http://stackoverflow.com/questions/1710922/how-to-install-pkg-config-in-windows 

 

下载相应的安装包,然后按步骤操作:

(1)下载pkg-config_0.26-1_win32.zip 

(2)解压后把“bin”文件夹下的“pkg-config.exe”文件复制到“C:mingwin”下,其余文件可删除。(注:在别的地方下载的pkg-config压缩文件,解压后可能没有pkg-config.exe文件。所以建议到此网站上下载。)

(3)下载gettext-runtime_0.18.1.1-2_win32.zip

(4)解压后把“bin”文件夹下的“intl.dll”文件复制到“C:mingwin”下,其余文件可删除。

(5)下载glib_2.28.8-1_win32.zip

解压后把“bin”文件夹下的“libglib-2.0-0.dll”文件复制到“C:mingwin”下,其余文件可删除。

技术分享

最后,再次进行步骤6。发现没有错误了,可以运行。如下图所示:

 技术分享

然后再进行以下两步:

make

make install

 

“make”时会进行长时间的编译,所以请耐心等待。最后“make install”安装。全部完成后,可在ffmpeg文件目录下发现“ffmpeg.exe”“ffprobe.exe”等文件,唯独没有“ffplay.exe”。在网上百度了下,原因是没有编译SDL。

 

第二部分 —— 完整编译:

首先,进行上面的1~5步骤,然后再进行下面的步骤:

 

1、在官网下载x264[网站:http://www.videolan.org/developers/x264.html] 

然后解压到之前的ffmpeg目录下C:ffmpeg。 然后启动C:mingwmsys1.0msys.bat。输入命令,进入到x264目录下:

cd  /c

cd  ffmpeg

cd  x264

./configure  --enable-shared  --disable-asm

make

make  install

编译完成后,在C:mingwmsys1.0local目录下可看到bin、include和lib文件夹,都为x264的文件。

 

2、下载SDL,[网站:http://www.libsdl.org/download-2.0.php] 选择其中的“SDL2-devel-2.0.5-mingw.tar.gz (MinGW 32/64-bit)”。这是已经编译好好的SDL文件,解压后直接拿来用就ok了。

 

将i686-w64-mingw32下的lib的所有文件复制到C:mingwlib;

将i686-w64-mingw32下的include的所有文件复制到C:mingwinclude;
将i686-w64-mingw32下的bin的所有文件复制到C:mingwin;

 

3、最后,编译ffmpeg。

cd  /c

cd  ffmpeg

./configure  --enable-shared  --enable-ffplay  --enable-memalign-hack  --enable-gpl  --enable-libx264  --extra-cflags=-Ic:/mingw/msys/1.0/local/include  --extra-ldflags=-Lc:/mingw/msys/1.0/local/lib

注意:“--extra-cflags=-I”以及“--extra-ldflags=-L”后的是包含了libx264.h头文件的目录和相关库,根据相应的位置而改动,若不加那两个代码就会有如下图的错误:

 技术分享

耐心等待一段时间后,再:

make

make  install

 

没有报错,检查c:ffmpeg文件,发现其中生成了“ffmpeg.exe”、“ffplay.exe”、“ffprobe.exe”等文件。

 

4、双击打开c:ffmpeg目录下的“ffplay.exe”,弹出如下错误提示:

 技术分享

其实这个文件就在C:mingwmsys1.0localin目录下。

但是打开C:mingwmsys1.0localin目录下的“ffplay.exe”没有错误提示。将测试“h264”、“mpg”等格式的视频直接拖入这里面的ffplay.exe中可以顺利播放,但是没有声音。因为没有加入音频的编解码库。

 

 

 

 

 

注意事项

-1- 通过以下代码编译lame-3.97时不会有问题:

./configure --disable-shared (首选)
或    ./configure --disable-static --enable-shared
     make
     make install

但在编译ffmpeg时加入“--enable-libmp3lame”会报错,如下图:

 技术分享

暂时还没找到解决办法。

 

若编译最新版的lame-3.99.5,则会出现下图错误:

技术分享

技术分享

-2- 编译SDL时,会出现如下错误:

 技术分享

显示红色框中内容时弹出2次如下图对话框:

 技术分享

把编译指令改为如下,则可编译成功:

./configure  --disable-nasm

make

make  install

 

若编译SDL2版本,也会报错。所以,建议使用已经编译好的SDL2-devel-2.0.5-mingw.tar.gz这种文件,直接复制粘贴到对应文件夹即可。

[ffmpeg扩展第三方库编译系列]关于mingw32下编译libcaca

在编译前最好先看一下帮助./configure--help開始编译./configure --disable-shared--disable-cxx   --disable-csharp--disable-java--disable-python--disable-ruby   --disable-imlib2--disab 查看详情

VC2010-SP1 Win7 32 位 - 错误 C2338:CVarTypeInfo< char > 无法在启用 /J 或 _CHAR_UNSIGNED 标志的情况下编译

】VC2010-SP1Win732位-错误C2338:CVarTypeInfo<char>无法在启用/J或_CHAR_UNSIGNED标志的情况下编译【英文标题】:VC2010-SP1Win732-bit-errorC2338:CVarTypeInfo<char>cannotbecompiledwith/Jor_CHAR_UNSIGNEDflagenabled【发布时间】:2016-11-0602:52:38【问 查看详情

win7旗舰版64位下编译32位的带cgo的golang程序

 开发过程中,遇到一个问题。客户服务器端为32位Windows系统,软件系统必须编译成32位系统才能在客户端正常运行。本人开发环境: Win7旗舰版64位Golang1.864位TMD-GCC5.164位  在此情况下,使用批处理文件如下:setGOOS=... 查看详情

[ffmpeg扩展第三方库编译系列]frei0rmingw32下编译问题

在编译安装frei0r的时候遇到两个错误地方,两个都是在install的时候.一開始编译都非常顺利,输入了makeinstall之后就走开了,回来一看,报错误.提示mkdir-p//usr/local/lib/frei0r-1错误,让我百思不得其解,一開始以为我手动创建就能够,... 查看详情

windows下编译boost库(代码片段)

下载源码boost_1_66_0.7z生成编译工具D:\Project\boost_1_66_0>bootstrap.bat配置Python环境变量(使用VS2017自带的32位python3)编译32位boost库D:\Project\boost_1_66_0>.\b2installarchitecture=x86address-model=32--with-system--with 查看详情

win11环境下编译theia源码

1、安装gitbash\jdk\python\nodejs\yarn;2、安装windows下用于npm构建工具"npm×××tall--global--productionwindows-build-tools";3、屏蔽ffmpeg的构建"exportTHEIA_ELECTRON_SKIP_REPLACE_FFMPEG=1";4、在theia代码目录下执 查看详情

关于在ubuntu14.04下编译安装ffmpeg

首先下载ffmpeg-2.4.3.tar.bz2和last_x264.tar.bz2,可以见附件。cd~mkdirffmpeg&&cdffmpeglibx264需要yasm,所以先安装yasmsudoapt-getinstallyasm然后安装libx264sudoaptitude-yinstall libx264-dev把两个附件拷贝到当前路径下并解压进入到x264-s 查看详情

ffmpeg在linux下编译

1、下载ffmpeg。    wgethttp://down1.chinaunix.net/distfiles/ffmpeg-0.4.9-p20051120.tar.bz2   我是在这个网址上下载ffmpeg-0.4.9-p20051120.tar.bz2,看网上有人用的是svn下载,但是我的机子中没有svn客户端,然后就在网上搜索,下载了这... 查看详情

如何在win7下编译好的hadoop2.7.4包

参考技术A将*.jar紧缩包复制到你的hadoop目录下运行 查看详情

windowsxpsp3下编译安装openssl-1.1.0b

软件需要:openssl-1.1.0bvisualstudio2010(cn_visual_studio_2010_ultimate_x86_dvd_532347.iso)perl:ActivePerl-5.22.1.2201nasm-2.12.03rc1-win32环境准备:1.从官网下载​​ActivePerl-5.22.1.2201​​并一路确认安装到硬盘中2.打开命令提示符,第一次输入cp 查看详情

ffmpeg之linux下编译与调试

参考技术A下面的一切都是在root模式下进行的,可以不再root模式下进行基础环境就是编译代码的基础库,Ubuntu联网安装软件很简单,一个语句即可搞定,这里列出语句如下:依赖库分两方面,参考以下网站列出的依赖库信息,本... 查看详情

libevent学习之二:windows7(win7)下编译libevent

Linux下编译参考源码中的README文件即可,这里主要记录Windows下的编译。一.准备工作去官网下载最新的稳定发布版本libevent-2.0.22-stable官网地址:http://libevent.org/二.使用VS2012编译1.解压libevent到C:UserszhangDesktoplibevent-2.0.22-stable2.打开&l... 查看详情

无法在 Win32 发布模式下编译 Qt 应用程序

】无法在Win32发布模式下编译Qt应用程序【英文标题】:CannotcompileQtapplicationinWin32releasemode【发布时间】:2014-03-0620:44:49【问题描述】:我有VS2012和QT插件。我可以在releasex64模式下编译,但是当我将设置更改为Win32并编译时,出现... 查看详情

ffmpeg-linux下编译ffmpeg(代码片段)

文章目录1.下载源码2.编译安装1.下载源码地址:https://ffmpeg.org/download.html2.编译安装./configure--prefix=/usr/local/ffmpeg--enable-debug=3--disable-static--enable-sharedmake-j4makeinstall以上,其中–enable-debug=3能用来调试,–disable-s... 查看详情

opensslwindows下编译bat

make_openssl32.bat -----------D:cdD:\ProgramFiles(x86)\MicrosoftVisualStudio10.0\VC\bin\callvcvars32.batc:cdc:\cdopenssl-1.0.2gperlConfigureVC-WIN32no-asm--prefix=C:\openssl-1.0.2g\win32callms\do 查看详情

win32下编译glog

既然编译第三方库了,google提供的VSproject是老版本的,构建不好升级。所以还是用cmake是王道。 采用outofsource编译, 以下是编译脚本bat: 1mkdirbuild23cdbuild45cmake-G"NMakeMakefiles"-DCMAKE_INSTALL_PREFIX=../build_target-DBUILD_SHARED_LI 查看详情

win7下编译microsoft版的caffe包的matlab接口(cpu模式)

本博客是基于http://www.cnblogs.com/njust-ycc/p/5776286.html这篇博客修改的,做出了更正与补充。 本人机器的环境:Win7+MATLAB2014b+VS2013 1.首先去github上下载Microsoft的caffe包,地址:https://github.com/microsoft/caffe  下载完后,解压 查看详情

c#winform打印窗体内容win7下同下编译xp系统显示问题

c#winform做的一个打印窗体内容win7系统下编译的打印正好一张a4纸宽度换做xp系统运行打印预览就变小了怎么办?最好给我一个完整好的代码实现这个功能谢谢打印的时Graphics.PageUnit别用像素改用固定单位比如InchMillimeter参考技术A... 查看详情