平民程序 - linghuye's blog

天下风云出我辈,一入江湖岁月催。皇图霸业谈笑中,不胜人生一场醉。提剑跨骑挥鬼雨,白骨如山鸟惊飞。尘事如潮人如水,只笑江湖几人回。

随笔 - 221, 文章 - 0, 评论 - 680, 引用 - 0
数据加载中……

ffmpeg的编译

最近耗费了些时间捣鼓ffmpeg影像播放,个人是Linux和开源运动的忠实追随者,但却很少在linux下编程,因为实在讨厌那个命令行的make编译,操作繁琐,我又经常打错字,要花大量时间捣鼓那些./configure,实在不适合我这种懒人.

Linux下的make都是又臭又长,而且搞不懂为什么编译出的东西关联都那么多,目标文件又大,ffmpeg默认编译生成8M多的dll,使用如下./configure,支持各种MPEG4格式.

./configure  --disable-static --enable-shared --enable-memalign-hack --disable-encoders --disable-debug --disable-audio-oss --disable-audio-beos --disable-v4l --disable-v4l2 --disable-bktr --disable-dv1394 --disable-network --disable-lzo --disable-zlib --disable-simple_idct --disable-vhook --disable-muxers --disable-mpegaudio-hp --disable-ffserver --disable-ffplay --disable-decoders --enable-small --enable-decoder=MPEG4 --enable-decoder=SNOW --enable-decoder=MSMPEG4V1 --enable-decoder=MSMPEG4V2 --enable-decoder=MSMPEG4V3

编译完avcodec.dll仍然有1.06M(不知有谁能编译出支持MPEG4的更小的版本),只支持MPEG4格式,用Aspack压缩一下354k,这样的DLL才可以用,虽然结果简单,但没有文档,捣鼓这些参数浪费了大量时间,真是不值得.另外,很烦别人问我程序的编译问题,繁琐而没有多少技术含量,纯粹的体力活.最后为了找一个影片开始播放时会出现马赛克的Bug,修改ffplay.c,做了个VC下可以调试编译的版本,和我的程序做对比,最后调试发现av_read_packet的解码有问题,改成av_read_frame了事,结果是就只改了几个字母解决了Bug,过程却相当的痛苦.

研究的副产品是发现TortoiseCVS这个CVS工具很好用,集成入Windows Shell,而WinCVS表面是Windows GUI,骨子里仍然是Linux的繁琐,状态栏那几条死鱼说明了一切.又发现了Fraps这个游戏视频捕捉工具,直接截获游戏目标画面,显示游戏帧数,直接捕捉显卡内容录制avi,cool!

Linux下的东西就比Windows有技术含量么,我看未必.

posted on 2006-04-01 00:25 linghuye 阅读(1943) 评论(2)  编辑 收藏 引用 所属分类: 3D图形学研究编程札记

评论

# re: ffmpeg的编译  回复  更多评论   

中华视频网(http://www.chinavideo.org)有一个专门讨论ffmpeg的技术论坛:ffmpeg工程组,http://bbs.chinavideo.org (专题QQ群:6939161),希望楼主可以发表一些经验文章。
2006-04-17 09:03 | 中华视频网

# re: ffmpeg的编译  回复  更多评论   

喜欢这种专注技术的论坛,以后会多逛逛.
2006-04-17 10:58 | linghuye
只有注册用户登录后才能发表评论。