引言
为了做毕设,要使用FFmpeg与x265,由于之前没有相关方面的经验,算是一个小白,所以安装过程属实艰辛。暂且在这里记录一下,作为我个人的第一篇文章,希望能够帮助到之后想要参考的同学。
Msys2的安装
这里引用一下这篇文章
第一篇引用文章
按照文章中的配置,可以完成msys2的下载与安装,并实现镜像,达到快速下载各类文件的目的。
如果不太清楚,也可以参考一下这篇文章
第二篇引用文章
虽然实现镜像操作的步骤并没有上一篇清晰,但是应当也是不碍事的。这篇文章的优秀之处在于安装基本工具的步骤写的较为清晰,容易理解。
基本工具的用处可自行百度,由于我也是个新手,还在学习中,期待日后可以打起精神逐步完善相关的知识。
x265的编译
刚才的第二篇文章中已经提及了x265的获取方式,或者可通过这个网站
x265的下载网址
在msys2中输入
pacman -S mercurial # 安装mercurial Hg分布式软件仓库管理
再执行
或是这个网址
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文件,再在其中修改即可。
此后,进入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才安装好。
至于如何验证,可参考我推荐的第二篇文章。
结语
总之,做到这一步才是将将开始,对于我而言这一系列操作也是摸索了两天才算是勉强完成。希望这篇文章能够帮助到其他人。