因为要调试的缘故,所以自己编译了一下ffmpeg,和几年前比起来傻瓜了很多了,mingw已经做的可视化了。

1.下载mingw安装包,现在都是在线安装的,名字类似mingw-get-setup.exe这样。

2.然后就是等待,mingw会弹出一个管理工具,如图装这些就够。

centos8 ffmpeg 编译安装_windows

3.经过一段时间的等待,装好这些以后,我们开始配置msys,进入mingw目录,默认在c:\mingw,进入msys/etc目录,将fstab.sample拷贝一份改名为fstab,修改其内容,主要是把mingw目录映射进去

#Win32_Path Mount_Point
c:/mingw /mingw


4.我是win7 vs2008环境,所以在msys.bat第一行加入环境变量配置

call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"

保存退出

5.到yasm官网http://yasm.tortall.net/ 下载yasm,用来做汇编的,最好去下,当然如果实在不想的话,ffmpeg关闭asm也没问题。下载对应你环境的程序,随便放哪,我放到了

c:\yasm.exe。

6.至此环境基本配置完毕,比以前不知道简单了多少。双击msys.bat启动命令行工具,进入ffmpeg目录,这是个类linux shell,所以切盘符不能d:这样,比如我的放到了d盘,那么cd /d就好了。

7.接下来就是标准的configure->make->make install的节奏了。我是只需要rtsp解码h264和音频alaw,ulaw,所以我只编译了这几个库,这样核心库体积能压缩到2M多一点,对体积没要求的,全编译就行了,这里记录我的configure。

./configure --enable-static --enable-memalign-hack --disable-ffserver --disable-devices --disable-demuxers --disable-muxers --enable-demuxer=rtsp --enable-demuxer=sdp --disable-bsfs --disable-pthreads --enable-runtime-cpudetect --disable-encoders --yasmexe='c:/yasm.exe' --disable-decoders --enable-decoder=h264 --enable-decoder=pcm_mulaw --enable-decoder=pcm_alaw --enable-w32threads --disable-ffplay --disable-shared --disable-debug --disable-iconv --disable-parsers --enable-parser=h264 --disable-ffprobe --disable-ffmpeg

其中有一段是配置yasm路径的,注意填好你的就行了。我这里只要静态库,所以--enable-static,然后把ffplay,ffmpeg,ffserver等程序都关了。如果你只需要解码本地文件,不需要网络的话,可以将demuxer全关了,network全关了,应该会更小,configure --help有帮助,自己研究下吧。

7.make可能出现的问题。gcc 失败,问你是不是跨平台编译。这个是有可能你msys配置那块,导致没找到gcc。

8.make install建议做一下,它就帮你把目录整理好了,放到msys/local/lib 和msys/local/include里了。

我编译出来的如图

centos8 ffmpeg 编译安装_3d渲染_02

,体积基本满意了。

9,VS中使用时,除了添加你需要的ffmpeg库,还要加入libmingwex.a,libgcc.a。然后在头文件目录和引用库目录分别加入对应目录。至此就可以使用了。

centos8 ffmpeg 编译安装_浏览器插件_03

10,效果如图

centos8 ffmpeg 编译安装_windows_04

,ffmpeg解rtsp的h264,

然后directx3d渲染yuv420,

firebreath做npapi浏览器插件框架,

mp4v2做mp4文件封装,

nsis打包程序。

最后插件安装包2.3M,可放入嵌入式设备了。