赋闲在家,想研究下ffmpeg,填补下知识空白。音视频的基础知识学习了leixiaohua的博客,收益良多(遗憾)。接下来便是学习fffmpeg的使用,顺便有机会了解ffmpeg内部知识。
首先从编译ffmpeg开始。参考了一下链接:http://blog.csdn.net/finewind/article/details/38854517
但是随着ffmpeg的不断更新,以及一些编译环境的变化,以上文章的内容不尽相同。例如,我在win10下使用msvc12编译的过程中,遇到一些不同的问题。
Q1: 以上文章中在vs2013的命令行工具中启动msys64脚本,但echo $PATH发现环境无法继承vs中环境变量设置,导致编译过程中找不到命令。
A1:查看msys64启动脚本,看到“rem To export full current PATH from environment into MSYS2 use '-use-full-path' parameter”,依据提示解决。
Q2:无法生成ffplay.exe
A2:最新的ffmpeg中使用SDL2,首先确保SDL版本和位置。然后./configure --toolchain=msvc --arch=x86 --enable-yasm --enable-asm --enable-shared --disable-static --prefix=/c/ffmpeg --enable-ffplay --extra-cflags='-I/d/SDL2/include' --extra-ldflags='-L/d/SDL2/lib',同时修改ffbuild/config.mak中内容得以解决。