【FFmpeg】Windows下64位ffmpeg编译

转载 2016年05月31日 17:45:38

 本文主要记录在64位Windows 7下,编译64位ffmpeg的过程。

1.资源准备

  (1). MSYS http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/

  (2). MinGW-w64 http://www.drangon.org/mingw/

  (3). SDL http://www.libsdl.org/download-1.2.php

  (4). x264 http://www.videolan.org/developers/x264.html

  (5). FFmpeg http://www.ffmpeg.org/download.html

  MinGW-w64中已经包含Yasm,因此不需要额外准备Yasm。

2.软件安装

(1). MinGW+Msys安装

  下载MSYS,解压到E:/ffmpeg64/msys目录。

  下载MinGW-w64,解到E:/ffmpeg64/msys/mingw64目录。

  启动msys.bat,打开类似于Linux的终端,并导入mingw64的环境变量。

echo 'export PATH=.:/local/bin:/mingw64/bin:/bin' > .profile
source .profile

(2). SDL安装

  下载SDL1.2.14,解压到E:/ffmpeg64/SDL-1.2.14目录。

  进入SDL-1.2.14目录,依次执行: 

./configure --host=x86_64-w64-mingw32
make 
make install

  编译过程中,出现如下错误:

  

  查看SDL_dx5video.c源代码,如下图所示,可以看出启用预定义NONAMELESSUNION,则会引用u1、u2的结构,出现上述错误。

  解决方法是去除预定义NONAMELESSUNION,具体代码修改参考:http://hg.libsdl.org/SDL/rev/eada7e321df6

  

  另一种简便的解决方法是更换SDL库,换成SDL-1.2.15或SDL-2.0.3。由于ffplay.c主要是利用SDL-1.2的接口实现,若使用SDL-2.0.3,则需要修改ffplay.c的源代码,因此,本文利用SDL-1.2.15重新编译,生成SDL库,安装过程和安装SDL-1.2.14一样。

  完成编译过程,但在安装(make install)出现如下错误,提示“系统找不到指定的文件”,但是/bin/install和sdl-config都是存在。

  

   查询相关资料后,发现出错的原因可能是终端在解释路径出错,如:http://mingw-users.1079350.n2.nabble.com/Problem-with-ranlib-while-running-make-install-for-SDL-td3282130.html。当MinGW+Msys和Cygmin同时存在时,会出现路径冲突的问题,在Cygmin中,根目录"/"被解释为当前目录的根目录,即”E:/",Cygmin会将"/bin/install"解释为"E:/install",因而出现“系统找不到指定的文件”的错误。

  解决方法:修改Makefile文件,重新设置install的路径。

  

(3). x264安装

  下载x264,解压到E:/ffmpeg64/x264目录下。

  进入x264目录,依次执行:

./configure --host=x86_64-w64-mingw32 --enable-shared
make 
make install

(4). FFmpeg安装

  下载FFmpeg1.2,解压到E:/ffmpeg64/ffmpeg1.2

  进入ffmpeg目录,依次执行:

./configure --enable-gpl --enable-libx264 --enable-shared --enable-static --arch=x86_64 --extra-cflags='-I/local/include -I/local/cross-tools/i386-mingw32/include/SDL' --extra-ldflags='-L/local/lib -L/local/cross-tools/i386-mingw32/lib'
make 
make install

  --extra-cflags用于指定头文件路径,--extrac-ldflags用于指定库文件路径。

  注意:一定要指定SDL库和x264库的头文件和库文件路径。

(5). 验证安装

  验证生成ffmpeg工具是否可执行,利用ffplay播放视频文件,查看是否可以正常播放。

  

  验证生成的动态库和可执行程序是否是64位,利用dumpbin查看动态库和可执行程序的属性信息。

  

 

Windows安装配置ffmpeg

windows下下载配置ffmpeg
  • chy466071353
  • chy466071353
  • 2017年02月09日 17:08
  • 719

编译64位的ffmpeg

https://ffmpeg.zeranoe.com/builds/readme/win64/static/ffmpeg-git-1aeb88b-win64-static-readme.txt ...
  • ljh081231
  • ljh081231
  • 2016年08月03日 16:24
  • 1124

Windows7_x64下编译64位ffmpeg

【转自】http://www.cnblogs.com/dwdxdy/p/3626999.html 本文主要记录在64位Windows 7下,编译64位ffmpeg的过程。 1.资源准备  ...
  • fm0517
  • fm0517
  • 2015年03月28日 11:46
  • 4993

FFmpeg Windows(64bit)

  • 2017年02月25日 14:28
  • 47.07MB
  • 下载

ffmpeg 2017-11-04 vs2015 Win10X64编译,X64版本,动态库、静态库。

  • 2017年11月04日 14:15
  • 54.76MB
  • 下载

Windows系统下开源编解码库H.264与FFmpeg-2.8.2的编译与配置

FFmpeg是一个基于Linux开发的开源项目,其源代码和Windows下最常见的Visual Studio提供的C/C++编译器不兼容,因此它不支持MSVC++编译,需要在Windows下配置一个类...
  • liyuefeilong
  • liyuefeilong
  • 2015年11月21日 23:04
  • 2495

ffmpeg windows下编译 64位

  • 2013年09月09日 13:37
  • 18.63MB
  • 下载

记win10下编译64位ffmpeg

需要使用windows 64位版的ffmpeg,所以搞了下编译环境,基本的操作如下: 1.下载mingw64,这个可以编译windows系统下的64位和32位库,mingw只能编译32位的库。下载地...
  • andrew57
  • andrew57
  • 2016年05月31日 00:36
  • 2750

ffmpeg开发之旅(5):详解ffmpeg编译与在Android平台上的移植

为了提高ffmpeg编译速度,这里选择在Linux环境下对其进行编译。VirtualBox安装Ubuntu比较简单,可自行查找相关资料,只是在为虚拟系统分配磁盘空间时建议大于20GB,因为NDK体积还...
  • AndrExpert
  • AndrExpert
  • 2017年06月27日 21:40
  • 1352

windows下使用ndk9编译ffmpeg

我的环境: ndk-r9d, ffmpeg2.2.2, cygwin1.7.29, win8.1
  • u013713653
  • u013713653
  • 2014年05月23日 12:35
  • 2809
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【FFmpeg】Windows下64位ffmpeg编译
举报原因:
原因补充:

(最多只允许输入30个字)