msys2在windows10下编译安装ffmpeg+x265

本文编译于2019-07-31,下载当下最新版本的安装包。

一、下载

1.1 msys2下载

下载地址:http://www.msys2.org/

安装包:msys2-x86_64-20190524.exe(当前最新的)

1.2 x265下载

下载地址:http://ftp.videolan.org/pub/videolan/x265/

安装包:x265_3.1.1.tar.gz(当前最新的)

1.3 ffmpeg下载

下载地址:http://ffmpeg.org/download.html#releases

安装包:ffmpeg-3.3.9.tar.gz(生产使用)

二、安装

2.1 msys2安装

注意:
1. msys2不可以安装在FAT*分区
2. msys2不能安装在winXP系统上

1. 双击msys2-x86_64-20190524.exe,并点击下一步选择安装文件夹。

注意:安装文件路径要短,不能有空格,只能用ASCII字符,不能用单引号。

è¿éåå¾çæè¿°

然后下一步直到开始安装

2. 安装完成后点击完 成退出安装程序

注意:此处不要勾选"立即运行 MSYS2 64bit",因为接下来要配置国内更新源。

è¿éåå¾çæè¿°

3. 配置国内更新源
这里选用中科大的源,也可以搜索其他的源,如阿里云,清华大学等的源。

修改“安装位置\etc\pacman.d”中的三个配置文件

mirrorlist.msys
mirrorlist.mingw32
mirrorlist.mingw64

1) 在mirrorlist.msys中添加

Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch/

添加后的文件内容如下:

##
## MSYS2 repository mirrorlist
##

## Primary
## msys2.org
Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch/
Server = http://repo.msys2.org/msys/$arch
Server = https://downloads.sourceforge.net/project/msys2/REPOS/MSYS2/$arch
Server = http://www2.futureware.at/~nickoe/msys2-mirror/msys/$arch/

2)在mirrorlist.mingw32中添加

Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686/

添加后文件内容如下:

##
## 32-bit Mingw-w64 repository mirrorlist
##

## Primary
## msys2.org
Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686/
Server = http://repo.msys2.org/mingw/i686
Server = https://downloads.sourceforge.net/project/msys2/REPOS/MINGW/i686
Server = http://www2.futureware.at/~nickoe/msys2-mirror/mingw/i686

3)在mirrorlist.mingw64中添加

Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64/

添加后文件内容如下:

##
## 64-bit Mingw-w64 repository mirrorlist
##

## Primary
## msys2.org
Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64/
Server = http://repo.msys2.org/mingw/x86_64
Server = https://downloads.sourceforge.net/project/msys2/REPOS/MINGW/x86_64
Server = http://www2.futureware.at/~nickoe/msys2-mirror/mingw/x86_64

4. 打开菜单中的“MSYS2 MinGW 64-bit”

打开“MSYS2 MinGW 64-bit”,以后也一直使用“MSYS2 MinGW 64-bit”。

è¿éåå¾çæè¿°

打开后执行命令pacman -Syu更新系统核心和各种包等,如下面的截图:

è¿éåå¾çæè¿°

输入“Y”键开始更新。
注意: 更新时会遇到下图的警告,这时一定要点击右上角的X来关闭窗口。

è¿éåå¾çæè¿°

关闭窗口时会弹出一个对话框(如下图),点击OK。

è¿éåå¾çæè¿°


上面的更新没有结束,需要继续更新。再次打开“MSYS2 MinGW 64-bit”,再执行一次pacman -Syu

è¿éåå¾çæè¿°

这样更新就可以顺利结束了,msys2的安装也顺利结束了。

5. 安装编译环境
安装msys2是为了写程序、编译程序,因此编译环境的安装还是必要的。

1) 安装基本工具

命令:pacman -S base-devel(默认全部安装)

$ pacman -S base-devel
:: 在组 base-devel 中有 56 成员:
:: 软件仓库 msys
   1) asciidoc  2) autoconf  3) autoconf2.13  4) autogen  5) automake-wrapper  6) automake1.10  7) automake1.11
   8) automake1.12  9) automake1.13  10) automake1.14  11) automake1.15  12) automake1.16  13) automake1.6
   14) automake1.7  15) automake1.8  16) automake1.9  17) bison  18) diffstat  19) diffutils  20) dos2unix  21) file
   22) flex  23) gawk  24) gdb  25) gettext  26) gettext-devel  27) gperf  28) grep  29) groff  30) help2man
   31) intltool  32) lemon  33) libtool  34) libunrar  35) libunrar-devel  36) m4  37) make  38) man-db  39) pacman
   40) pactoys-git  41) patch  42) patchutils  43) perl  44) pkg-config  45) pkgfile  46) quilt  47) rcs  48) scons
   49) sed  50) swig  51) texinfo  52) texinfo-tex  53) ttyrec  54) unrar  55) wget  56) xmlto

输入某个选择 ( 默认=全部选定 ):

2)安装编译工具,包括gcc,make等。

命令:pacman -S mingw-w64-x86_64-toolchain(默认全部安装)

$ pacman -S mingw-w64-x86_64-toolchain
:: 在组 mingw-w64-x86_64-toolchain 中有 17 成员:
:: 软件仓库 mingw64
   1) mingw-w64-x86_64-binutils  2) mingw-w64-x86_64-crt-git  3) mingw-w64-x86_64-gcc  4) mingw-w64-x86_64-gcc-ada
   5) mingw-w64-x86_64-gcc-fortran  6) mingw-w64-x86_64-gcc-libgfortran  7) mingw-w64-x86_64-gcc-libs
   8) mingw-w64-x86_64-gcc-objc  9) mingw-w64-x86_64-gdb  10) mingw-w64-x86_64-headers-git
   11) mingw-w64-x86_64-libmangle-git  12) mingw-w64-x86_64-libwinpthread-git  13) mingw-w64-x86_64-make
   14) mingw-w64-x86_64-pkg-config  15) mingw-w64-x86_64-tools-git  16) mingw-w64-x86_64-winpthreads-git
   17) mingw-w64-x86_64-winstorecompat-git

输入某个选择 ( 默认=全部选定 ):

注意:如果想要编译的程序在windows环境下运行,记得要静态编译

3)安装其他依赖库

汇编
pacman -S yasm
pacman -S nasm

安装cmkae
pacman -S mingw-w64-x86_64-cmake

如需编译ffplayer,还需安装SDL
pacman -S mingw-w64-x86_64-SDL2

或许要装,没对比过
pacman -S mingw-w64-x86_64-SDL2_gfx mingw-w64-x86_64-SDL2_image mingw-w64-x86_64-SDL2_mixer mingw-w64-x86_64-SDL2_net mingw-w64-x86_64-SDL2_ttf mingw-w64-x86_64-SDL_gfx

2.2 x265安装

1. 解压

把安装包“x265_3.1.1.tar.gz”拷贝到“安装位置\home\用户\”路径下。

在打开的“MSYS2 MinGW 64-bit”窗口操作。

cd ~
tar xvf x265_3.1.1.tar.gz

mv x265_3.1.1 x265

2. 配置

cd x265/build/msys/

修改make-Makefiles.sh,添加安装路径-DCMAKE_INSTALL_PREFIX=/usr/local。添加后内容如下:

#!/bin/sh
# Run this from within an MSYS bash shell
cmake -G "MSYS Makefiles" -DCMAKE_INSTALL_PREFIX=/usr/local ../../source && cmake-gui ../../source

执行配置

$ ./make-Makefiles.sh

3. 编译与安装

make
make install

2.3 ffmpeg安装

1. 解压

把安装包“ffmpeg-3.3.2.tar.bz2”拷贝到“安装位置\home\用户\”路径下。

在打开的“MSYS2 MinGW 64-bit”窗口操作。

cd ~
tar xvf ffmpeg-3.3.2.tar.bz2

2. 配置

export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig":$PKG_CONFIG_PATH

cd ffmpeg-3.3.2
./configure --enable-gpl --enable-libx265 --enable-shared

configure配置大概需要10分钟,耐心等待。

3. 编译与安装

make
make install

make编译大概需要20分钟,耐心等待。

如当前计算机是多核(数量为:n),可以采用make -jn(如:make -j4),可以快一些。

三、验证

3.1 x265验证

$ which x265
/usr/local/bin/x265


$ x265 --version
x265 [info]: HEVC encoder version 3.1+5-9c5c9cef2a86
x265 [info]: build info [Windows][GCC 9.1.0][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2

3.2 ffmpeg验证

$ which ffmpeg
/usr/local/bin/ffmpeg


$ ffmpeg -version
ffmpeg version 3.3.2 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 9.1.0 (Rev3, Built by MSYS2 project)
configuration: --enable-gpl --enable-libx265 --enable-shared
libavutil      55. 58.100 / 55. 58.100
libavcodec     57. 89.100 / 57. 89.100
libavformat    57. 71.100 / 57. 71.100
libavdevice    57.  6.100 / 57.  6.100
libavfilter     6. 82.100 /  6. 82.100
libswscale      4.  6.100 /  4.  6.100
libswresample   2.  7.100 /  2.  7.100
libpostproc    54.  5.100 / 54.  5.100

 


参考:

https://blog.csdn.net/engineer520/article/details/82192776 
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章