最新 ffmpeg-ffplay for windows的编译-2012-5-10


最近编译ffmpeg的windows版本,网上教程较旧,写个新的。

1. 编译环境:mingw 与Debian 6 (或Ubuntu 11.04)
    也可在windows下安装mingw编译之。不过习惯了linux, 这次用的是Debian。

2. 下载MingGW-w64 Build Script 2.8.4
     http://ffmpeg.zeranoe.com/blog/?p=80, 这是ffmpeg官网链接到的 ffmpeg windows编译网站,官方提供的windows binaries好像都是这兄弟编的。
     执行这个脚本。 会自动安装版本控制,mingw等。一般没什么问题。
    时间很长,请做好准备......
    如有可参见其论坛, http://ffmpeg.zeranoe.com/forum/
    
3. 设置mingw-gcc编译器环境变量
     export /home/你的id/mingw-w64/mingw-w64-i686/bin

4. 如不编ffplay,直接看5;
    1) 去sdl网站下载: SDL-devel-1.2.15-mingw32.tar.gz
           http://www.libsdl.org/download-1.2.php 
     2)解压后,将目录 bin export到PATH
     3)修改sdl-config第一行的prefix路径为你解压文件的路径;
     4)将sdl-config 拷贝一份,重命名为:  i686-w64-mingw32-sdl-config
            i686-w64-mingw32- 是mingw编译器的前缀,ffmpeg在configure会通过这个前缀找sdl的config文件(当然,改ffmpeg的configure脚本也可,但不推荐);
     5)执行 "5 ffmpeg的编译"
     6)  编出来的ffplay,ffmpeg执行后没反应,没有打印信息? 
           我被这个被郁闷了,以为是SDL有误,编译环境不对,反复折腾了几次。后来发现,ffmpeg的config.mak 文件在SDL的编译选项设置了, -mwindows(隐藏窗口); 请把两处都注释掉。

5.  ffmpeg的编译
     下载:http://ffmpeg.org/download.html
     进入解压后目录,执行:
    ./configure --pkg-config=pkg-config --enable-memalign-hack --arch=x86 --target-os=mingw32 --cross-prefix=i686-w64-mingw32- --enable-w32threads --disable-libx264 --disable-libfaac --disable-indevs --enable-static --disable-shared --prefix=/usr/local
   注意:1) 此处没编x264和flaac,若需要,请参考:
                      http://ffmpeg.zeranoe.com/forum/viewtopic.php?f=5&t=459
                2)此处没编dshow等input devs,若编译dshow时有问题时(最新版有问题),请参考
                       http://ffmpeg.zeranoe.com/forum/viewtopic.php?f=5&t=417
    make
    make install

你可能感兴趣的:(最新 ffmpeg-ffplay for windows的编译-2012-5-10)