您的位置:首页 > 其它

windows编译ffmpeg

2014-06-29 22:45 232 查看
http://www.mingw.org/

    Download
mingw-get-setup.exe (86.5 kB)

setup path :

    D:\MinGW

设置WINDOWS环境变量 path添加:"D:\MinGW\bin;"

Yasm Downloads and Releases:
http://yasm.tortall.net/Download.html
Win32
.exe (for general use on 32-bit Windows)
Win64
.exe (for general use on 64-bit Windows)
改名为yasm复制到"D:\MinGW\bin"

修改D:\MinGW\msys\1.0\msys.bat 开始处添加:

call “C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat”

注:vs2010,windows 64bit

启动mingw,进入ffmpeg目录,执行

./configure --enable-shared --disable-static --enable-memalign-hack 

再执行 make 及make install

在利用ffmpeg编码时avcodec_find_decoder(AV_CODEC_ID_H264) 返回NULL,encoder正常,解决如下:

下载x264-devel-master x264源码并make

重新ffmpeg configure 并 make 

./configure --enable-libx264 --enable-gpl --enable-shared --disable-static  --enable-memalign-hack --extra-cflags=-I../x264-devel-master --extra-ldflags=-L../x264-devel-master

另外,我在linux下编译ffmpeg时,发生以下错误:

relocation R_X86_64_32 against `.rodata' can not be used when making a shared object

be used when making a shared object; recompile with -fPIC

在./configure  添加 --extra-ldflags=-fPIC 依然出现这个错误

解决方法:

vim ffmpeg/config.mak

发现SHFLAGS=-shared -Wl,.............

这行没有-fPIC参数,在-shared 后面加上即可;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: