• 【Linux】软件安装使用【aubio / FFmpeg】


    记录贴。
    涉及的系统为Ubuntu。

    Ubuntu安装管理

    参考:

    Debian

    Linux系统的发行版本非常多,大体上可以分为两类:
    1、商业版本,需要用户付费订阅官方的服务支持。
    2、开放源代码的社区版本,可以用于企业生产环境,也可以理解为由开源社区来维护。
    Linux主要发行版:Fedora Core、Debian、Mandrake、Ubuntu、Red Hat Linux、SuSE、Linux Mint、Gentoo、CentOS。
    Ubuntu是一款基于Debian派生的产品,对新款硬件具有极强的兼容能力。普遍认为Ubuntu与Fedora都是极其出色的LINUX桌面系统。
    国际化组织的开源操作系统(Debian),官网:http://www.debian.org/。

    dpkg命令

    dpkg - package manager for Debian  (debian系统的包管理工具)。
    dpkg is a tool to install, build, remove and manage Debian packages,dpkg是Debian的一个底层包管理工具,主要用于对已下载到本地和已安装的软件包进行管理。
    dpkg这个机制最早由Debian Linux社区所开发出来的,通过dpkg的机制,Debian提供的软件就能够简单的安装起来,同时能提供安装后的软件信息,实在非常不错。只要派生于Debian的其它Linux distributions大多使用dpkg这个机制来管理,包括B2D,Ubuntu等。

    deb文件命名格式为:Package_Version-Build_Architecture.deb 【软件包名称(Package Name),版本(Version Number),修订号(Build Number),平台(Architecture)】

    • dpkg -i package-name.deb    # --install, 安装软件包,必须是deb包的完整名称。(软件的安装可被拆分为两个对立的过程“解包”和“配置”)
    • dpkg --unpack package-name.deb  # “解包”:解开软件包到系统目录但不配置,如果和-R一起使用,参数可以是一个目录
    • dpkg --configure package-name.deb  #“配置”:配置软件包
    • dpkg -c package-name.deb    #列出 deb 包的内容

    dpkg 使用文本文件作为数据库来维护系统中软件,包括文件清单, 依赖关系, 软件状态, 等等详细的内容,通常在 /var/lib/dpkg 目录下。 通常在 status 文件中存储软件状态和控制信息。 在 info/ 目录下备份控制文件, 并在其下的 .list 文件中记录安装文件清单, 其下的 .mdasums 保存文件的 MD5 编码。
    更多使用方式参考:Ubuntu 系统 dpkg 命令使用详解

    apt命令

    虽然使用dpkg时,已经解决掉了软件安装过程中的大量问题,但是当依赖关系不满足时,仍然需要手动解决,而apt这个工具解决了这样的问题,linux distribution 先将软件放置到对应的服务器中,然后分析软件的依赖关系,并且记录下来,然后当客户端有安装软件需求时,通过清单列表与本地的dpkg以存在的软件数据相比较,就能从网络端获取所有需要的具有依赖属性的软件了。

    Ubuntu采用集中式的软件仓库机制,将各式各样的软件包分门别类地存放在软件仓库中,进行有效地组织和管理。然后,将软件仓库置于许许多多的镜像服务器中,并保持基本一致。这样,所有的Ubuntu用户随时都能获得最新版本的安装软件包。因此,对于用户,这些镜像服务器就是他们的软件源(Reposity)。
    然而,由于每位用户所处的网络环境不同,不可能随意地访问各镜像站点。为了能够有选择地访问,在Ubuntu系统中,使用软件源配置文件/etc/apt/sources.list列出最合适访问的镜像站点地址。

    aubio

    aubio is available as a package for Python 2.7 and Python 3. The aubio extension is written C using the Python/C and the Numpy/C APIs.

    关于aubio的更多介绍,参见:【aubio】音频处理笔记

    安装成功后,在python编译器中输入import aubio验证。

    在线安装

    较为简单,可以直接在terminal输入:

    pip install aubio

    离线安装

    即采用安装包。
    背景:Ubuntu-16.04.12系统(linux-4.4.0),amd64,gcc = 5.4.0,target = x86_64-linux-gnu。
    下载aubio-4.9.0源码,解压。参考How to get the average pitch of a .wav file without using Aubio?
    。安装步骤如下:

    cd aubio-0.4.9
    python waf configure build
    python setup.py install

    gcc报错【unable to execute】 →→ 发现/usr/bin/gcc -v才能看到版本信息 →→ 加入/bin, /usr/bin, /sbin, /usr/sbin到环境变量中 →→ 环境变量更新后,重复上述三步
    参考/bin,/sbin,/usr/sbin,/usr/bin 目录之简单区别
    出现新的报错:【package aubio was not found in the pkg-config search path】
    参考博客:Package opencv was not found in the pkg-config search path. 添加文件和环境变量。
    【依然报错,未能成功安装aubio】

    python setup.py install命令后出现:

    • warning: no previously-included files found matching 'doc/full.cfg'
    • warning: no previously-included files found matching 'python/gen/*'

    【解决】【发现很多aubio的依赖项没安装,就先安装了ffmpeg,之后再装,就成功了】
    【importerror: libaubio.so.5:cannot open shared object file: no such file or directory】【使用find命令找到libaubio.so.5文件路径】【在用户目录的.bashrc文件中添加该路径的环境变量】【source ~/.bashrc】

    deb

    参考下载:Ubuntu Packages Search:软件包: aubio-tools (0.4.1-2build4) [universe]

    采用deb安装比较少,是因为用户需要提前安装好依赖项,否则不成功。

    FFmpeg

    FFmpeg是一个自由软件,可以运行音频和视频多种格式的录影、转换、流功能。
    FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。这个项目最早由Fabrice Bellard发起,2004年至2015年间由Michael Niedermayer主要负责维护。许多FFmpeg的开发人员都来自MPlayer项目,而且当前FFmpeg也是放在MPlayer项目组的服务器上。项目的名称来自MPEG视频编码标准,前面的"FF"代表"Fast Forward"。FFmpeg编码库可以使用GPU加速。
    参考Linux 下ffmpeg的环境搭建与安装,FFmpeg的基本组成:

    • libavutil:工具库,如:随机数发生器。
    • libavcodec:音视频编解码库,包含了所有FFmpeg音视频编解码器的库。为了保证最优性能和高可复用性,大多数编解码器从头开发的
    • libavformat:封装格式处理库,包含格式封装、多媒体复用和解复用,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能
    • libavdevice:一个包含输入和输出设备的库,用于从许多常见的多媒体输入/输出软件框架中获取和渲染,包括Video4Linux,Video4Linux2等
    • libavfilter:多媒体滤镜
    • libswscale:缩放和颜色空间转换的库
    • libswresample:音频重采样、格式转换的库
    • ffmpeg:该项目提供的一个工具,可用于格式转换、解码或电视卡即时编码等
    • ffsever:基于HTTP、RTSP用于实时广播的多媒体服务器
    • ffplay:是一个简单的播放器,使用ffmpeg 库解析和解码,通过SDL显示

    原理/使用参考:

    安装成功后,在terminal中输入ffmpeg -v会出现版本信息等(Windows系统输入ffmpeg -version)。

    在线安装

    在terminal输入命令:

    apt install ffmpeg

    离线安装

    背景同aubio。参考一篇老文:在Ubuntu下安装FFmpeg
    因为ffmpeg为了提高编译速度,使用了汇编指令,所以需要安装yasm汇编器。下载链接点击

    tar -zxzf yasm-1.3.0.tar.gz
    cd yasm-1.3.0/
    ./configure
    make
    make install

    在官网下载FFmpeg源码,选择2.8.17版本

    tar -zxzf ffmpeg_2.8.17.orig.tar
    cd ffmpeg_2.8.17/
    ./configure
    make
    make install

    【若是./configure报错,注意prefix_default="/usr/name/ffmpeg/"】【安装路径可自行设置】
    【安装成功,输入ffmpeg报错】【添加环境变量】【export PATH="/usr/name/ffmpeg/bin/:$PATH"】【source更新】

    deb

    参考下载:Ubuntu Packages Search:软件包: ffmpeg (7:2.8.17-0ubuntu0.1 以及其他的) [security] [universe]
    限制较多,参考aubio。

  • 相关阅读:
    MySQL中实现中文格式日期获取
    java 中 getResourceAsStream() 方法总结
    在IE中通过JScript获取到电脑的Mac地址
    锐浪报表WebSample中jsp服务构建
    Web 项目打包EXE
    js数据结构之-时间复杂度
    JS小问题之——jquery的triggerHandler
    HTML5学习之————FileReader接口
    JS小问题之——如何用原生js触发事件
    https 页面中引入 http 资源的报错
  • 原文地址:https://www.cnblogs.com/ytxwzqin/p/14463523.html
Copyright © 2020-2023  润新知