Win10下VS2013配置FFmpeg
目录
- 目录
- 前言
- 概述
使用dev和shared版本搭建环境
- 下载地址
- VS2013中配置
编译源码过程
- 下载地址
安装过程
- MinGW安装
- 下载yasm
- msysbat配置
- FFmpeg编译
- 总结
- 链接地址
前言
虽然最终开发是要在linux下,但是看网上有教程是windows下的,所以顺便记录下windows下的FFmpeg搭建过程。这些都是一次做好,以后方便的事情!
学习!分享!感谢
概述
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它提供了录制、转换以及流化音视频的完整解决方案,包含非常先进的音视频编解码库libavcodec。
使用dev和shared版本搭建环境
下载地址
本来想使用FFmpeg
的源码在windows
下进行编译,本来以为会向linux
那么容易,结果折腾了一上午,还是没有解决。然后就怒了。还是老老实实使windows
下FFmpeg
的dev
和shared
直接搭建FFmpeg
环境吧!
下载地址,我下载的是ffmpeg-3.4.1-win64-shared.zip和ffmpeg-3.4.1-win64-dev.zip
VS2013中配置
参考VS2013+FFMPEG开发环境配置,其实每次的配置都是类似的,所以参考VS2013怎么配置opencv才能不用每次都重新配置一遍?,这篇文章中详细讲述了如何一次配置。
编译源码过程
下载地址
FFmpeg下载地址,包含三个版本:Static、Shared、Dev。Static
——包含3个应用程序:ffmpeg.exe
,ffplay.exe
,ffprobe.exe
,体积都很大,相关的DLL
已经被编译到exe
中。Shared
——除了ffmpeg.exe
,ffplay.exe
,ffprobe.exe
之外还有一些DLL
,exe
体积很小,在运行时到相应的DLL
中调用功能。Dev
——开发者(developer
)版本,里面包含了库文件xxx.lib
以及头文件xxx.h
,这个版本不含exe
文件。
一般使用Shared
版本或者Dev
版本
mingw-get-setup.exe,MinGW(Minimalist GNU For Windows)是个精简的Windows平台C/C++、ADA及Fortran编译器,相比Cygwin而言,体积小很多,使用较为方便。
MinGW最大的特点就是编译出来的可执行文件能够独立在Windows上运行。
安装过程
MinGW安装
- MinGW安装过程
mingw-get-setup.exe,具体过程参考MinGW安装和使用。
如果要添加gdb参考windows 下 gdb 的安装
如果要设置Code Blocks
参考C语言从零开始(二)-Code::Blocks使用 - MinGW配置过程
所谓配置过程,就是在Windows中配置环境变量,我的MinGW是安装在C:\MinGW\bin
,所以在计算机的高级属性中配置环境变量即可。因为我原来在Code Blocks
中配置了C:\DevTools\tdm64-gcc\bin
,也就是已经添加过一个gcc
的交叉编译,所以还要删除这个环境变量,然后重新设置C:\MinGW\bin
的环境变量,重启!还挺麻烦的。不过我在这篇文章中C语言从零开始(二)-Code::Blocks使用中修改了配置的编译器gdb.exe
为MinGW的。编译没有问题,说明MinGW的安装是正确的。
所以,重启先!!!如果有不用重启的方法,不吝赐教!谢谢!
--------------------
重启后在cmd.exe
中打印如下:
specs
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/6.3.0/lto-wrapper.exe
mingw32
../src/gcc-6.3.0/configure --build=x86_64-pc-linux-gnu --host=mingw32 --target=mingw32 --with-gmp=/mingw --with-mpfr --with-mpc=/mingw --with-isl=/mingw --prefix=/mingw --disable-win32-registry --with-arch=i586 --with-tune=generic --enable-languages=c,c++,objc,obj-c++,fortran,ada --with-pkgversion='MinGW.org GCC-6.3.0-1' --enable-static --enable-shared --enable-threads --with-dwarf2 --disable-sjlj-exceptions --enable-version-specific-runtime-libs --with-libiconv-prefix=/mingw --with-libintl-prefix=/mingw --enable-libstdcxx-debug --enable-libgomp --disable-libvtv --enable-nls
win32
gcc 6.3.0 (MinGW.org GCC-6.3.0-1)
下载yasm
- yasm下载地址
yasm下载地址,据这篇博文 Windows下,如何通过vs2013和yasm编译ffmpeg源码介绍,下载完Win64 .exe
后要改名为yasm.exe
,复制到C:/MinGW/msys/1.0/bin
,注意,比如要安装msys-base
选项,才能在MinGW
目录下找到msys
目录。
msys.bat
配置
打开C:\MinGW\msys\1.0\msys.bat
,在此文件前面加入一行如下:
Call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"
FFmpeg编译
我下载的ffmpeg-3.4.1.tar.xz
,在双击msys.bat
之后,进入解压后的ffmpeg
目录,我的目录如下:F:\code\ffmpeg-3.4.1\ffmpeg-3.4.1
- 配置编译
./configure --prefix=/F/code/ffmpegLib --disable-static --enable-shared --enable-gpl
出现问题:
WARNING: pkg-config not found, library detection may fail.
解决方法:
- go to http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/
- download the file pkg-config_0.26-1_win32.zip
- extract the file bin/pkg-config.exe to
C:\MinGW\bin
- download the file gettext-runtime_0.18.1.1-2_win32.zip
- extract the file bin/intl.dll to
C:\MinGW\bin
- go to http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28
- download the file glib_2.28.8-1_win32.zip
- extract the file bin/libglib-2.0-0.dll to
C:\MinGW\bin
出现问题!!!未解决!!!
总结
可能是我不习惯在windows下开发,现在感觉linux下开发真的挺爽的!像pkg-config
这样的,我记得直接apt-get
就行,结果我在windows
下折腾了一上午都搞不定。先这样吧!以后有需要继续补充吧!
链接地址
VS2013+FFMPEG开发环境配置
MinGW安装和使用
windows 下 gdb 的安装
Windows下,如何通过vs2013和yasm编译ffmpeg源码
windows下编译ffmpeg
还没有评论,来说两句吧...