免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2548 | 回复: 0
打印 上一主题 下一主题

cygwin下编译最简单的ffmpeg [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-06 10:12 |只看该作者 |倒序浏览

cygwin下编译最简单的ffmpeg
网上很多是在mingw/msys环境下编译ffmpeg的。关于cygwin与mingw的区别,请参考我之前的一篇转帖文章。
这里说说我在cygwin下编译的过程和问题。
1、首先安装cygwin;
2、下载ffmpeg源码包:
http://ffmpeg.mplayerhq.hu/download.html
(此地址下载需要SVN)
http://www.bairuitech.com/html/ruanjianxiazai/20071006/61.html
3、下载ffmpeg源码后,解压到相应目录下;打开cygwin,进入ffmpeg相应目录;
4、开始编译,运行以下命令:
./configure --enable-shared --enable-small --disable-vhook
make
make install
说明:
1)这次安装只是测试整个安装过程,所以配置的参数我只选了最基本的,如果想编译真正有用的ffmpeg,必须下载其它音频、视频解码库,比如faac、mp3lame、x264等等;
2)在执行./configure过程中,曾经出现以下报错:
./configure
./configure: line 9: $'\r': command not found
./configure: line 12: $'\r': command not found
./configure: line 13: syntax error near unexpected token `$'{\r''
'/configure: line 13: `try_exec(){
...
这是因为我用的是SVN去下载ffmpeg源码,这个./configure文件中的换行是'\r\n',cygwin无法识别导致的,解决办法有几种:A)在linux下或cygwin下用svn去获取ffmpeg代码;B)使用工具替换'\r\n' -> '\n',我就是用UltraEdit去修改搞定的;C)通过google搜索以下关键词“ffmpeg configure unexpected token”;
3)在执行make命令过程中,又出现以下错误:
/cygdrive/e/package/ffmpeg_package/ffmpeg_x264_src_20071007/ffmpeg/libavcodec/mp
egaudiodec.c:362: undefined reference to `_llrint'
Info: resolving _ff_sqrt_tab by linking to __imp__ff_sqrt_tab (auto-import)
...
原因是llrint()这个函数是用在mingw中的,cygwin并不支持它。这个好像是一个数学相关的函数。可以通过google搜索“ffmpeg  llrint”来查找这个问题。我们要么修改ffmpeg代码,要么给cygwin打patch。打patch的话可以参考这个链接:
http://trac.handbrake.fr/browser/trunk/contrib/patch-ffmpeg-cygwin.patch
我就参考它的建议修改了mpegaudiodec.c的代码:
把两个llrint()函数替换成lrint(),结果编译成功了。
5、终于搞定!
回到windows目录下,看到已经生成了ffmpeg.exe/ffserver.exe,但是这个时候运行会报错。因为刚才我们是用动态方式编译的,所以生成的动态的dll:cygavcodec-51.dll/cygavformat-51.dll/cygavutil-49.dll,但是这些dll生成后,是放在类似libavcodec的目录下,所以要么加入到系统环境目录中,要么把他们拷贝出来与ffmpeg.exe放在同一目录下。
最后,也必须对cygwin的一系列dll加载到windows的系统PATH中。
OK,现在可以运行生成的ffmpeg了!!
本文来自CSDN博客,转载请标明出处:
http://blog.csdn.net/messagebox/archive/2009/01/08/3727020.aspx


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/94593/showart_2141454.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP