前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ffmpeg 2.6.3在Windows系统MinGW的编译

ffmpeg 2.6.3在Windows系统MinGW的编译

作者头像
lcyw
发布2022-06-10 19:24:08
1.4K0
发布2022-06-10 19:24:08
举报
文章被收录于专栏:machh的专栏machh的专栏

前言

本文由迟思堂工作室李迟供稿 ,目标:在Windows 7操作系统中搭建MinGW环境,编译ffmpeg。

一、准备环境

1、MinGW

1)、http://www.mingw.org/ ( 实际下载地址为https://sourceforge.net/projects/mingw/files/ )

下载最新版本的安装包:mingw-get-setup.exe。

2)、双击mingw-get-setup.exe,选择“Install”,默认安装到C盘,可以选择安装在D盘。本文的安装目录为D:\MinGW\

3)、点击“Continue”,将会下载必要的组件(配置文件等)。完成后,再点击“Continue”,进入到“MinGW Installation Manager”界面,这里就是程序的安装(如gcc编译器)。

3.1)、Basic Setup中选择“mingw32-base”、“mingw32-gcc-g++”、“msys-base”(右键选择“mark for installation”)

3.2)、All Packages中选择:mingw32-autoconf(bin那一项,下同)、mingw32-automake、mingw32-autotools、mingw32-pkginfo。

3.3)、选择Installation->Apply Changes,选择“Apply”,将下载选择的安装包(连网下载,所需时间根据实际选择包而定)。并安装一个“Linux环境”。结束后,直接关闭对话框即可。

4)、将目录D:\MinGW\bin以及目录D:\MinGW\msys\1.0\bin加入到系统环境变量(计算机->属性->高级系统设置->高级->环境变量->PATH->编辑,在“变量值”最后添加目录,确定)。

说明:这样做是为了在MinGW命令行中使用gcc等很多程序。

做此设置后,可以将下面提及到的依赖工具及库放到D:\MinGW\bin,也可以放到D:\MinGW\msys\1.0\bin,放到哪个目录都是一样的效果。

5)、进入D:\MinGW\msys\1.0,双击msys.bat即可进行,mingw命令行,输入gcc -v即可查看gcc版本。注:gcc版本为4.9.3

2、安装yasm

1)、http://yasm.tortall.net/Download.html下载Win64 .exe (实际文件名为yasm-1.3.0-win64.exe) 2)、将其改名为yasm.exe,放到D:\MinGW\bin目录下。

3、下载coreutils工具包

地址:http://gnuwin32.sourceforge.net/packages/coreutils.htm 要下载2个压缩包 BinariesDependencies的zip包,解压,将Binaries的bin目录的pr.exe放到 D:\MinGW\bin

将Dependencies目录bin的libintl3.dll、libiconv2.dll也放到刚才的目录。

然后到该目录下,将上述的2个dll复制并分别改名为iconv.dll、intl.dll。——因为pkg-config.exe需要使用到。 (若没有pr.exe,编译会提示:./configure: line 407: pr: command not found)

4、安装pkg-config.exe

1)、下载pkg-config 地址http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.26-1_win32.zip (注:没有win64对应的包) 2)、将压缩包的bin目录的pkg-config.exe复制到D:\MinGW\bin 目录下。

5、下载pkg-config.exe依赖库

1)、下载地址:http://ftp.acc.umu.se/pub/gnome/binaries/win32/glib/2.26/glib_2.26.1-1_win32.zip 2)、将压缩包bin目录所有的.dll,放到D:\MinGW\bin 目录下。 3)、依赖库iconv.dll、intl.dll在上面的步骤中已经放到D:\MinGW\bin 目录下。如果忘记,请回头看看。

6、进入MinGW的“Linux”环境

进入D:\MinGW\msys\1.0,双击msys.bat运行即可。

二、编译FFMPEG

1、下载FFMPEG

地址http://ffmpeg.org/download.html,本文使用的是ffmpeg-2.6.3.tar.bz2。

2、解压

将其放到D:\MinGW\msys\1.0\home\latelee目录下(按Linux习惯,最后一个是用户名目录)。

$ tar jxvf ffmpeg-2.6.3.tar.bz2

3、配置

进入ffmpeg目录,并配置ffmpeg:

代码语言:javascript
复制
$ cd ffmpeg-2.6.3
$ ./configure --prefix=/home/latelee/ffmpeg-2.6.3-bin \
--enable-shared --disable-static \
--enable-w32threads --disable-debug --disable-everything \
--enable-memalign-hack --enable-gpl --disable-network \
--enable-encoder=bmp,mjpeg,jpeg2000,mpeg4 \
--enable-decoder=h264,hevc,mpeg4,mjpeg,bmp  \
--enable-demuxer=h264,hevc,avi,matroska,image2,image_bmp_pipe \
--enable-muxer=h264,hevc,avi,matroska,mp4,mjpeg,image2 \
--enable-parser=h264,hevc,mjpeg,bmp \
--enable-protocol=file \
--enable-filter=scale \
--disable-indevs \
--disable-hwaccels \
--extra-libs=-lmsvcrt

注:根据实际需要选择功能。上面是编译动态库,具备h264/h265解码能力,没有硬件加速功能,

4、编译

执行make命令进行编译:

$ make

5、安装

将库及头文件安装到前面指定的路径:

$ make install

头文件在D:\MinGW\msys\1.0\home\latelee\ffmpeg-2.6.3-bin的include目录下

动态库在D:\MinGW\msys\1.0\home\latelee\ffmpeg-2.6.3-bin的bin目录下。

在MinGW中运行ffmpeg.exe结果如下图:

注:

1、关于路径分隔符说明:windows下为“\”,在MSYS中属于Linux环境,分隔符为“/”。

2、本文没有制作64位的编译环境,有兴趣可以到http://www.mingw-w64.org/上看看。

3、如果网络不稳定,可能有个别压缩包下载不完整,会安装出错。解决方法:先定位出错的工具,再删除、重新安装。

实例:在编译ffmpeg最后时出现错误:Can’t locate warnings.pm in @INC (@INC contains:。经查发现用MinGW安装perl不完整,perl目录没有warnings.pm文件。重新安装解决。

4、由于各人系统环境不同,本文不能适用于所有的系统,如有问题,欢迎留言,一起交流,共同学习。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-08-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 音视频开发训练营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、准备环境
    • 1、MinGW
      • 2、安装yasm
        • 3、下载coreutils工具包
          • 4、安装pkg-config.exe
            • 5、下载pkg-config.exe依赖库
              • 6、进入MinGW的“Linux”环境
              • 二、编译FFMPEG
                • 1、下载FFMPEG
                  • 2、解压
                    • 将其放到D:\MinGW\msys\1.0\home\latelee目录下(按Linux习惯,最后一个是用户名目录)。
                      • 3、配置
                        • 4、编译
                          • 执行make命令进行编译:
                            • 5、安装
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档