Window下使用mingw编译出ffplay

        之前的文章中说明了如何编译ffmpeg,编译出来的结果中有ffmpeg.exe和ffprobe.exe这两个工具,但是在实际音视频开发的时候,经常需要验证中间的数据是否正常,此时需要使用ffplay工具进行播放中间文件。而其实ffplay和上面两个工具一样,都是默认会编译的工具,但是如果编译的时候没有找到这个工具依赖的库,则不会编译。ffplay依赖SDL2这个库进行渲染,咱们之前的环境中并没有SDL2,所以没办法编译出ffplay。

        接下来咱们就说一下如何在mingw中搞出SDL2并且编出ffplay。

        经过一轮资料查询,发现SDL2不太好在mingw中编译(笔者犯了经验注意的错误,搞来源码,像linux上一样直接configure,然后make等操作,但是出错了),而且网上关于mingw编译SDL2的资料非常稀少。这能忍?抓住度娘一通蹂躏,最后发现,SDL2已经提供了mingw可用的库了。

先去下载要使用的SDL2的编译结果。

向下滑,找到mingw相关的内容(如下图红框,二选一),然后下载。

Window下使用mingw编译出ffplay_第1张图片

文件内部分了 32位(i686)和64位(x86_64)的库(非常贴心)。

Window下使用mingw编译出ffplay_第2张图片

 以64位为例,将目录结构如下

Window下使用mingw编译出ffplay_第3张图片

 将lib下的SDL2.a复制到ming64文件夹下的lib中,将include文件夹下的SDL2文件夹复制到ming64的include下。

Window下使用mingw编译出ffplay_第4张图片

然后构建ffmpeg的编译脚本,安装目录自己指定,我是把这个目录搞进了环境变量中,可以随时用。

./configure --enable-shared --enable-static --arch=x86_64  --prefix=e:/ffmpeg/cmd

看一下config的结果,果然出现了ffplay!

Window下使用mingw编译出ffplay_第5张图片

接下来执行编译:

make

make install

等待编译结束,看下最终结果:

Window下使用mingw编译出ffplay_第6张图片

 大功告成!

最后别忘了把SDL2.dll拷贝到执行目录中,否则会报错的哦。

你可能感兴趣的:(FFMPEG,windows,视频编解码)