windows编译ffmpeg

来源:互联网 发布:智能家居网络协议 编辑:程序博客网 时间:2024/05/18 02:03

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 后面加上即可;


0 0
原创粉丝点击