你好,游客 登录 注册 搜索
背景:
阅读新闻

VS2013编译FFmpeg

[日期:2016-08-10] 来源:Linux社区  作者:agent_x [字体: ]

由于毕设需要开始学习ffmpeg,因为要修改源码所以这里只能是源码编译。如果要直接使用ffmpeg网上有现成的SDK。源码编译,当然搭环境的是第一步。在Windows平台上比较麻烦,需要的东西比较多。

  • Mingw
  • yasm
  • SDL
  • ffmpeg

具体步骤

1.安装mingw,下载地址:http://www.mingw.org/;下载完成后安装,安装完成后点运行,标记上以下几项:mingw-devloper-toolkit、mingw32-base、mingw32-gcc-g++、msys-base.然后在Installation菜单下点击Apply Changes;

2.下载FFMPEG源码,下载地址:http://ffmpeg.com

3.下载yasm,下载地址: http://yasm.tortall.net/ ;下载后改名为yasm.exe,复制到MinGW安装目录的/msys/1.0/bin(默认装C盘则路径为C:/MinGW/msys/1.0/bin)目录下;

4.配置C:/MinGW/msys/1.0/msys.bat,在此文件的最前面(@echo off之后)添加一行如下内容:

call “E:\Program Files(x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat” (依实际安装路径修改路径);

5.重命名 C:/MinGW/msys/1.0/bin/link.exe(依实际安装选择路径),这一步是防止这个link.exe与vc的link.exe发生冲突,编译完成后可修改回来;修改环境变量中的Path,将C:/MinGW/msys/1.0/bin和C:/MinGW/bin加到path中。在cmd中输入gcc -v出现相关信息则Mingw安装成功。

6.安装SDL

下载SDL的源码包,解压到ffmpeg同目录下

进入SDL目录,依次执行

./configure -–prefix=/usr/local/SDL
make
make install

通过以下命令导入SDL环境变量。

export PATH=”$PATH:/usr/local/SDL/bin”
export C_INCLUDE_PATH=”$C_INCLUDE_PATH:/usr/local/SDL/include/SDL”
export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/usr/local/SDL/lib”

7.安装x264

下载X264源代码包,解压到ffmpeg同目录下

进入到x264目录,依次执行

./configure –enable-shared –-disable-asm -–prefix=/usr/local/x264
make
make install

通过以下命令导入x264环境变量。

export PATH=”$PATH:/usr/local/x264/bin”
export C_INCLUDE_PATH=”$C_INCLUDE_PATH:/usr/local/x264/include”
export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/usr/local/x264/lib”

8.配置编译,双击msys.bat,转到FFMPEG源代码根目录下,可运行 ./configure –help查看编译配置选项,我使用的选项为:

./configure –-enable-shared -–disable-static –-enable-memalign-hack –enable-libx264 –enable-gpl –-prefix=/usr/local/ffmpeg

等待配置完成返回;

9.输入 make all 编译;

10.输入make install安装。
安装完成后,可到目录,查看安装结果。
完成,此时生成的头文件及库已经在ffmpeg源代码下的local/ffmpeg目录下,使用这个库,即可在VS下单步进入FFMPEG函数内部。

可能遇到的问题

在./cofigure时可能出现

line ***:tr:command not found
line ***:uname:command not found
line ***:cat:command not found

解决办法:安装coreutils,在安装目录的bin目录下将缺少的命令的exe和libintl3.dll,libiconv2.dll 文件拷贝到C:MinGW/msys/1.0/bin目录下

warning:pkg-config not found, library detection may fail

解决办法:下载pkg-config-0.23-2.zip及glib_2.18.4-1_win32.zip
http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip
http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.18/glib_2.18.4-1_win32.zip

把pkg-config.exe 和 glib_2.18.4-1_win32.zip中的libglib-2.0-0.dll放在mingw的bin目录下,或者放在$path目录下.

Linux下编译FFmpeg之下载源文件并编译 http://www.linuxidc.com/Linux/2012-02/54565.htm

Linux 编译升级 FFmpeg 步骤 http://www.linuxidc.com/Linux/2013-08/88190.htm

CentOS 5.6 上安装 FFMPEG http://www.linuxidc.com/Linux/2011-09/42793.htm

Ubuntu下安装FFmpeg http://www.linuxidc.com/Linux/2012-12/75408.htm

Ubuntu 12.04下编译ffmpeg  http://www.linuxidc.com/Linux/2013-02/78857.htm

Ubuntu 14.04下PPA安装FFmpeg 2.2.2  http://www.linuxidc.com/Linux/2014-05/101322.htm

FFmpeg 的详细介绍请点这里
FFmpeg 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-08/134102.htm

linux
相关资讯       FFmpeg编译  VS2013编译FFmpeg 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款