Windows msys2 下编译FFmpeg并实现x265依赖

这里写自定义目录标题

  • 引言
    • Msys2的安装
    • x265的编译
    • 编译FFmpeg
    • 结语

引言

为了做毕设,要使用FFmpeg与x265,由于之前没有相关方面的经验,算是一个小白,所以安装过程属实艰辛。暂且在这里记录一下,作为我个人的第一篇文章,希望能够帮助到之后想要参考的同学。

Msys2的安装

这里引用一下这篇文章
第一篇引用文章

按照文章中的配置,可以完成msys2的下载与安装,并实现镜像,达到快速下载各类文件的目的。

如果不太清楚,也可以参考一下这篇文章
第二篇引用文章
虽然实现镜像操作的步骤并没有上一篇清晰,但是应当也是不碍事的。这篇文章的优秀之处在于安装基本工具的步骤写的较为清晰,容易理解。

基本工具的用处可自行百度,由于我也是个新手,还在学习中,期待日后可以打起精神逐步完善相关的知识。

另一篇可参考的文章

x265的编译

刚才的第二篇文章中已经提及了x265的获取方式,或者可通过这个网站
x265的下载网址
在msys2中输入

pacman -S mercurial     # 安装mercurial Hg分布式软件仓库管理

再执行
Windows msys2 下编译FFmpeg并实现x265依赖_第1张图片
或是这个网址
x265的git网址
获取x265的源码。

总而言之,获取源码的方式有很多。难处并不在此。

通过网络上资料的查询,编译x265需要提前安装cmake,而我们刚刚可以借助这一篇文章,完成cmake的安装。
https://blog.csdn.net/pxxian/article/details/97922411

之后,要将x265的源码压缩到msys2的home文件夹当中,例如我的安装路径为

C:\msys64\home\Farewellyi(Farewellyi为我主机的用户名)

切记一点,就是路径中不可以用中文字符与空格,否则在编译的时候会报错(cmake就是如此神奇)
如果真的有空格,那就要修改用户名。
msys2模拟的是linux操作系统,缺少更改用户名的文件(按照我自己的理解嗷,如有错误请您斧正),所以要在msys2中执行

$ grep "^${USERNAME}:" /etc/passwd >/dev/null 2>&1 || mkpasswd | grep "^${USERNAME}:" >>/etc/passwd

在msys的文件夹etc中生成passwd文件,再在其中修改即可。

修改msys2的用户名的操作网址

此后,进入x265源码文件夹,因为考虑到应该没有比我再小白的同学了,所以linux的相关操作我就不赘述了,而且操作都不是很麻烦。
以我的为例,执行

cd x265-master\build\msys
即可

(pwd可以显示当前所在路径)
修改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

执行配置

sh make-Makefiles.sh

此后编译与安装即可

make
make install

编译FFmpeg

同样,将FFmpeg的源码置于home/(用户名)/目录下

要顺利实现libx265的依赖,需要首先安装pkg-config

pacman -S pkg-config

此后,进行相关配置即可

export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig":$PKG_CONFIG_PATH
 
cd ffmpeg-3.3.2
./configure --enable-gpl --enable-libx265 --enable-shared(此一句命令稍有些复杂,可选项众多,但是依次必然是可行的,至于之后是否可以修改,还在学习中)

此后,同样是执行编译与安装

make -j4 & make install

4是电脑的内核数量,可以加快实现编译过程,此过程相当漫长,写完这篇文章时,我的ffmpeg才安装好。

至于如何验证,可参考我推荐的第二篇文章。

结语

总之,做到这一步才是将将开始,对于我而言这一系列操作也是摸索了两天才算是勉强完成。希望这篇文章能够帮助到其他人。

你可能感兴趣的:(FFmpeg,ffmpeg,hevc)