中跨采用变截面钢箱梁:cygwin下编译ffmpeg ffserver的编译

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 02:54:13
 

cygwin下编译ffmpeg ffserver的编译

分类: 媒体开发2009-09-16 09:56 1333人阅读 评论(0) 收藏 举报

网上很多是在mingw/msys环境下编译ffmpeg的。

由于mingw/msys环境编译不处ffserver。

 

这里说说我在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-memalign-hack --enable-ffserver --enable-network --enable-protocols --enable-muxers
make
make install

说明:
1)这次安装只是测试整个安装过程,所以配置的参数我只选了最基本的


2)在执行./configure过程中,曾经出现以下报错:
./configure
./configure: line 9: $'/r': command not found
./configure: line 12: $'/r': command not found
...
这是因为我用的是SVN去下载ffmpeg源码,这个./configure文件中的换行是'/r/n',cygwin无法识别导致的,解决办法有几种:A)在linux下或cygwin下用svn去获取ffmpeg代码;B)使用工具替换'/r/n' -> '/n',我就是用UltraEdit去修改搞定的;C)通过google搜索以下关键词“ffmpeg configure unexpected token”;

 


3)在执行make命令过程中,又出现以下错误:

 

 line 53: syntax error near unexpected token `fi'
 line 53: `fi"

 

解决方法:

使用 dos2unix filename

即 dos2unix configure

 


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了!!