Linux环境下,用eclipse对ffmpeg源代码进行调试。
1.从官网(ffmpeg.org)上下载ffmpeg的源码。
2. 解压代码压缩包。
3. 个人的系统和配置都不相同,但要用eclipse编译和调试ffmpeg,有几点必须满足:
a.GNU Make 必须为3.81版本或者更高版本,否则在编译过程中会导致不可预知的错误,并且错误提示不一定告知是因为GNU Make的版本不够所造成的,从而消耗你大量的时间
b.GCC也有一定的版本要求,最低版本要求我忘记了,我用的是4.8。总之GCC版本不能太低。
c.安装eclipse即依赖(如gdb等)。
d.安装SDL,SDL并非ffmpeg必须的,如果没有SDL,可以在configure时,加上—disable-sdl。但是disable了SDL就无法编译ffplay,所以我的建议是安装SDL。
4.configure:使用命令./configure –disable-asm –disable-pthreads –enable-debug –disable-optimizations进行configure。
–disable-asm:禁用汇编,我希望了解ffmpeg的算法,汇编看不懂
–disable-pthreads:多线程,如果需要可以enable。从理解算法角度不推荐enable。
–enable-debug:启用调试
–disable-optimizations:禁用优化,否则单步调试会令你无法理解。
5.在eclipse界面中选择File->New->Project->C/C++->Makefile Project withExisting Code,浏览到ffmpeg代码所在文件夹,如图所示:
然后,点击build,编译工程就可以了。
6.点击run->debug configuration
在Main标签下的C/C++ Application选择ffmpeg_g(_g为调试版本,比如想调试ffplay,就要选择ffplay_g)。
在Argument标签下的Program arguments键入ffmpeg的命令行。比如-i inter.mp4inter.yuv,输入文件为inter.mp4,输出为inter.yuv.
7.点击debug,就可以调试了。