编译安装手册
1. 编译安装说明
本手册包含FFmpeg、X264等软件的编译和安装方法说明。普通用户建议直接从系统源安装对应软件包,开发者用户可以通过源码编译生成需要的动态库或者安装包。开发者获取源码有两种方式,一是目标项目的官方源码仓库,社区源码对LA的支持情况可以参考生态介绍页面,二是龙芯开源社区音视频首页提供的源码包。
2. 从系统源安装
Loongnix的源中会集成FFmpeg、X264、OpenCV等音视频基础库,用户可以从系统源上安装需要的软件包和对应的开发包,并在自己的应用中设置调用系统库。
2.1. 系统软件源配置
以loongnix20系统为例。
# apt源地址设置如下:
$ cat /etc/apt/sources.list
deb http://pkg.loongnix.cn/loongnix DaoXiangHu-stable main contrib non-free
deb-src http://pkg.loongnix.cn/loongnix DaoXiangHu-stable main contrib non-free
# 更新源
$ sudo apt-get update
# 安装软件包
$ sudo apt-get install ffmpeg libavcodec58 libavcodec-dev
以loongnix10系统为例。
# yum源地址设置如下:
$ cat /etc/yum.repos.d/fedora.repo
[fedora]
name=Fedora $releasever - $basearch
failovermethod=priority
baseurl=http://ftp.loongnix.cn/os/loongnix/1.0/os/
enabled=1
metadata_expire=7d
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[fedora-debuginfo]
name=Fedora $releasever - $basearch - Debug
failovermethod=priority
baseurl=http://ftp.loongnix.cn/os/loongnix/1.0/debug/
enabled=0
metadata_expire=7d
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
[fedora-source]
name=Fedora $releasever - Source
failovermethod=priority
baseurl=http://ftp.loongnix.cn/os/loongnix/1.0/SRPMS/
enabled=1
metadata_expire=7d
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
skip_if_unavailable=False
# 更新源
$ sudo yum update
# 安装软件包
$ sudo yum install ffmpeg ffmpeg-dev
3. 源码编译安装
3.1. 源码下载
源码的下载可以直接到龙芯开源社区音视频首页下载模块进行下载,如果需要下载历史版本,可以点击项目名称跳转版本历史页面进行下载。
3.2. 编译安装
源码下载完成执行以下命令:
FFmpeg的编译安装
# 桌面版-做包:
$ tar -zxvf ffmpeg-4.1.6-1.lnd.9.tar.gz
$ cd ffmpeg
$ dpkg-source -x ffmpeg_4.1.6-1.lnd.9~deb10u2.dsc
$ cd ffmpeg-4.1.6
$ dpkg-buildpackage
# 桌面版-编译:
$ tar -zxvf ffmpeg-4.1.6-1.lnd.9.tar.gz
$ cd ffmpeg
$ dpkg-source -x ffmpeg_4.1.6-1.lnd.9~deb10u2.dsc
$ cd ffmpeg-4.1.6
$ ./configure && make
# 服务器版-做包:
$ rpm -ivh ffmpeg-4.1.6-1.8.lns8.loongarch64.src.rpm
$ cd ~/rpmbuild/SPECS/
$ rpmbuild -bb ffmpeg.spec
# 服务器版-编译:
$ rpm -ivh ffmpeg-4.1.6-1.8.lns8.loongarch64.src.rpm
$ cd ~/rpmbuild/SPECS/
$ rpmbuild -bp ffmpeg.spec
$ cd ../BUILD/ffmpeg-4.1.6
$ ./configure && make
X264的编译安装
# 桌面版-做包
$ tar -zxvf x264-0.155.2917+git0a84d98-2.lnd.12.tar.gz
$ cd x264
$ dpkg-source -x x264_0.155.2917+git0a84d98-2.lnd.12.dsc
$ cd x264-0.155.2917+git0a84d98
$ dpkg-buildpackage
# 桌面版-编译
$ tar -zxvf x264-0.155.2917+git0a84d98-2.lnd.12.tar.gz
$ cd x264
$ dpkg-source -x x264_0.155.2917+git0a84d98-2.lnd.12.dsc
$ cd x264-0.155.2917+git0a84d98
$ ./configure && make
# 服务器版-做包:
$ rpm -ivh x264-0.155-2.20180331git0a84d98.4.lns8.src.rpm
$ cd ~/rpmbuild/SPECS/
$ rpmbuild -bb x264.spec
# 服务器版-编译:
$ rpm -ivh x264-0.155-2.20180331git0a84d98.4.lns8.src.rpm
$ cd ~/rpmbuild/SPECS/
$ rpmbuild -bp x264.spec
$ cd ../BUILD/x264-0.155-20180331-0a84d98/x264-0.155-20180331-0a84d98
$ ./configure && make
OpenBLAS编译
# 桌面版-做包:
$ tar -zxvf openblas_0.3.5-1.lnd.4.tar.gz
$ cd openblas
$ dpkg-source -x openblas_0.3.5-1.lnd.4.dsc
$ cd openblas-0.3.5
$ dpkg-buildpackage
# 桌面版-编译:
$ tar -zxvf openblas_0.3.5-1.lnd.4.tar.gz
$ cd openblas
$ dpkg-source -x openblas_0.3.5-1.lnd.4.dsc
$ cd openblas-0.3.5
$ make
# 服务器版-做包:
$ rpm -ivh openblas-0.3.12-1.4.lns8.src.rpm
$ cd ~/rpmbuild/SPECS/
$ rpmbuild -bb openblas.spec
# 服务器版-编译:
$ rpm -ivh openblas-0.3.12-1.4.lns8.src.rpm
$ cd ~/rpmbuild/SPECS/
$ rpmbuild -bp openblas.spec
$ cd ../BUILD/openblas-0.3.12
$ make
# 根据具体的系统版本,选择对应的优化开启方式。
# 3A3000
# 社区下载最新代码,使用以下命令开启标量优化:
$ make TARGET=LOONGSON3R3
# 3A4000
# 社区下载最新代码,使用以下命令开启MSA优化:
$ make TARGET=LOONGSON3R4
# 3A5000/3C5000L/3C5000/3D5000
# 社区下载最新代码:
$ make USE_SIMPLE_THREADED_LEVEL3=1 NO_AFFINITY=0