安装这个是为了解决mplayer安装失败的问题。
下载地址:
https://www.linuxfromscratch.org/blfs/view/svn/multimedia/faad2.html
也可以使用wget下载:
wget https://github.com/knik0/faad2/archive/2_10_0/faad2-2_10_0.tar.gz
或者用迅雷下载
https://github.com/knik0/faad2/archive/2_10_0/faad2-2_10_0.tar.gz
- make clean
- ./bootstrap
- ./configure --disable-static
- make
- sudo make install
- mkdir $(pwd)/_x86 -p
- make clean
- ./bootstrap
- ./configure --prefix=$(pwd)/_x86 --disable-static
- make
- sudo make install
- export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin
- mkdir $(pwd)/_arm -p
- make clean
- ./bootstrap
- ./configure --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc --prefix=$(pwd)/_arm --disable-static
- make
- make install
编译后生成的文件目录:
- tree
- .
- ├── bin
- │ └── faad
- ├── include
- │ ├── faad.h
- │ └── neaacdec.h
- ├── lib
- │ ├── libfaad_drm.la
- │ ├── libfaad_drm.so -> libfaad_drm.so.2.0.0
- │ ├── libfaad_drm.so.2 -> libfaad_drm.so.2.0.0
- │ ├── libfaad_drm.so.2.0.0
- │ ├── libfaad.la
- │ ├── libfaad.so -> libfaad.so.2.0.0
- │ ├── libfaad.so.2 -> libfaad.so.2.0.0
- │ ├── libfaad.so.2.0.0
- │ └── pkgconfig
- │ └── faad2.pc
- └── share
- └── man
- └── man1
- └── faad.1
-
- 7 directories, 13 files
git clone https://github.com/knik0/faad2/
下载完毕后,会看到faad2文件夹,在其中创建编译脚本,脚本如下所示,x86.sh:
- make clean
- ./bootstrap
- ./configure --disable-static
- make
- sudo make install
并执行
从编译安装信息中可知道
lib库安装路径:/usr/local/lib
- /usr/bin/mkdir -p '/usr/local/lib'
- /bin/bash ../libtool --mode=install /usr/bin/install -c libfaad.la libfaad_drm.la '/usr/local/lib'
- libtool: install: /usr/bin/install -c .libs/libfaad.so.2.0.0 /usr/local/lib/libfaad.so.2.0.0
- libtool: install: (cd /usr/local/lib && { ln -s -f libfaad.so.2.0.0 libfaad.so.2 || { rm -f libfaad.so.2 && ln -s libfaad.so.2.0.0 libfaad.so.2; }; })
- libtool: install: (cd /usr/local/lib && { ln -s -f libfaad.so.2.0.0 libfaad.so || { rm -f libfaad.so && ln -s libfaad.so.2.0.0 libfaad.so; }; })
- libtool: install: /usr/bin/install -c .libs/libfaad.lai /usr/local/lib/libfaad.la
- libtool: install: /usr/bin/install -c .libs/libfaad_drm.so.2.0.0 /usr/local/lib/libfaad_drm.so.2.0.0
- libtool: install: (cd /usr/local/lib && { ln -s -f libfaad_drm.so.2.0.0 libfaad_drm.so.2 || { rm -f libfaad_drm.so.2 && ln -s libfaad_drm.so.2.0.0 libfaad_drm.so.2; }; })
- libtool: install: (cd /usr/local/lib && { ln -s -f libfaad_drm.so.2.0.0 libfaad_drm.so || { rm -f libfaad_drm.so && ln -s libfaad_drm.so.2.0.0 libfaad_drm.so; }; })
- libtool: install: /usr/bin/install -c .libs/libfaad_drm.lai /usr/local/lib/libfaad_drm.la
- libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /usr/local/lib
- ----------------------------------------------------------------------
- Libraries have been installed in:
- /usr/local/lib
头文件路径 /usr/local/include
usr/bin/mkdir -p '/usr/local/include'
可执行程序路径 /usr/local/bin
- /usr/bin/mkdir -p '/usr/local/bin'
- /bin/bash ../libtool --mode=install /usr/bin/install -c faad '/usr/local/bin'
安装信息路径 /usr/local/lib/pkgconfig
- /usr/bin/mkdir -p '/usr/local/lib/pkgconfig'
- /usr/bin/install -c -m 644 faad2.pc '/usr/local/lib/pkgconfig'
man手册路径 /usr/local/share/man/man1/faad.1
- /usr/bin/mkdir -p '/usr/local/share/man/man1'
- /usr/bin/install -c -m 644 'faad.man' '/usr/local/share/man/man1/faad.1'
安装完毕后,查看版本
- $ faad -v
- faad: error while loading shared libraries: libfaad.so.2: cannot open shared object file: No such file or directory
竟然提示找不到库,添加库的目录到环境变量
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
再次执行faad
faad
- lkmao@lkmao-virtual-machine:~/faad2/faad/faad2$ faad
- *********** Ahead Software MPEG-4 AAC Decoder V2.10.0 ******************
- Build: Sep 20 2022
- Copyright 2002-2004: Ahead Software AG
- http://www.audiocoding.com
- bug tracking: https://sourceforge.net/p/faac/bugs/
- Floating point version
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License.
-
- **************************************************************************
-
- Usage:
- faad [options] infile.aac
- Options:
- -h Shows this help screen.
- -i Shows info about the input file.
- -a X Write MPEG-4 AAC ADTS output file.
- -t Assume old ADTS format.
- -o X Set output filename.
- -f X Set output format. Valid values for X are:
- 1: Microsoft WAV format (default).
- 2: RAW PCM data.
- -b X Set output sample format. Valid values for X are:
- 1: 16 bit PCM data (default).
- 2: 24 bit PCM data.
- 3: 32 bit PCM data.
- 4: 32 bit floating point data.
- 5: 64 bit floating point data.
- -s X Force the samplerate to X (for RAW files).
- -l X Set object type. Supported object types:
- 1: Main object type.
- 2: LC (Low Complexity) object type.
- 4: LTP (Long Term Prediction) object type.
- 23: LD (Low Delay) object type.
- -d Down matrix 5.1 to 2 channels
- -w Write output to stdio instead of a file.
- -g Disable gapless decoding.
- -q Quiet - suppresses status messages.
- -j X Jump - start output X seconds into track (MP4 files only).
- Example:
- faad infile.aac
- faad infile.mp4
- faad -o outfile.wav infile.aac
- faad -w infile.aac > outfile.wav
- faad -a outfile.aac infile.aac
- lkmao@lkmao-virtual-machine:~/faad2/faad/faad2$
下载测试文件
wget https://www.nch.com.au/acm/sample.aac
使用mplayer播放这段音乐
mplayer sample.aac
将aac转换成wav,不明白这么做的目的。
faad -o sample.wav sample.aac
- faad -o sample.wav sample.aac
- *********** Ahead Software MPEG-4 AAC Decoder V2.10.0 ******************
- Build: Sep 20 2022
- Copyright 2002-2004: Ahead Software AG
- http://www.audiocoding.com
- bug tracking: https://sourceforge.net/p/faac/bugs/
- Floating point version
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License.
-
- **************************************************************************
- sample.aac file info:
- ADTS, 4.608 sec, 13 kbps, 16000 Hz
-
- ---------------------
- | Config: 2 Ch |
- ---------------------
- | Ch | Position |
- ---------------------
- | 00 | Left front |
- | 01 | Right front |
- ---------------------
-
- Decoding sample.aac took: 0.00 sec. 0.00x real-time.
再播放这段音乐
mplayer sample.wav
几乎一样,对比两个文件可以猜出aac是压缩音频,而wav是非压缩音频。faad的作用是音频解压。
- ls -lsh sample.*
- 8.0K -rw-rw-r-- 1 lkmao lkmao 7.2K Jun 17 2014 sample.aac
- 284K -rw-rw-r-- 1 lkmao lkmao 281K Sep 20 14:59 sample.wav
安装完毕后mplayer确实能用了。