编译安装手册


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

©龙芯开源社区 all right reserved,powered by Gitbook文档更新时间: 2024-04-16 14:42:33

results matching ""

    No results matching ""

    results matching ""

      No results matching ""