42. Multimedia Libraries and Drivers
许多多媒体程序需要库和/或驱动程序才能正常运行。本节中的包属于这一类。一般来说,你只需要在安装程序时安装这些库,这些库要么是一个要求,要么是一个选项,以使其支持某些功能。
42.1 ALSA-1.2.7
Linux内核现在默认提供ALSA支持。然而,应用程序需要与该功能进行接口。本书的以下六个部分分别介绍了ALSA的各个组成部分:库、插件、实用程序、工具、固件和OSS兼容库。
42.2 alsa-lib-1.2.8
简介ALSA Library
ALSA Library包包含了需要访问ALSA声音接口的程序(包括ALSA实用程序)所使用的ALSA库。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://www.alsa-project.org/files/pub/lib/alsa-lib-1.2.8.tar.bz2
-
下载 (FTP): ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.2.8.tar.bz2
-
下载 MD5 校验和: ab32de4b6054d7ab23723f8d85e50a27
-
下载大小: 1.0 MB
-
预计所需磁盘空间: 45 MB (有测试和文档)
-
预计构建时间: 0.3 SBU (有测试和文档)
ALSA库依赖
可选
Doxygen-1.9.6, Python-2.7.18, 和 alsa-ucm-conf
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/alsa-lib
内核配置
如果需要,在内核配置中启用以下选项,并重新编译内核:
Device Drivers --->
<*/M> Sound card support ---> [CONFIG_SOUND]
<*/M> Advanced Linux Sound Architecture ---> [CONFIG_SND]
Select settings and drivers appropriate for your hardware.
在内核配置的Device Drivers ⇒ Sound card support ⇒ Advanced Linux Sound Architecture部分中,选择适合硬件的设置和驱动程序。如果有必要,重新编译并安装新内核。
安装ALSA库
运行以下命令安装ALSA库:
./configure &&
make
如果你已经安装了Doxygen,并且希望构建库的API文档,在源代码树的顶层目录中运行以下命令:
make doc
要测试结果,请执行以下命令: make check.
现在,作为root用户:
make install
要安装API文档,以root用户身份运行以下命令:
install -v -d -m755 /usr/share/doc/alsa-lib-1.2.8/html/search &&
install -v -m644 doc/doxygen/html/*.* \
/usr/share/doc/alsa-lib-1.2.8/html &&
install -v -m644 doc/doxygen/html/search/* \
/usr/share/doc/alsa-lib-1.2.8/html/search
配置ALSA库
配置文件
~/.asoundrc 和 /etc/asound.conf
配置信息
默认的alsa.conf就足够了。为了获得额外的功能和/或声音设备的高级控制,您可能需要创建额外的配置文件。有关可用配置参数的信息,请访问https://www.alsa-project.org/main/index.php/Asoundrc。
内容
安装程序: aserver
安装库: libasound.so 和 libatopology.so
安装目录: /usr/include/alsa, /usr/share/alsa 和 /usr/share/doc/alsa-lib-1.2.8
简短描述
aserver 是ALSA服务器。
libasound.so 包含ALSA API函数。
libatopology.so 包含ALSA拓扑的API函数。
42.3 alsa-plugins-1.2.7.1
简介ALSA Plugins
ALSA Plugins包包含各种音频库和音频服务器的插件。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://www.alsa-project.org/files/pub/plugins/alsa-plugins-1.2.7.1.tar.bz2
-
下载 (FTP): ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.2.7.1.tar.bz2
-
下载 MD5 校验和: 8fb7e05b84c87f30655a8997a9a983d1
-
下载大小: 400 KB
-
预计所需磁盘空间: 5.5 MB
-
预计构建时间: 小于 0.1 SBU
ALSA Plugins依赖
必要
可选
FFmpeg-5.1.2, libsamplerate-0.2.2, PulseAudio-16.1, Speex-1.2.1, JACK, libavtp, 和 maemo
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/alsa-plugins
安装ALSA Plugins
运行以下命令安装ALSA Plugins:
./configure --sysconfdir=/etc &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
内容
安装程序: None
安装库: Numerous libasound_module_<module>.so modules including conf_pulse, ctl_arcam_av, ctl_oss, ctl_pulse, pcm_a52, pcm_jack, pcm_oss, pcm_pulse, pcm_speex, pcm_upmix, pcm_usb_stream, pcm_vdownmix, rate_lavrate, rate_samplerate, 和 rate_speexrate*
安装目录: /usr/lib/alsa-lib
简短描述
libasound_module_pcm_oss.so 允许本地ALSA应用程序在OSS上运行。
libasound_module_pcm_upmix.so 允许将声音向上混合到4或6个通道。
libasound_module_pcm_vdownmix.so 允许从4-6声道降混到2声道立体声输出。
libasound_module_pcm_jack.so 允许原生ALSA应用程序与jackd一起工作。
libasound_module_pcm_pulse.so 允许本地ALSA应用程序访问PulseAudio声音守护进程。
libasound_module_pcm_a52.so 将S16线性声音格式转换为A52压缩格式,并将其发送到SPDIF输出。
libasound_module_rate_samplerate.so 通过libsamplerate提供一个外部速率转换器。
42.4 alsa-utils-1.2.8
简介ALSA Utilities
ALSA实用程序包包含各种实用程序,这对控制您的声卡很有用。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://www.alsa-project.org/files/pub/utils/alsa-utils-1.2.8.tar.bz2
-
下载 (FTP): ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.2.8.tar.bz2
-
下载 MD5 校验和: 51175f5cd413daf7009a80684c65113d
-
下载大小: 1.5 MB
-
预计所需磁盘空间: 15 MB
-
预计构建时间: 0.2 SBU
ALSA Utilities依赖
必要
可选
docutils-0.19, fftw-3.3.10, libsamplerate-0.2.2, xmlto-0.0.28, 和 Dialog
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/alsa-utils
安装ALSA Utilities
运行以下命令安装ALSA Utilities:
./configure --disable-alsaconf \
--disable-bat \
--disable-xmlto \
--with-curses=ncursesw &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
命令解释
--disable-alsaconf: 此开关禁用构建与Udev不兼容的alsaconf配置工具。
--disable-xmlto: 如果您已经安装了xmlto-0.0.28并希望重新生成手册页,则请忽略此开关。
--disable-bat: 如果您已经安装了fftw-3.3.10并希望安装基本音频测试器(BAT),则请忽略此开关。
--with-curses=ncursesw: 这个切换强制使用宽字符的ncurses库。
配置ALSA Utilities
配置文件
/var/lib/alsa/asound.state
配置信息
请注意,您的声卡的所有通道默认是静音的。你可以使用alsamixer程序来改变这一点。使用speaker-test来检查您的设置是否已正确应用。你应该在扬声器上听到“粉红噪音”。
alsactl程序通常根据标准的udev规则运行。第一次运行时,它会报错说/var/lib/alsa/asound.state中没有状态。你可以通过以root用户运行以下命令来防止这种情况:
alsactl -L store
当检测到设备时(在启动期间或插入USB设备时),卷设置应该由Udev从保存的状态恢复。
除了root和audio组的成员外,任何用户都不能访问所有的声音设备。将所有可能使用声音设备的用户添加到这个组中:
usermod -a -G audio <username>
注意
您可能需要注销并再次登录以刷新您的组成员。’su <username>‘也可以。
在有多个声卡的系统上,您可能需要调整默认音频设备,以便您可以从扬声器获得输出。要设置默认设备,首先检查/proc/asound/cards文件以确定你需要设置哪个数字。知道这些信息后,用以下命令将默认卡片设置为root用户:
cat > /etc/asound.conf << "EOF"
# Begin /etc/asound.conf
defaults.pcm.card 1
defaults.ctl.card 1
# End /etc/asound.conf
EOF
内容
安装程序: aconnect, alsactl, alsaloop, alsamixer, alsatplg, alsaucm, alsa-info.sh, amidi, amixer, aplay, aplaymidi, arecord (symlink), arecordmidi, aseqdump, aseqnet, axfer, iecset, 和 speaker-test
安装库: None
安装目录: /usr/share/sounds/alsa 和 /var/lib/alsa
简短描述
aconnect 是一个实用的连接和断开两个现有的端口在ALSA sequencer系统。
alsactl 用于控制ALSA声卡驱动程序的高级设置。如果alsamixer无法利用您的声卡的所有功能,请使用此功能。
alsaloop 允许在PCM捕获设备和PCM回放设备之间创建PCM环回。
alsamixer 是一个基于Ncurses的混音程序,用于ALSA声卡驱动程序。
alsatplg 是一个实用程序,用于将拓扑配置文件编译为内核驱动程序的二进制文件。
alsaucm 允许应用程序以抽象的方式访问硬件。
amidi 用于读取和写入ALSA RawMIDI端口。
amixer 允许命令行控制的混频器为ALSA声卡驱动程序。
aplay 是一个用于ALSA声卡驱动程序的命令行声音文件播放器。
aplaymidi 是一个命令行实用程序,它将指定的MIDI文件播放到一个或多个ALSA sequencer端口。
arecord 是ALSA声卡驱动程序的命令行声音文件记录器。
arecordmidi 是一个命令行实用程序,从一个或多个ALSA sequencer端口记录标准MIDI文件。
aseqdump 是一个命令行实用程序,它将接收到的sequencer事件打印为文本。
aseqnet 是一个ALSA sequencer客户端,它通过网络发送和接收事件数据包。
axfer 是一个命令行记录器和播放器,用于在声音设备和文件之间传输音频帧。
iecset 是一个小的实用程序,通过ALSA控制API设置或转储指定声卡的IEC958(或所谓的“S/PDIF”)状态位。
speaker-test 是ALSA的命令行扬声器测试音调生成器。
42.5 alsa-tools-1.2.5
简介ALSA Tools
ALSA工具包包含用于某些声卡的高级工具。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://www.alsa-project.org/files/pub/tools/alsa-tools-1.2.5.tar.bz2
-
下载 (FTP): ftp://ftp.alsa-project.org/pub/tools/alsa-tools-1.2.5.tar.bz2
-
下载 MD5 校验和: ce632a6c89ed47ee74ba415276a6a3cc
-
下载大小: 1.8 MB
-
预计所需磁盘空间: 26 MB
-
预计构建时间: 0.4 SBU
ALSA Tools依赖
必要
可选
GTK+-2.24.33 (构建echomixer, envy24control 和 rmedigicontrol), GTK+-3.24.36 (构建hdajackretask) 和 FLTK-1.3.8 (构建hdspconf 和 hdspmixer)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/alsa-tools
安装ALSA Tools
注意
在一个脚本中安装多个包时,需要以root用户身份进行安装。有3个通用选项可用于完成此操作。
-
以root用户身份运行整个脚本(不推荐)。
-
使用Sudo-1.9.13p1包中的sudo命令。
-
使用su -c “command arguments”(需要引号),它将在每次循环迭代时询问根密码。
处理这种情况的一种方法是创建一个简短的bash函数,它可以自动选择适当的方法。一旦在环境中设置了命令,就不需要再次设置了。
as_root()
{
if [ $EUID = 0 ]; then $*
elif [ -x /usr/bin/sudo ]; then sudo $*
else su -c \\"$*\\"
fi
}
export -f as_root
首先,启动一个子shell,它会在发生错误时退出:
bash -e
现在,删除一个需要Qt2或3的工具和两个不需要的文件(为了下面的BLFS说明):
rm -rf qlo10k1 Makefile gitcompile
只有那些对声卡有高级要求的人才需要ALSA工具包。这些工具可以一次性构建在一起,但如果只需要一部分工具,则需要cd到要编译和运行命令的每个工具的目录中。本文提出构建所有工具的说明。
运行以下命令安装所以ALSA Tools:
for tool in *
do
case $tool in
seq )
tool_dir=seq/sbiload
;;
* )
tool_dir=$tool
;;
esac
pushd $tool_dir
./configure --prefix=/usr
make
as_root make install
as_root /sbin/ldconfig
popd
done
unset tool tool_dir
最后,退出之前启动的shell:
exit
内容
安装程序: as10k1, cspctl, dl10k1, echomixer, envy24control, hda-verb, hdajackretask, hdajacksensetest, hdspconf, hdsploader, hdspmixer, hwmixvolume, init_audigy, init_audigy_eq10, init_live, lo10k1, ld10k1, ld10k1d, mixartloader, pcxhrloader, rmedigicontrol, sbiload, sscape_ctl, us428control, usx2yloader, 和 vxloader
安装库: liblo10k1.so
安装目录: /etc/hotplug, /usr/include/lo10k1, /usr/share/ld10k1, 和 /usr/share/sounds
简短描述
as10k1 是Creative SB Live, PCI 512, 和 emu APS声卡中emu10k1 DSP芯片的汇编器。它是用来制作音频效果,如镶边,合唱或混响。
cspctl 是一个SB16/AWE32创意信号处理器(ASP/CSP)控制程序。
echomixer 是Linux中与Echoaudio的Echoaudio控制台应用程序等价的程序。它是一个工具来控制任何Echoaudio声卡的所有功能。这包括时钟源、输入和输出增益、混频器等。
envy24control 是基于Envy24 (ice1712)的声卡的控制工具。
hdajackretask 是一个GUI,使它容易重新任务你的插孔-例如,把你的麦克风插孔变成一个额外的耳机,或者为什么不让他们都线出,并连接到你的环绕接收器。
hda-verb 是一个小程序,发送HD-audio命令到给定的ALSA hwdep设备的HD-audio接口。
hdspconf 是一个控制Hammerfall HDSP Alsa设置的GUI。最多支持4个HDSP卡。
hdsploader 用于加载Hammerfall HDSP声卡所需的固件。
hdspmixer 是Linux中与RME中的Totalmix应用程序等价的程序。它是一个控制RME HammerfallDSP声卡系列高级路由特性的工具。
hwmixvolume 允许您在使用硬件混合的声卡上控制单个流的音量。
init_audigy* 是用于初始化创造性声音Blaster audigy系列卡的工具。
init_live 是一个工具,用于初始化创造性的声音Blaster Live卡。
ld10k1 是ALSA的EMU10K{1,2}补丁加载程序的服务器。
lo10k1 是ALSA的EMU10K{1,2}补丁加载程序的客户端。
dl10k1 加载lo10k1 和 ld10k1生成的配置转储文件。
ld10k1d 是ld10k1补丁加载程序的初始化脚本。
mixartloader 是一个辅助程序,加载固件二进制文件到Digigram的miXart板的声音驱动程序。以下模块需要这个程序:snd-mixart。这些驱动程序根本不能正常工作,直到某些固件被加载,即没有PCM或混合器设备将出现。
pcxhrloader 是一个辅助程序,加载固件二进制文件到Digigram的pcxhr兼容板声音驱动程序。以下模块需要这个程序:snd-pcxhr。这些驱动程序根本不能正常工作,直到某些固件被加载,即没有PCM或混合器设备将出现。
rmedigicontrol 是RME Digi32和RME Digi96声卡的控制工具。它为所有声卡控制和开关提供了一个图形前端。
sbiload 是ALSA音序器的OPL2/3 FM仪器加载器。
sscape_ctl 是一个ALSA SoundScape控件实用程序。
us428control 是Tascam US-428控制程序。
usx2yloader 是一个帮助程序,加载第二阶段固件二进制文件到Tascam USX2Y USB声卡。迄今为止,它已被证明适用于US122、US224和US428。snd-usb-usx2y模块需要这个程序。
vxloader 是一个辅助程序,加载固件二进制文件到Digigram的vx板声音驱动程序。以下模块需要这个程序:snd-vx222, snd-vxpocket, snd-vxp440。这些驱动程序根本不能正常工作,直到某些固件被加载,即没有PCM或混合器设备将出现。
42.6 alsa-firmware-1.2.4
简介ALSA Firmware
ALSA固件包包含某些声卡的固件。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://www.alsa-project.org/files/pub/firmware/alsa-firmware-1.2.4.tar.bz2
-
下载 (FTP): ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.2.4.tar.bz2
-
下载 MD5 校验和: ee6c1d24a1a4ac1d86992b408ed710a2
-
下载大小: 4.9 MB
-
预计所需磁盘空间: 39 MB
-
预计构建时间: 小于 0.1 SBU
ALSA Firmware依赖
必要
可选
AS31 (用于从源重建固件)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/alsa-firmware
安装ALSA Firmware
只有对声卡有高级要求的人才需要ALSA固件包。有关配置选项,请参阅README。
运行以下命令安装ALSA Firmware:
./configure --prefix=/usr &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
内容
安装程序: None
安装库: None
安装目录: 一些目录在/lib/firmware 和 /usr/share/alsa/firmware
42.7 alsa-oss-1.1.8
简介alsa-oss
alsa-oss包中包含了alsa-oss兼容库。这是使用的程序,希望使用alsa-oss声音界面。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://www.alsa-project.org/files/pub/oss-lib/alsa-oss-1.1.8.tar.bz2
-
下载 (FTP): ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.1.8.tar.bz2
-
下载 MD5 校验和: 9ec4bb783fdce19032aace086d65d874
-
下载大小: 288 KB
-
预计所需磁盘空间: 3.0 MB
-
预计构建时间: 小于 0.1 SBU
ALSA OSS依赖
必要
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/alsa-oss
安装ALSA OSS
运行以下命令安装ALSA OSS:
./configure --disable-static &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
命令解释
--disable-static: 这个开关阻止安装静态版本的库。
内容
安装程序: aoss
安装库: libalsatoss.so, libaoss.so, 和 libossredir.a
安装目录: None
简短描述
aoss 是一个简单的包装器脚本,方便使用ALSA oss兼容库。它只是设置适当的LD_PRELOAD路径和,然后运行命令。
42.8 AudioFile-0.3.6
简介AudioFile
AudioFile包包含音频文件库和两个用于支持基本声音文件格式的声音文件支持程序。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/audiofile/0.3/audiofile-0.3.6.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/audiofile/0.3/audiofile-0.3.6.tar.xz
-
下载 MD5 校验和: 235dde14742317328f0109e9866a8008
-
下载大小: 520 KB
-
预计所需磁盘空间: 18 MB
-
预计构建时间: 0.6 SBU
额外下载
- 必要补丁: https://www.linuxfromscratch.org/patches/blfs/11.3/audiofile-0.3.6-consolidated_patches-1.patch
AudioFile依赖
必要
推荐
可选
asciidoc-10.2.0 和 Valgrind-3.20.0
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/audiofile
安装AudioFile
运行以下命令安装AudioFile:
patch -Np1 -i ../audiofile-0.3.6-consolidated_patches-1.patch &&
autoreconf -fiv &&
./configure --prefix=/usr --disable-static &&
make
现在,作为root用户:
make install
要测试结果,请执行以下命令: make check. 注意,如果使用–disable-static选项,并且在make install之前执行测试,则测试将失败。你有三个选择:
(a) 不使用–disable-static进行配置,运行测试,但不安装,然后使用–disable-static重新构建,安装包。
(b) 使用–disable-static配置,但只在包安装后运行测试。
(c) 使用–disable-static配置,但只在DESTDIR安装后运行测试。
命令解释
--disable-static: 这个开关阻止安装静态版本的库。
内容
安装程序: sfconvert 和 sfinfo
安装库: libaudiofile.so
安装目录: None
简短描述
sfinfo 显示此库支持的音频格式的声音文件格式、音频编码、采样率和持续时间。
sfconvert 转换声音文件格式的原始格式和目标格式支持的这个库。
libaudiofile.so 包含程序使用的功能,以支持AIFF, AIFF压缩,Sun/NeXT, WAV和BIC音频格式。
42.9 FAAC-1_30
简介FAAC
FAAC是一种用于MPEG-2第7部分和MPEG-4第3部分标准中规定的有损声音压缩方案的编码器,称为高级音频编码(AAC,Advanced Audio Coding)。该编码器可用于生成可在iPod上播放的文件。此外,iPod不理解视频文件中的其他声音压缩方案。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://github.com/knik0/faac/archive/1_30/faac-1_30.tar.gz
-
下载 MD5 校验和: 8d61e6d55088e599aa91532d5e6995b0
-
下载大小: 240 KB
-
预计所需磁盘空间: 4.7 MB
-
预计构建时间: 小于 0.1 SBU
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/faac
安装FAAC
运行以下命令安装FAAC:
./bootstrap &&
./configure --prefix=/usr --disable-static &&
make
这个包没有附带测试套件。但是,可以通过编码一个示例WAV文件来测试基本功能(示例文件由alsa-utils-1.2.8包安装):
./frontend/faac -o Front_Left.mp4 /usr/share/sounds/alsa/Front_Left.wav
然后,使用来自FAAD2-2.10.1包的faad程序解码结果并播放解码后的文件(需要来自alsa-utils-1.2.8包的aplay程序):
faad Front_Left.mp4
aplay Front_Left.wav
aplay应该将文件识别为“Signed 16 bit Little Endian, Rate 48000 Hz, Stereo”,你应该听到单词“front left”。
现在,作为root用户:
make install
命令解释
--disable-static: 这个开关阻止安装静态版本的库。
其他AAC编码器
FAAC的质量不符合目前最好的AAC编码器。此外,它只支持AAC,不支持高效AAC(也称为aacPlus),后者通过使用“频谱复制”技术在低比特率下提供更好的质量。下面是生成AAC和HE-AAC流的替代程序。
-
Nero AAC Codec: Linux的命令行AAC和HE-AAC编码器只有二进制格式,它们与Windows应用程序位于同一个归档文件中。
-
3GPP Enhanced aacPlus general audio codec: 它以源代码的形式提供,开箱仅能编码HE-AAC,最高可达48 kbps,但可以通过编辑
FloatFR_sbrenclib/src/sbr_main.c文件中的调优表来更改最大比特率。
但是要注意,iPod只支持低复杂度的AAC配置文件,这是FAAC的默认配置,但可能不是Nero AAC编码器的默认配置,3GPP编码器完全不可用。
内容
安装程序: faac
安装库: libfaac.so 和 libmp4v2.so
安装目录: None
简短描述
faac 是一个命令行AAC编码器。
libfaac.so 包含编码AAC流的函数。
libmp4v2.so 包含创建和操作MP4文件的函数。
42.10 FAAD2-2.10.1
简介FAAD2
FAAD2是MPEG-2第7部分和MPEG-4第3部分标准中规定的有损声音压缩方案的解码器,被称为高级音频编码(AAC)。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://github.com/knik0/faad2/archive/2.10.1/faad2-2.10.1.tar.gz
-
下载 MD5 校验和: 62a0427c6ff3a273aa720e27da166758
-
下载大小: 788 KB
-
预计所需磁盘空间: 14 MB
-
预计构建时间: 0.1 SBU
额外下载
- 示例AAC文件: https://www.nch.com.au/acm/sample.aac (7 KB)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/faad2
安装FAAD2
运行以下命令安装FAAD2:
./bootstrap &&
./configure --prefix=/usr --disable-static &&
make
这个包没有附带测试套件。不过,基本功能可以通过解码示例AAC文件来测试:
./frontend/faad -o sample.wav ../sample.aac
这将显示版权信息和示例文件的以下信息:
sample.aac file info:
ADTS, 4.608 sec, 13 kbps, 16000 Hz
---------------------
| Config: 2 Ch |
---------------------
| Ch | Position |
---------------------
| 00 | Left front |
| 01 | Right front |
---------------------
现在播放结果(需要alsa-utils-1.2.8包中的aplay程序):
aplay sample.wav
aplay应该将文件标识为“Signed 16 bit Little Endian, Rate 16000 Hz, Stereo”,并且您应该听到一些钢琴音符。
现在,作为root用户:
make install
命令解释
--disable-static: 这个开关阻止安装静态版本的库。
内容
安装程序: faad
安装库: libfaad.so 和 libfaad_drm.so
安装目录: None
简短描述
faad 是一个用于解码AAC和MP4文件的命令行实用程序。
libfaad.so 包含解码AAC流的函数。
42.11 fdk-aac-2.0.2
简介fdk-aac
fdk-aac包提供了Fraunhofer FDK AAC库,据称是一个高质量的高级音频编码实现。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://downloads.sourceforge.net/opencore-amr/fdk-aac-2.0.2.tar.gz
-
下载 MD5 校验和: b41222194b31f570b3132bd622a9aef6
-
下载大小: 2.8 MB
-
预计所需磁盘空间: 38 MB
-
预计构建时间: 0.6 SBU (Using parallelism=4)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/fdk-aac
安装fdk-aac
运行以下命令安装fdk-aac:
./configure --prefix=/usr --disable-static &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
命令解释
--disable-static: 这个开关阻止安装静态版本的库。
内容
安装程序: None
安装库: libfdk-aac.so
安装目录: /usr/include/fdk-aac
简短描述
libfdk-aac.so 提供AAC格式的音频编码功能。
42.12 FLAC-1.4.2
简介FLAC
FLAC是一种类似于MP3的音频编解码器,但它是无损的,也就是说音频被压缩后不会丢失任何信息。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://downloads.xiph.org/releases/flac/flac-1.4.2.tar.xz
-
下载 MD5 校验和: ca9140f37b286d2571e37d66aae50f92
-
下载大小: 1.0 MB
-
预计所需磁盘空间: 21 MB (额外的165 MB用于运行测试套件)
-
预计构建时间: 0.2 SBU (额外的0.6 SBU运行测试套件)
FLAC依赖
可选
libogg-1.3.5, DocBook-utils-0.6.14, Doxygen-1.9.6, 和 Valgrind-3.20.0
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/flac
安装FLAC
运行以下命令安装FLAC:
./configure --prefix=/usr \
--disable-thorough-tests \
--docdir=/usr/share/doc/flac-1.4.2 &&
make
要测试结果,请执行以下命令: make check。请注意,如果你通过了--enable-exhaustive-tests 和 --enable-valgrind-testing 参数来configure然后运行测试套件,它将花费很长时间(多达300 SBUs)并使用大约375 MB的磁盘空间。
现在,作为root用户:
make install
命令解释
--disable-thorough-tests: 使用此参数,测试套件将在合理的时间内完成。如果您需要更广泛的测试,请删除它。
内容
安装程序: flac 和 metaflac
安装库: libFLAC.so 和 libFLAC++.so
安装目录: /usr/include/FLAC, /usr/include/FLAC++ 和 /usr/share/doc/flac-1.4.2
简短描述
flac 是一个用于编码、解码和转换FLAC文件的命令行实用程序。
metaflac 是一个用于在一个或多个FLAC文件中列出、添加、删除或编辑元数据的程序。
libFLAC{,++}.so 这些库为使用FLAC的程序提供了原生FLAC和Ogg的FLAC C/C++ api。
42.13 frei0r-plugins-1.8.0
简介Frei0r-plugins
Frei0r是一个简约的视频特效插件API。注意,名称中的0是0,而不是大写字母o。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://files.dyne.org/frei0r/releases/frei0r-plugins-1.8.0.tar.gz
-
下载 MD5 校验和: 45ffe53925ce0a90ce1d838c05e0a3c0
-
下载大小: 804 KB
-
预计所需磁盘空间: 40 MB
-
预计构建时间: 0.5 SBU
Frei0r-plugins依赖
推荐
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/frei0r
安装Frei0r-plugins
运行以下命令安装Frei0r:
mkdir -vp build &&
cd build &&
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-Wno-dev .. &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
命令解释
-DWITHOUT_OPENCV=TRUE: 该选项指示make过程禁用依赖于opencv的构建插件。
-DWITHOUT_GAVL=TRUE: 此选项指示make过程禁用依赖于gavl的构建插件。
内容
安装程序: None
安装库: 超过130个视频特效插件
安装目录: /usr/lib/frei0r-1
42.14 gavl-1.4.0
简介Gavl
Gavl是Gmerlin Audio Video Library的缩写。它是一个底层库,处理音频和视频格式的细节,如色彩空间,采样,多通道配置等。它为这些格式以及用于在应用程序中携带音频样本或视频图像的容器结构提供了标准化的定义。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://downloads.sourceforge.net/gmerlin/gavl-1.4.0.tar.gz
-
下载 MD5 校验和: 2752013a817fbc43ddf13552215ec2c0
-
下载大小: 4.4 MB
-
预计所需磁盘空间: 50 MB
-
预计构建时间: 0.8 SBU
Gavl依赖
必要
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gavl
安装Gavl
运行以下命令安装Gavl:
LIBS=-lm \
./configure --prefix=/usr \
--without-doxygen \
--docdir=/usr/share/doc/gavl-1.4.0 &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
命令解释
LIBS=-lm: 该变量确保在链接时搜索数学库。
--without-doxygen: 这个开关禁止使用Doxygen。如果安装了Doxygen,并且希望构建API文档,则省略。
内容
安装程序: None
安装库: libgavl.so
安装目录: /usr/include/gavl 和 /usr/share/doc/gavl-1.4.0
简短描述
libgavl.so 是Gmerlin音频视频库。
42.15 gstreamer-1.22.0
简介gstreamer
Gstreamer是一个流媒体框架,它使应用程序能够共享一组通用的插件,用于视频编码和解码,音频编码和解码,音频和视频过滤器,音频可视化,web流以及任何实时或其他流的任务。这个包只提供了基本的功能和库。你可能需要至少gst-plugins-base-1.22.0和一个好的、坏的、丑陋的或Libav插件。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.22.0.tar.xz
-
下载 MD5 校验和: fb69587308e03e15c1b9a026a7b591d6
-
下载大小: 1.7 MB
-
预计所需磁盘空间: 46 MB (有测试)
-
预计构建时间: 0.3 SBU (使用并行数=4;有测试)
gstreamer依赖
必要
推荐
可选
GTK+-3.24.36 (用于示例), Gsl-2.7.1 (安装后用于一次测试), libunwind-1.6.2, Valgrind-3.20.0, bash-completion, hotdoc, 和 libdw
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gstreamer10
安装gstreamer
运行以下命令安装gstreamer:
mkdir build &&
cd build &&
meson --prefix=/usr \
--buildtype=release \
-Dgst_debug=false \
-Dpackage-origin=https://www.linuxfromscratch.org/blfs/view/11.3-systemd/ \
-Dpackage-name="GStreamer 1.22.0 BLFS" &&
ninja
要测试结果,请执行以下命令: ninja test.
当心
如果要从以前的版本重新安装gstreamer,最好在安装新版本之前删除以前的版本,包括插件。如果安装了多个版本,使用进程可能会挂起或无法正常工作。作为root用户:
rm -rf /usr/bin/gst-* /usr/{lib,libexec}/gstreamer-1.0
现在,作为root用户:
ninja install
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
内容
安装程序: gst-inspect-1.0, gst-launch-1.0, gst-stats-1.0, gst-tester-1.0, 和 gst-typefind-1.0
安装库: libgstbase-1.0.so, libgstcheck-1.0.so, libgstcontroller-1.0.so, libgstnet-1.0.so, 和 libgstreamer-1.0.so
安装目录: /usr/{include,lib,libexec,share}/gstreamer-1.0
简短描述
gst-inspect-1.0 是一个打印可用gstreamer插件信息、特定插件信息或特定元素信息的工具。
gst-launch-1.0 是一个构建和运行基本gstreamer管道的工具。
gst-stats-1.0 是一个用于收集关于gstreamer操作的统计信息的工具。
gst-tester-1.0 在与介子测试套件集成时,以TAP兼容格式运行测试计划。
gst-typefind-1.0 使用gstreamer类型查找系统来确定解析或解码文件的相关gstreamer插件,以及相应的MIME类型。
libgstbase-1.0.so 提供一些对插件开发人员最有用的元素和工具类扩展的基类。
libgstcheck-1.0.so 提供使用check框架编写单元测试的功能。
libgstcontroller-1.0.so 提供随时间变化的动画元素属性功能。
libgstnet-1.0.so 提供网络元素和对象。
libgstreamer-1.0.so 提供所有核心gstreamer服务,包括初始化、插件管理和类型,以及定义元素和箱子的对象层次结构,以及一些更专门化的元素。
42.16 gst-plugins-base-1.22.0
简介GStreamer Base Plug-ins
GStreamer基础插件是一个精心设计和维护良好的GStreamer插件和元素集合,涵盖了人们想要为GStreamer编写的元素的各种可能类型。您将需要至少一个好的、坏的、丑陋的或Libav插件,以使GStreamer应用程序正常运行。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.22.0.tar.xz
-
下载 MD5 校验和: c559f23bb746bda732e85ba7b76c2074
-
下载大小: 2.0 MB
-
预计所需磁盘空间: 86 MB (有测试)
-
预计构建时间: 0.8 SBU (使用并行数=4;有测试)
GStreamer基础插件依赖
必要
推荐
alsa-lib-1.2.8, CDParanoia-III-10.2 (用于构建CDDA插件), gobject-introspection-1.74.0, ISO Codes-4.12.0, libgudev-237, libjpeg-turbo-2.1.5.1, libogg-1.3.5, libpng-1.6.39, libtheora-1.1.1, libvorbis-1.3.7, Mesa-22.3.5, Pango-1.50.12, wayland-protocols-1.31, 和 Xorg Libraries
可选
graphene-1.10.8, GTK+-3.24.36 (用于示例), Opus-1.3.1, Qt-5.15.8 (用于示例), SDL-1.2.15, SDL2-2.26.3, Valgrind-3.20.0, hotdoc, libvisual, Orc, 和 Tremor
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gst10-plugins-base
安装GStreamer基础插件
注意
如果你需要为某个依赖项安装插件,那么必须先安装该依赖项,然后再安装这个包。
运行以下命令安装GStreamer基础插件:
mkdir build &&
cd build &&
meson --prefix=/usr \
--buildtype=release \
-Dpackage-origin=https://www.linuxfromscratch.org/blfs/view/11.3-systemd/ \
-Dpackage-name="GStreamer 1.22.0 BLFS" \
--wrap-mode=nodownload &&
ninja
要测试结果,请执行以下命令: ninja test. 测试需要运行X终端,否则所有GL测试都会失败。5个测试可能会在某些系统上产生超时,这取决于它们的图形硬件和速度。
注意
安装时,构建过程会进行一些额外的链接。如果您在/usr中没有Xorg,则需要为root用户定义LIBRARY_PATH变量。如果使用sudo假设root,请使用-E选项为安装过程传递当前环境变量。
现在,作为root用户:
ninja install
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
--wrap-mode=nodownload: 这个开关可以防止meson下载任何系统上没有安装的可选依赖项。
内容
安装程序: gst-device-monitor-1.0, gst-discoverer-1.0, 和 gst-play-1.0
安装库: libgstallocators-1.0.so, libgstapp-1.0.so, libgstaudio-1.0.so, libgstfft-1.0.so, libgstgl-1.0.so, libgstpbutils-1.0.so, libgstriff-1.0.so, libgstrtp-1.0.so, libgstrtsp-1.0.so, libgstsdp-1.0.so, libgsttag-1.0.so, libgstvideo-1.0.so, 以及位于/usr/lib/gstreamer-1.0目录下的几个插件
安装目录: /usr/include/gstreamer-1.0/gst/{allocators,app,audio,fft,gl,pbutils}, /usr/include/gstreamer-1.0/gst/{riff,rtp,rtsp,sdp,tag,video}, 和 /usr/share/gst-plugins-base
简短描述
gst-device-monitor-1.0 是一个命令行工具,可用于测试GStreamer的设备监控功能。
gst-discoverer-1.0 是一种工具,可用于打印有关媒体文件的基本元数据和流信息。
gst-play-1.0 是一个命令行工具,可以使用playbin元素来测试基本的播放。
42.17 gst-plugins-good-1.22.0
简介GStreamer Good Plug-ins
GStreamer Good插件是GStreamer开发人员认为具有良好代码质量、正确功能和首选许可证(插件代码使用LGPL,支持库使用LGPL或LGPL兼容)的一组插件。它包含了广泛的视频和音频解码器、编码器和滤波器。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.22.0.tar.xz
-
下载 MD5 校验和: 4034320097501bccb2272a52874caaea
-
下载大小: 2.7 MB
-
预计所需磁盘空间: 105 MB (有测试)
-
预计构建时间: 0.6 SBU (使用并行数=4;有测试)
GStreamer Good Plug-ins依赖
必要
推荐
Cairo-1.17.6, FLAC-1.4.2, gdk-pixbuf-2.42.10, LAME-3.100, libsoup-2.74.3, libsoup-3.2.2, libvpx-1.13.0, mpg123-1.31.2, NASM-2.16.01, 和 PulseAudio-16.1
可选
AAlib-1.4rc5, ALSA OSS-1.1.8, GTK+-3.24.36 (用于示例), libdv-1.0.0, Qt-5.15.8, Speex-1.2.1, taglib-1.13, Valgrind-3.20.0, v4l-utils-1.22.1, Wayland-1.21.0, hotdoc, JACK, libcaca, libavc1394, libiec61883, libraw1394, libshout, Orc, TwoLame, 和 WavPack
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gst10-plugins-good
安装GStreamer Good Plug-ins
注意
如果你需要为某个依赖项安装插件,那么必须先安装该依赖项,然后再安装这个包。
运行以下命令安装GStreamer Good Plug-ins:
mkdir build &&
cd build &&
meson --prefix=/usr \
--buildtype=release \
-Dpackage-origin=https://www.linuxfromscratch.org/blfs/view/11.3-systemd/ \
-Dpackage-name="GStreamer 1.22.0 BLFS" &&
ninja
要测试结果,请执行以下命令: ninja test. One test, elements_flvmux is known to fail on some systems.
现在,作为root用户:
ninja install
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
内容
安装程序: None
安装库: 在 /usr/lib/gstreamer-1.0 目录下有几个插件
安装目录: /usr/share/gstreamer-1.0/presets
42.18 gst-plugins-bad-1.22.0
简介GStreamer Bad Plug-ins
GStreamer Bad Plug-ins包包含了一组与其他插件相比没有达到标准的插件。它们可能接近于高质量,但它们缺少一些东西——可能是一个好的代码审查,一些文档,一组测试,一个真正的实时维护者,或者一些实际的广泛使用。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.22.0.tar.xz
-
下载 MD5 校验和: 6c4df68e7d32e2ae6a682b7dbc22e35a
-
下载大小: 5.2 MB
-
预计所需磁盘空间: 162 MB (有测试)
-
预计构建时间: 1.1 SBU (使用并行数=4;有测试)
GStreamer Bad Plug-ins依赖
必要
推荐
libdvdread-6.1.3, libdvdnav-6.1.1, 和 SoundTouch-2.3.2
可选
BlueZ-5.66, cURL-7.88.1, FAAC-1_30, FAAD2-2.10.1, fdk-aac-2.0.2, GTK+-3.24.36 (用于示例), gst-plugins-good-1.22.0 (用于一次测试), Little CMS-2.14, libass-0.17.0, libexif-0.6.24 (用于一次测试), librsvg-2.54.5, libsoup-2.74.3 (用于一次测试), libsndfile-1.2.0, libssh2-1.10.0, libusb-1.0.26, libva-2.17.0, libwebp-1.3.0, libxkbcommon-1.5.0, neon-0.32.5, Nettle-3.8.1 或 libgcrypt-1.10.1 (对于hls插件中的SSL支持,如果两者都没有安装,将使用OpenSSL代替), opencv-4.7.0 (with additional modules), OpenJPEG-2.5.0, Opus-1.3.1, SBC-2.0, SDL-1.2.15, Valgrind-3.20.0, Wayland-1.21.0 (GTK+-3.24.36 must have been compiled with wayland support), wpebackend-fdo-1.14.0, x265-20230215, aom, bs2b, Chromaprint, dssim, Flite, FluidSynth, Game Music Emu, GSM, hotdoc, LADSPA, libavtp, libdc1394-2, libdca, libde265, libkate, libmfx, libmms, libmodplug, libnice, libofa, libopenmpt, libopenni, libsrtp, lilv, LRDF, ltc-tools, microdns, MJPEG Tools, OpenAL, OpenEXR, OpenH264, Orc, rtmpdump, spandsp, Srt, svthevcenc, VO AAC, VO AMRWB, Vulkan, WildMidi, WPE-WebKit, ZBAR, ZVBI, 和 zxing
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gst10-plugins-bad
安装GStreamer Bad Plug-ins
注意
如果你需要为某个依赖项安装插件,那么必须先安装该依赖项,然后再安装这个包。
运行以下命令安装GStreamer Bad Plug-ins:
mkdir build &&
cd build &&
meson --prefix=/usr \
--buildtype=release \
-Dgpl=enabled \
-Dpackage-origin=https://www.linuxfromscratch.org/blfs/view/11.3-systemd/ \
-Dpackage-name="GStreamer 1.22.0 BLFS" &&
ninja
要测试结果,请执行以下命令: ninja test。一些测试需要在图形会话中使用终端模拟器。已知有两个测试elements_vapostproc和elements_vacompositor会失败。如果没有安装gst-plugins-good-1.22.0,两个测试elements_rtpsrc 和 elements_rtpsink将失败。
现在,作为root用户:
ninja install
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
-Dgpl=enabled: 如果没有这个开关,就不会构建依赖于(A)GPL许可库的插件。
内容
安装程序: gst-transcoder-1.0 和 playout
安装库: libgstadaptivedemux-1.0.so, libgstbadaudio-1.0.so, libgstbasecamerabinsrc-1.0.so, libgstcodecparsers-1.0.so, libgstcodecs-1.0.so, libgstinsertbin-1.0.so, libgstisoff-1.0.so, libgstmpegts-1.0.so, libgstphotography-1.0.so, libgstplay-1.0.so, libgstplayer-1.0.so, libgstsctp-1.0.so, libgsttranscoder-1.0.so, libgsturidownloader-1.0.so, libgstva-1.0.so, libgstwayland-1.0.so, libgstwebrtc-1.0.so, 和一些插件在/usr/lib/gstreamer-1.0下
安装目录: /usr/include/gstreamer-1.0/gst/{audio,basecamerabinsrc,codecparsers}, /usr/include/gstreamer-1.0/gst/{insertbin,interfaces,isoff,mpegts}, /usr/include/gstreamer-1.0/gst/{play,player,sctp,transcoder}, 和 /usr/include/gstreamer-1.0/gst/{uridownloader,wayland,webrtc}
简短描述
gst-transcoder-1.0 用于将流转换为不同的格式。
playout 是一个示例应用程序,用于顺序播放一个音频视频文件列表。
42.19 gst-plugins-ugly-1.22.0
简介GStreamer Ugly Plug-ins
GStreamer丑陋插件是GStreamer开发人员认为具有良好质量和正确功能的一组插件,但发布它们可能会带来问题。插件或支持库的许可证可能不是GStreamer开发人员想要的。该法典可能是众所周知的专利问题。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.22.0.tar.xz
-
下载 MD5 校验和: ac97c1ca8d9c7a9878ca15796b70d809
-
下载大小: 236 KB
-
预计所需磁盘空间: 8.4 MB (有测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
GStreamer Ugly Plug-ins依赖
必要
推荐
liba52-0.7.4 (需要播放DVD), libdvdread-6.1.3, 和 x264-20230215
可选
libmpeg2-0.5.1, libcdio-2.1.0 (光碟机访问), Valgrind-3.20.0, hotdoc, libsidplay, OpenCore AMR, Orc, 和 TwoLame
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gst10-plugins-ugly
安装GStreamer Ugly Plug-ins
注意
如果你需要为某个依赖项安装插件,那么必须先安装该依赖项,然后再安装这个包。
运行以下命令安装GStreamer Ugly Plug-ins:
mkdir build &&
cd build &&
meson --prefix=/usr \
--buildtype=release \
-Dgpl=enabled \
-Dpackage-origin=https://www.linuxfromscratch.org/blfs/view/11.3-systemd/ \
-Dpackage-name="GStreamer 1.22.0 BLFS" &&
ninja
要测试结果,请执行以下命令: ninja test.
现在,作为root用户:
ninja install
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
-Dgpl=enabled: 如果没有这个开关,就不会构建依赖于(A)GPL许可库的插件。
内容
安装程序: None
安装库: 一些插件在/usr/lib/gstreamer-1.0
安装目录: None
42.20 gst-libav-1.22.0
简介GStreamer Libav
GStreamer Libav包包含Libav (FFmpeg的一个分支)的GStreamer插件。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.22.0.tar.xz
-
下载 MD5 校验和: a2165c56301906c50dcc9245d535df45
-
下载大小: 188 KB
-
预计所需磁盘空间: 8.9 MB
-
预计构建时间: 小于 0.1 SBU
GStreamer Libav依赖
必要
FFmpeg-5.1.2 和 gst-plugins-base-1.22.0
推荐
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gst10-libav
安装GStreamer Libav
运行以下命令安装GStreamer Libav:
mkdir build &&
cd build &&
meson --prefix=/usr \
--buildtype=release \
-Dpackage-origin=https://www.linuxfromscratch.org/blfs/view/11.3-systemd/ \
-Dpackage-name="GStreamer 1.22.0 BLFS" &&
ninja
不推荐进行这些测试。3分钟后测试6次中的6次。无论如何要运行测试,请执行: ninja test.
现在,作为root用户:
ninja install
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
内容
安装程序: None
安装库: libgstlibav.so 在 /usr/lib/gstreamer-1.0 目录下
安装目录: None
42.21 gstreamer-vaapi-1.22.0
简介gstreamer-vaapi
gstreamer-vaapi包包含一个gstreamer插件,用于硬件加速视频解码/编码,适用于当今流行的编码标准(MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, 和 VC-1/VMW3)。
注意
在没有硬件加速的系统上(特别是qemu-7.2.0下的虚拟机),此软件包可能导致X服务器崩溃。BLFS团队建议在这种情况下不要安装这个包。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.22.0.tar.xz
-
下载 MD5 校验和: 49857ccda7c14cbb64769a60058708f9
-
下载大小: 516 KB
-
预计所需磁盘空间: 12 MB
-
预计构建时间: 0.2 SBU
gstreamer-vaapi依赖
必要
GTK+-3.24.36, gstreamer-1.22.0, gst-plugins-base-1.22.0, gst-plugins-bad-1.22.0, 和 libva-2.17.0
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gstreamer10-vaapi
安装gstreamer-vaapi
运行以下命令安装gstreamer-vaapi:
mkdir build &&
cd build &&
meson --prefix=/usr \
--buildtype=release \
-Dpackage-origin=https://www.linuxfromscratch.org/blfs/view/11.3-systemd/ &&
ninja
这个包没有附带vi工作测试套件。
现在,作为root用户:
ninja install
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
内容
安装程序: None
安装库: libgstvaapi.so 在 /usr/lib/gstreamer-1.0
安装目录: None
42.22 id3lib-3.8.3
简介id3lib
id3lib是一个用于读取、写入和操作id3v1和id3v2多媒体数据容器的库。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://downloads.sourceforge.net/id3lib/id3lib-3.8.3.tar.gz
-
下载 MD5 校验和: 19f27ddd2dda4b2d26a559a4f0f402a7
-
下载大小: 932 KB
-
预计所需磁盘空间: 16 MB
-
预计构建时间: 0.2 SBU
额外下载
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/id3lib
安装Id3lib
运行以下命令安装id3lib:
patch -Np1 -i ../id3lib-3.8.3-consolidated_patches-1.patch &&
libtoolize -fc &&
aclocal &&
autoconf &&
automake --add-missing --copy &&
./configure --prefix=/usr --disable-static &&
make
这个包没有一个可用的测试套件。
现在,作为root用户:
make install &&
cp doc/man/* /usr/share/man/man1 &&
install -v -m755 -d /usr/share/doc/id3lib-3.8.3 &&
install -v -m644 doc/*.{gif,jpg,png,ico,css,txt,php,html} \
/usr/share/doc/id3lib-3.8.3
命令解释
--disable-static: 这个开关阻止安装静态版本的库。
内容
安装程序: id3convert, id3cp, id3info, 和 id3tag
安装库: libid3.so
安装目录: /usr/include/id3 和 /usr/share/doc/id3lib-3.8.3
简短描述
id3convert 转换id3v1/v2标记格式。
id3cp 从数字音频文件中提取id3v1/v2标签。
id3info 打印id3v1/v2标签内容。
id3tag 是一个编辑id3v1/v2标签的工具。
libid3.so 提供id3v1/v2标记编辑程序以及其他外部程序和库的函数。
42.23 Liba52-0.7.4
简介Liba52
liba52是一个用于解码ATSC A/52(也称为AC-3)流的免费库。A/52标准用于各种应用,包括数字电视和DVD。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz
-
下载 MD5 校验和: caa9f5bc44232dc8aeea773fea56be80
-
下载大小: 236 KB
-
预计所需磁盘空间: 2.5 MB
-
预计构建时间: 小于 0.1 SBU
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/liba52
安装Liba52
运行以下命令安装liba52:
./configure --prefix=/usr \
--mandir=/usr/share/man \
--enable-shared \
--disable-static \
CFLAGS="${CFLAGS:--g -O2} $([ $(uname -m) = x86_64 ] && echo -fPIC)" &&
make
要测试结果,请执行以下命令: make check.
现在,作为root用户:
make install &&
cp liba52/a52_internal.h /usr/include/a52dec &&
install -v -m644 -D doc/liba52.txt \
/usr/share/doc/liba52-0.7.4/liba52.txt
命令解释
CFLAGS="-g -O2 ...: 这将CFLAGS设置为-g -O2(这是默认设置),然后在x86_64上添加-fPIC。在x86_64上编译liba52需要该函数。
--disable-static: 这个开关阻止安装静态版本的库。
cp liba52/a52_internal.h …: 将这个头文件复制到/usr/include/a52dec中,其他一些程序(如xine-lib)就可以编译并链接安装了liba52的系统。
内容
安装程序: a52dec 和 extract_a52
安装库: liba52.so
安装目录: /usr/include/a52dec 和 /usr/share/doc/liba52-0.7.4
简短描述
a52dec 播放ATSC A/52音频流。
extract_a52 从MPEG流中提取ATSC A/52音频。
liba52.so 提供了用于处理ATSC A/52流的程序的函数。
42.24 Libao-1.2.0
简介Libao
libao包包含一个跨平台的音频库。这对于在各种平台上输出音频很有用。目前支持WAV文件、OSS(开放声音系统)、ESD(启蒙声音守护进程)、ALSA(高级Linux声音架构)、NAS(网络音频系统)、aRTS(模拟实时合成器)、PulseAudio(下一代GNOME声音架构)。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://downloads.xiph.org/releases/ao/libao-1.2.0.tar.gz
-
下载 MD5 校验和: 9f5dd20d7e95fd0dd72df5353829f097
-
下载大小: 456 KB
-
预计所需磁盘空间: 3.9 MB
-
预计构建时间: 小于 0.1 SBU
Libao依赖
可选
a graphical environment, ALSA-1.2.7, 和 PulseAudio-16.1
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libao
安装Libao
运行以下命令安装libao:
./configure --prefix=/usr &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install &&
install -v -m644 README /usr/share/doc/libao-1.2.0
配置Libao
配置文件
/etc/libao.conf 和 ~/.libao
配置信息
目前,唯一可用的配置选项是设置默认输出设备。请发送man libao.conf获取详细信息。
内容
安装程序: None
安装库: libao.so 以及位于/usr/lib/ao/plugins-4目录下的插件
安装目录: /usr/include/ao, /usr/lib/ao 和 /usr/share/doc/libao-1.2.0
简短描述
libao.so 为希望在支持的平台上输出声音的程序提供函数。
42.25 libass-0.17.0
简介libass
libass是一个便携式字幕渲染器,适用于ASS/SSA (Advanced Substation Alpha/Substation Alpha)字幕格式,它允许比传统SRT和类似格式更高级的字幕。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://github.com/libass/libass/releases/download/0.17.0/libass-0.17.0.tar.xz
-
下载 MD5 校验和: 25f7435779aa28eb7dbd3f76f4d17d15
-
下载大小: 396 KB
-
预计所需磁盘空间: 5.5 MB
-
预计构建时间: 小于 0.1 SBU
libass依赖
必要
FreeType-2.13.0, FriBidi-1.0.12, 和 NASM-2.16.01
推荐
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libass
安装libass
运行以下命令安装libass:
./configure --prefix=/usr --disable-static &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
命令解释
--disable-static: 这个开关阻止安装静态版本的库。
--disable-fontconfig: 如果你没有安装Fontconfig,请使用这个开关。
内容
安装程序: None
安装库: libass.so
安装目录: /usr/include/ass
简短描述
libass.so 提供渲染ASS/SSA字幕格式的功能。
42.26 libcanberra-0.30
简介libcanberra
libcanberra是XDG声音主题和名称规范的实现,用于在免费桌面(如GNOME)上生成事件声音。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://0pointer.de/lennart/projects/libcanberra/libcanberra-0.30.tar.xz
-
下载 MD5 校验和: 34cb7e4430afaf6f447c4ebdb9b42072
-
下载大小: 312 KB
-
预计所需磁盘空间: 7.5 MB
-
预计构建时间: 0.1 SBU
额外下载
libcanberra依赖
必要
推荐
alsa-lib-1.2.8, gstreamer-1.22.0, 和 GTK+-3.24.36
可选
GTK+-2.24.33, PulseAudio-16.1, 和 tdb
推荐声音主题 (运行时)
sound-theme-freedesktop-0.8, 或者另一个主题,例如the gnome-look website
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libcanberra
安装libcanberra
首先,在基于Wayland的桌面环境中,应用补丁来修复导致一些应用程序崩溃的问题:
patch -Np1 -i ../libcanberra-0.30-wayland-1.patch
运行以下命令安装libcanberra:
./configure --prefix=/usr --disable-oss &&
make
这个包没有附带测试套件。
现在,作为root用户:
make docdir=/usr/share/doc/libcanberra-0.30 install
命令解释
--disable-oss: disable可选不支持OSS
--disable-gtk: 关闭可选的GTK+ 2支持
--disable-gtk3: 关闭可选的GTK+ 3支持
内容
安装程序: canberra-boot 和 canberra-gtk-play
安装库: libcanberra-gtk.so, libcanberra-gtk3.so 和 libcanberra.so
安装目录: /usr/lib/libcanberra-0.30, /usr/share/doc/libcanberra-0.30 和 /usr/share/gtk-doc/html/libcanberra
简短描述
canberra-gtk-play 是一个用于播放声音事件的应用程序。
libcanberra-gtk.so 包含GTK+ 2的libcanberra绑定。
libcanberra-gtk3.so 包含GTK+ 3的libcanberra绑定。
libcanberra.so 包含libcanberra API函数。
42.27 libcddb-1.3.2
简介libcddb
libcddb是一个库,它实现了访问CDDB服务器上数据的不同协议(CDDBP、HTTP、SMTP)。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://downloads.sourceforge.net/libcddb/libcddb-1.3.2.tar.bz2
-
下载 MD5 校验和: 8bb4a6f542197e8e9648ae597cd6bc8a
-
下载大小: 384 KB
-
预计所需磁盘空间: 3.9 MB (有测试)
-
预计构建时间: 0.2 SBU (有测试)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libcddb
安装libcddb
默认情况下,这个包访问freedb.org,但它已经关闭了。将默认值改为使用gnudb.gnudb.org,并修复两个过时的测试数据文件:
sed -e '/DEFAULT_SERVER/s/freedb.org/gnudb.gnudb.org/' \
-e '/DEFAULT_PORT/s/888/&0/' \
-i include/cddb/cddb_ni.h &&
sed '/^Genre:/s/Trip-Hop/Electronic/' -i tests/testdata/920ef00b.txt &&
sed '/DISCID/i# Revision: 42' -i tests/testcache/misc/12340000
运行以下命令安装libcddb:
./configure --prefix=/usr --disable-static &&
make
要测试结果,请执行以下命令: make check -k。测试套件需要互联网连接。一个测试由于缺少测试服务器而失败。
现在,作为root用户:
make install
内容
安装程序: cddb_query
安装库: libcddb.so
安装目录: /usr/include/cddb
简短描述
cddb_query 提供到CDDB服务器的用户界面。
42.28 libcdio-2.1.0
简介libcdio
libcdio是一个用于CD- rom和CD图像访问的库。相关的libcdio-cdparanoia库直接从CD-ROM读取音频作为数据,之间没有模拟步骤,并将数据以.wav、.aifc或原始16位线性PCM的形式写入文件或管道。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://ftp.gnu.org/gnu/libcdio/libcdio-2.1.0.tar.bz2
-
下载 (FTP): ftp://ftp.gnu.org/gnu/libcdio/libcdio-2.1.0.tar.bz2
-
下载 MD5 校验和: aa7629e8f73662a762f64c444b901055
-
下载大小: 1.7 MB
-
预计所需磁盘空间: 43 MB (两个包,包括检查)
-
预计构建时间: 0.3 SBU (使用并行数=4;两个包,包括检查)
额外下载
libcdio依赖
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libcdio
安装libcdio
运行以下命令安装libcdio:
./configure --prefix=/usr --disable-static &&
make
要测试结果,请执行以下命令: make check -k。其中一个名为realpath的测试失败了。
现在,作为root用户:
make install
现在安装libcdio-paranoia:
tar -xf ../libcdio-paranoia-10.2+2.0.1.tar.bz2 &&
cd libcdio-paranoia-10.2+2.0.1 &&
./configure --prefix=/usr --disable-static &&
make
要测试结果,请执行以下命令: make check.
现在,作为root用户:
make install
内容
安装程序: cdda-player, cd-drive, cd-info, cd-paranoia, cd-read, iso-info, iso-read, 和 mmc-tool
安装库: libcdio.so, libcdio++.so, libcdio_cdda, libcdio_paranoia, libiso9660, libiso9660++, 和 libudf.so
安装目录: /usr/include/cdio 和 /usr/include/cdio++
简短描述
cd-drive 显示光盘驱动器的特性。
cd-info 显示CD或CD-image的信息。
cd-paranoia 是一个音频CD读取实用程序,包括额外的数据验证功能。
cd-read 从CD或CD-image读取信息。
cdda-player 是一个简单的curses CD播放机。
iso-info 显示ISO 9660图像的信息。
iso-read 读取ISO 9660图像的部分内容。
mmc-tool 发出libcdio多媒体命令。
libcdio.so 包含主要的cdio API函数。
42.29 libdiscid-0.6.2
简介libdiscid
libdiscid包包含一个库,用于从音频cd创建MusicBrainz DiscIDs。它读取CD的目录(TOC)并生成一个标识符,可用于在MusicBrainz (https://musicbrainz.org)上查找CD。此外,它还提供了一个提交URL,用于将DiscID添加到数据库中。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): http://ftp.musicbrainz.org/pub/musicbrainz/libdiscid/libdiscid-0.6.2.tar.gz
-
下载 (FTP): ftp://ftp.musicbrainz.org/pub/musicbrainz/libdiscid/libdiscid-0.6.2.tar.gz
-
下载 MD5 校验和: 2812bb678f5142efdfd0d0f7d6ea87d6
-
下载大小: 396 KB
-
预计所需磁盘空间: 3.1 MB (有测试)
-
预计构建时间: 0.1 SBU (有测试)
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libdiscid
安装libdiscid
运行以下命令安装libdiscid:
./configure --prefix=/usr --disable-static &&
make
要测试结果,请执行以下命令: make check.
现在,作为root用户:
make install
命令解释
--disable-static: 这个开关阻止安装静态版本的库。
内容
安装程序: None
安装库: libdiscid.so
安装目录: /usr/include/discid
简短描述
libdiscid.so 包含了discod API函数。
42.30 libdvdcss-1.4.3
简介libdvdcss
libdvdcss是一个简单的库,用于将dvd作为块设备访问,而无需解密。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://get.videolan.org/libdvdcss/1.4.3/libdvdcss-1.4.3.tar.bz2
-
下载 MD5 校验和: e98239a88af9b2204f9b9d987c2bc71a
-
下载大小: 380 KB
-
预计所需磁盘空间: 3.3 MB
-
预计构建时间: 小于 0.1 SBU
libdvdcss依赖
可选 (创建文档)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libdvdcss
安装libdvdcss
运行以下命令安装libdvdcss:
./configure --prefix=/usr \
--disable-static \
--docdir=/usr/share/doc/libdvdcss-1.4.3 &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
命令解释
--disable-static: 这个开关阻止安装静态版本的库。
内容
安装程序: None
安装库: libdvdcss.so
安装目录: /usr/include/dvdcss 和 /usr/share/doc/libdvdcss-1.4.3
简短描述
libdvdcss.so 提供CSS解密透明DVD访问所需的功能。
42.31 Libdvdread-6.1.3
简介Libdvdread
libdvdread是一个库,它为阅读dvd提供了一个简单的基础。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://get.videolan.org/libdvdread/6.1.3/libdvdread-6.1.3.tar.bz2
-
下载 MD5 校验和: 3c58d1624a71a16ff40f55dbaca82523
-
下载大小: 388 KB
-
预计所需磁盘空间: 3.6 MB
-
预计构建时间: 小于 0.1 SBU
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libdvdread
安装Libdvdread
运行以下命令安装libdvdread:
./configure --prefix=/usr \
--disable-static \
--docdir=/usr/share/doc/libdvdread-6.1.3 &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
命令解释
--disable-static: 这个开关阻止安装静态版本的库。
内容
安装程序: None
安装库: libdvdread.so
安装目录: /usr/include/dvdread 和 /usr/share/doc/libdvdread-6.1.3
简短描述
libdvdread.so 提供访问dvd所需的功能。
42.32 Libdvdnav-6.1.1
简介Libdvdnav
libdvdnav是一个库,允许简单使用复杂的DVD导航功能,如DVD菜单,多角度播放,甚至交互式DVD游戏。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://get.videolan.org/libdvdnav/6.1.1/libdvdnav-6.1.1.tar.bz2
-
下载 MD5 校验和: 46c46cb0294fbd1fcb8a0181818dad15
-
下载大小: 360 KB
-
预计所需磁盘空间: 3.7 MB
-
预计构建时间: 小于 0.1 SBU
Libdvdnav依赖
必要
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libdvdnav
安装Libdvdnav
运行以下命令安装libdvdnav:
./configure --prefix=/usr \
--disable-static \
--docdir=/usr/share/doc/libdvdnav-6.1.1 &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
命令解释
--disable-static: 这个开关阻止安装静态版本的库。
内容
安装程序: None
安装库: libdvdnav.so
安装目录: /usr/include/dvdnav 和 /usr/share/doc/libdvdnav-6.1.1
简短描述
libdvdnav.so 是DVD导航库。
42.33 Libdv-1.0.0
简介Libdv
Quasar DV Codec(libdv)是一种用于DV视频的软件编解码器,是大多数数字摄像机使用的编码格式。它可以使用火线(ieee1394)连接从摄像机中复制视频。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://downloads.sourceforge.net/libdv/libdv-1.0.0.tar.gz
-
下载 MD5 校验和: f895162161cfa4bb4a94c070a7caa6c7
-
下载大小: 574 KB
-
预计所需磁盘空间: 6.0 MB
-
预计构建时间: 0.2 SBU
Libdv依赖
可选
popt-1.19, SDL-1.2.15, 和 a graphical environment
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libdv
安装Libdv
运行以下命令安装libdv:
./configure --prefix=/usr \
--disable-xv \
--disable-static &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install &&
install -v -m755 -d /usr/share/doc/libdv-1.0.0 &&
install -v -m644 README* /usr/share/doc/libdv-1.0.0
命令解释
--disable-xv: 如果没有安装X Window系统,此参数是必需的。它还可以防止对libXv进行configure测试,因为libXv只用于一个废弃的程序playdv,该程序不会使用当前的linux headers构建,并且还需要其他废弃的依赖项。
--disable-static: 这个开关阻止安装静态版本的库。
内容
安装程序: dubdv, dvconnect, 和 encodedv
安装库: libdv.so
安装目录: /usr/include/libdv 和 /usr/share/doc/libdv-1.0.0
简短描述
dubdv 将音频插入数字视频流。
dvconnect 是一个小的实用程序发送或捕获原始数据从或到摄像机。
encodedv 将一系列图像编码成数字视频流。
libdv.so 提供与Quasar DV编解码器交互的程序函数。
42.34 libmad-0.15.1b
简介libmad
libmad是一个高质量的MPEG音频解码器,支持24位输出。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://downloads.sourceforge.net/mad/libmad-0.15.1b.tar.gz
-
下载 MD5 校验和: 1be543bc30c56fb6bea1d7bf6a64e66c
-
下载大小: 491 KB
-
预计所需磁盘空间: 4.2 MB
-
预计构建时间: 0.1 SBU
额外下载
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libmad
安装libmad
运行以下命令安装libmad:
patch -Np1 -i ../libmad-0.15.1b-fixes-1.patch &&
sed "s@AM_CONFIG_HEADER@AC_CONFIG_HEADERS@g" -i configure.ac &&
touch NEWS AUTHORS ChangeLog &&
autoreconf -fi &&
./configure --prefix=/usr --disable-static &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
有些包会检查libmad的pkg-config文件。这个文件特别需要,以便Cdrdao能够识别安装的libmad。
作为root用户:
cat > /usr/lib/pkgconfig/mad.pc << "EOF"
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: mad
Description: MPEG audio decoder
Requires:
Version: 0.15.1b
Libs: -L${libdir} -lmad
Cflags: -I${includedir}
EOF
命令解释
touch NEWS AUTHORS ChangeLog: 防止autoreconf返回错误。
--disable-static: 这个开关阻止安装静态版本的库。
内容
安装程序: None
安装库: libmad.so
安装目录: None
简短描述
libmad.so 是一个MPEG音频解码器库。
42.35 libmpeg2-0.5.1
简介libmpeg2
libmpeg2包包含一个用于解码MPEG-2和MPEG-1视频流的库。这个库能够解码所有符合特定限制的MPEG流:对MPEG-1来说是“受限参数”,对MPEG-2来说是“主配置文件”。这对于需要解码MPEG-2和MPEG-1视频流的程序和应用程序非常有用。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://libmpeg2.sourceforge.net/files/libmpeg2-0.5.1.tar.gz
-
下载 (FTP): ftp://ftp.mirrorservice.org/sites/distfiles.gentoo.org/distfiles/libmpeg2-0.5.1.tar.gz
-
下载 MD5 校验和: 0f92c7454e58379b4a5a378485bbd8ef
-
下载大小: 513 KB
-
预计所需磁盘空间: 6 MB
-
预计构建时间: 0.1 SBU
libmpeg2依赖
可选
a graphical environment 和 SDL-1.2.15
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libmpeg2
安装libmpeg2
运行以下命令安装libmpeg2:
sed -i 's/static const/static/' libmpeg2/idct_mmx.c &&
./configure --prefix=/usr \
--enable-shared \
--disable-static &&
make
要测试结果,请执行以下命令: make check。要执行更全面的回归测试,请参阅源代码树中的test/README文件。
现在,作为root用户:
make install &&
install -v -m755 -d /usr/share/doc/libmpeg2-0.5.1 &&
install -v -m644 README doc/libmpeg2.txt \
/usr/share/doc/libmpeg2-0.5.1
命令解释
sed -i …: 这个sed修复了最近GCC编译器的问题。
--disable-static: 这个开关阻止安装静态版本的库。
内容
安装程序: corrupt_mpeg2, extract_mpeg2 和 mpeg2dec
安装库: libmpeg2.so 和 libmpeg2convert.so
安装目录: /usr/include/mpeg2dec 和 /usr/share/doc/libmpeg2-0.5.1
简短描述
extract_mpeg2 从多路复用流中提取MPEG视频流。
mpeg2dec 解码MPEG1和MPEG2视频流。
libmpeg2.so 包含用于解码MPEG视频流的API函数。
libmpeg2convert.so 包含用于MPEG视频流颜色转换的API函数。
42.36 libmusicbrainz-2.1.5
简介libmusicbrainz
libmusicbrainz包包含一个库,它允许您访问MusicBrainz服务器上保存的数据。这对于向其他应用程序添加MusicBrainz查找功能很有用。
MusicBrainz是一个社区音乐元数据库,试图创建一个全面的音乐信息网站。您可以通过浏览网站来使用MusicBrainz数据,也可以通过客户端程序访问数据——例如,CD播放机程序可以使用MusicBrainz识别CD,并提供有关CD、艺术家或其他相关信息。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): http://ftp.musicbrainz.org/pub/musicbrainz/historical/libmusicbrainz-2.1.5.tar.gz
-
下载 (FTP): ftp://ftp.musicbrainz.org/pub/musicbrainz/historical/libmusicbrainz-2.1.5.tar.gz
-
下载 MD5 校验和: d5e19bb77edd6ea798ce206bd05ccc5f
-
下载大小: 524 KB
-
预计所需磁盘空间: 12 MB
-
预计构建时间: 0.4 SBU
额外下载
- 必要补丁: https://www.linuxfromscratch.org/patches/blfs/11.3/libmusicbrainz-2.1.5-missing-includes-1.patch
libmusicbrainz依赖
可选构建Python绑定
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libmusicbrainz
安装libmusicbrainz
运行以下命令安装libmusicbrainz:
patch -Np1 -i ../libmusicbrainz-2.1.5-missing-includes-1.patch &&
CXXFLAGS="${CXXFLAGS:--O2 -g} -std=c++98" \
./configure --prefix=/usr --disable-static &&
make
如果安装了Python,使用以下命令构建绑定:
(cd python && python2 setup.py build)
这个包没有附带独立的测试套件(要测试,必须安装Python,并在安装包后执行测试)。
现在,作为root用户:
make install &&
install -v -m644 -D docs/mb_howto.txt \
/usr/share/doc/libmusicbrainz-2.1.5/mb_howto.txt
要测试Python绑定,请执行以下命令: (cd python && python2 setup.py test).
如果你构建了Python绑定,请以root用户身份执行以下命令来安装它们:
(cd python && python2 setup.py install)
命令解释
--disable-static: 这个开关阻止安装静态版本的库。
内容
安装程序: None
安装库: libmusicbrainz.so
安装目录: /usr/include/musicbrainz 和 /usr/share/doc/libmusicbrainz-2.1.5
简短描述
libmusicbrainz.so 包含访问MusicBrainz数据库的API函数,既用于查找数据,也用于提交新数据。
42.37 libmusicbrainz-5.1.0
简介libmusicbrainz
libmusicbrainz包包含一个库,它允许您访问MusicBrainz服务器上保存的数据。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 MD5 校验和: 4cc5556aa40ff7ab8f8cb83965535bc3
-
下载大小: 76 KB
-
预计所需磁盘空间: 6.6 MB (额外的4.4 MB用于API文档)
-
预计构建时间: 0.1 SBU
额外下载
libmusicbrainz依赖
必要
CMake-3.25.2, libxml2-2.10.3 和 neon-0.32.5
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libmusicbrainz5
安装libmusicbrainz
首先,修复一个由CMake-3.18.0引起的问题:
patch -Np1 -i ../libmusicbrainz-5.1.0-cmake_fixes-1.patch
运行以下命令安装libmusicbrainz:
mkdir build &&
cd build &&
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release .. &&
make
If you have installed Doxygen-1.9.6, optionally build the API documentation:
doxygen ../Doxyfile
这个包没有附带测试套件。
现在,作为root用户:
make install
如果你已经构建了API文档,以root用户的身份安装:
rm -rf /usr/share/doc/libmusicbrainz-5.1.0 &&
cp -vr docs/ /usr/share/doc/libmusicbrainz-5.1.0
内容
安装程序: None
安装库: libmusicbrainz5.so
安装目录: /usr/include/libmusicbrainz5 和 /usr/share/doc/libmusicbrainz-5.1.0
简短描述
libmusicbrainz5.so 包含用于访问MusicBrainz数据库的API函数。
42.38 libogg-1.3.5
简介libogg
libogg包包含Ogg文件结构。这对于创建(编码)或播放(解码)单个物理比特流很有用。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://downloads.xiph.org/releases/ogg/libogg-1.3.5.tar.xz
-
下载 MD5 校验和: 3178c98341559657a15b185bf5d700a5
-
下载大小: 420 KB
-
预计所需磁盘空间: 3.5 MB (有测试)
-
预计构建时间: 小于 0.1 SBU (有测试)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libogg
安装libogg
运行以下命令安装libogg:
./configure --prefix=/usr \
--disable-static \
--docdir=/usr/share/doc/libogg-1.3.5 &&
make
要测试结果,请执行以下命令: make check.
现在,作为root用户:
make install
命令解释
--disable-static: 这个开关阻止安装静态版本的库。
内容
安装程序: None
安装库: libogg.so
安装目录: /usr/include/ogg 和 /usr/share/doc/libogg-1.3.5
简短描述
libogg.so 提供程序读写Ogg格式的位流所需的函数。
42.39 libquicktime-1.2.4
简介libquicktime
libquicktime包包含了libquicktime库、各种插件和编解码器,以及用于编码和解码QuickTime文件的图形和命令行实用程序。这对于读取和写入QuickTime格式的文件很有用。项目的目标是增强与quicktime4 Linux库的兼容性。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://downloads.sourceforge.net/libquicktime/libquicktime-1.2.4.tar.gz
-
下载 MD5 校验和: 81cfcebad9b7ee7e7cfbefc861d6d61b
-
下载大小: 1.0 MB
-
预计所需磁盘空间: 20 MB
-
预计构建时间: 0.7 SBU (includes building all codec modules)
libquicktime依赖
可选
alsa-lib-1.2.8, Doxygen-1.9.6, FAAC-1_30, FAAD2-2.10.1, GTK+-2.24.33, LAME-3.100, libdv-1.0.0, libjpeg-turbo-2.1.5.1, libpng-1.6.39, libvorbis-1.3.7, x264-20230215, Xorg Libraries, 和 Schroedinger
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libquicktime
安装libquicktime
运行以下命令安装libquicktime:
./configure --prefix=/usr \
--enable-gpl \
--without-doxygen \
--without-ffmpeg \
--docdir=/usr/share/doc/libquicktime-1.2.4
make
这个包没有附带测试套件。
现在,作为root用户:
make install &&
install -v -m755 -d /usr/share/doc/libquicktime-1.2.4 &&
install -v -m644 README doc/{*.txt,*.html,mainpage.incl} \
/usr/share/doc/libquicktime-1.2.4
命令解释
--enable-gpl: 将许可证更改为GPL。这启用了一些额外的插件,如FAAC、FAAD2和x264。
--without-doxygen: 如果没有安装Doxygen,这是必要的;如果安装了Doxygen,并且希望安装API文档,则忽略此操作。
--without-ffmpeg: 该开关禁用ffmpeg支持,因为它与ffmpeg-5不兼容。
--with-libdv: 使用libdv支持进行构建。默认不启用。
内容
安装程序: libquicktime_config, lqtplay, lqtremux, lqt_transcode, qt2text, qtdechunk, qtdump, qtinfo, qtrechunk, qtstreamize, 和 qtyuv4toyuv
安装库: libquicktime.so 以及几个插件编解码器库
安装目录: /usr/include/lqt, /usr/lib/libquicktime, 和 /usr/share/doc/libquicktime-1.2.4
简短描述
libquicktime_config 是一个图形化前端,用于检查和配置可用的libquicktime音频和视频编解码器。
lqtplay 是一个简单的QuickTime电影播放器的X窗口系统。
lqt_transcode 是一个命令行程序,用于将视频和/或音频文件从一种格式编码为另一种格式。
qt2text 用于从quicktime文件中转储所有文本字符串。
qtdechunk 可以拍摄包含RGB帧的电影,并将其写成PPM图像。
qtdump 显示所提供文件的解析内容。
qtinfo 打印libquicktime库对提供的文件解析的各种元数据片段。
qtrechunk 连接输入帧到QuickTime电影。
qtstreamize 通过将moov头放在文件的开头来使文件可流化。
qtyuv4toyuv 用于将YUV4编码的电影写成一个平面的YUV 4:2:0文件。
libquicktime.so 是一个用于读写QuickTime文件的库。它提供了对各种支持的编解码器的QuickTime文件的方便访问。该库包含与所有原始QuickTime 4 Linux库函数集成的新函数,用于编码和解码QuickTime文件。
42.40 libsamplerate-0.2.2
简介libsamplerate
libsamplerate是一个音频采样率转换器。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://github.com/libsndfile/libsamplerate/releases/download/0.2.2/libsamplerate-0.2.2.tar.xz
-
下载 MD5 校验和: 97c010fc25156c33cddc272c1935afab
-
下载大小: 3.2 MB
-
预计所需磁盘空间: 15 MB (增加2 MB用于测试)
-
预计构建时间: 小于 0.1 SBU (增加0.3 SBU用于测试)
libsamplerate依赖
可选
alsa-lib-1.2.8, libsndfile-1.2.0, 和 fftw-3.3.10 (for tests)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libsamplerate
安装libsamplerate
运行以下命令安装libsamplerate:
./configure --prefix=/usr \
--disable-static \
--docdir=/usr/share/doc/libsamplerate-0.2.2 &&
make
要测试结果,请执行以下命令: make check.
现在,作为root用户:
make install
命令解释
--disable-static: 这个开关阻止安装静态版本的库。
内容
安装程序: None
安装库: libsamplerate.so
安装目录: /usr/share/doc/libsamplerate-0.2.2
42.41 libsndfile-1.2.0
简介libsndfile
Libsndfile是一个C例程库,用于读写包含采样音频数据的文件。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://github.com/libsndfile/libsndfile/releases/download/1.2.0/libsndfile-1.2.0.tar.xz
-
下载 MD5 校验和: 00fbf50ce1d7a67a8e6dc0a04f4d8d2e
-
下载大小: 716 KB
-
预计所需磁盘空间: 12 MB (增加10 MB用于测试)
-
预计构建时间: 0.3 SBU (增加0.2 SBU用于测试)
libsndfile依赖
推荐
FLAC-1.4.2, Opus-1.3.1, 和 libvorbis-1.3.7
可选
alsa-lib-1.2.8, LAME-3.100, mpg123-1.31.2, Speex-1.2.1, 和 SQLite-3.40.1
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libsndfile
安装libsndfile
运行以下命令安装libsndfile:
./configure --prefix=/usr \
--docdir=/usr/share/doc/libsndfile-1.2.0 &&
make
要测试结果,请执行以下命令: make check.
现在,作为root用户:
make install
内容
安装程序: sndfile-cmp, sndfile-concat, sndfile-convert, sndfile-deinterleave, sndfile-info, sndfile-interleave, sndfile-metadata-get, sndfile-metadata-set, sndfile-play, 和 sndfile-salvage
安装库: libsndfile.so
安装目录: /usr/share/doc/libsndfile-1.2.0
简短描述
sndfile-cmp 比较两个音频文件。
sndfile-concat 连接两个或更多的音频文件。
sndfile-convert 将声音文件从一种格式转换为另一种格式。
sndfile-deinterleave 将多通道拆分为多个单通道文件。
sndfile-info 显示声音文件的信息。
sndfile-interleave 将多个单通道文件转换为多通道文件。
sndfile-metadata-get 从声音文件中检索元数据。
sndfile-metadata-set 设置声音文件中的元数据。
sndfile-play 播放声音文件。
sndfile-salvage 从超过4G长度的WAV文件中抢救音频数据。
libsndfile.so 包含libsndfile的API函数。
42.42 libtheora-1.1.1
简介libtheora
libtheora是Xiph.Org基金会正在开发的Theora视频压缩格式的参考实现。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.xz
-
下载 MD5 校验和: 9eeabf1ad65b7f41533854a59f7a716d
-
下载大小: 1.4 MB
-
预计所需磁盘空间: 13.4 MB (无需静态库或API文档,也无需安装示例)
-
预计构建时间: 0.2 SBU
libtheora依赖
必要
推荐
可选
SDL-1.2.15 和 libpng-1.6.39 (都是为了构建players的例子), Doxygen-1.9.6, texlive-20220321 (或 install-tl-unx), BibTex, 和 Transfig (这四个都用来构建API文档), 和 Valgrind-3.20.0
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/Libtheora
安装libtheora
运行以下命令安装libtheora:
sed -i 's/png_\(sizeof\)/\1/g' examples/png2theora.c &&
./configure --prefix=/usr --disable-static &&
make
如果你想运行测试,请执行: make check.
现在,作为root用户:
make install
如果你想安装示例(这样你就可以使用theora),请以root用户安装:
cd examples/.libs &&
for E in *; do
install -v -m755 $E /usr/bin/theora_${E}
done
命令解释
sed -i ‘s/png_(sizeof)/\1/g’ examples/png2theora.c: 这个sed修复了libpng 1.6的构建。
--disable-static: 这个开关阻止安装静态版本的库。
内容
安装程序: None, 除非你安装了示例
安装库: libtheora.so, libtheoraenc.so, 和 libtheoradec.so
安装目录: /usr/include/theora 和 /usr/share/doc/libtheora-1.1.1
简短描述
libtheora*.so 包含了读写视频文件的函数。
42.43 libvorbis-1.3.7
简介libvorbis
libvorbis包包含一个通用的音频和音乐编码格式。这对于以开放(无专利)格式创建(编码)和播放(解码)声音非常有用。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://downloads.xiph.org/releases/vorbis/libvorbis-1.3.7.tar.xz
-
下载 MD5 校验和: 50902641d358135f06a8392e61c9ac77
-
下载大小: 1.1 MB
-
预计所需磁盘空间: 15 MB
-
预计构建时间: 0.1 SBU
libvorbis依赖
必要
可选
Doxygen-1.9.6 和 texlive-20220321 (或 install-tl-unx) (specifically, pdflatex 和 htlatex) 来构建PDF文档
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/Libvorbis
安装libvorbis
运行以下命令安装libvorbis:
./configure --prefix=/usr --disable-static &&
make
要测试结果,请执行以下命令: make -j1 check.
现在,作为root用户:
make install &&
install -v -m644 doc/Vorbis* /usr/share/doc/libvorbis-1.3.7
命令解释
--disable-static: 这个开关阻止安装静态版本的库。
--enable-docs: 这个选项允许以html之外的格式构建文档。
内容
安装程序: None
安装库: libvorbis.so, libvorbisenc.so 和 libvorbisfile.so
安装目录: /usr/include/vorbis 和 /usr/share/doc/libvorbis-1.3.7
简短描述
libvorbis.so 提供用于读取和写入声音文件的函数。
42.44 libvpx-1.13.0
简介libvpx
该包来自WebM项目,提供了当前大多数html5视频中使用的VP8编解码器和下一代VP9编解码器的参考实现。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://github.com/webmproject/libvpx/archive/v1.13.0/libvpx-1.13.0.tar.gz
-
下载 MD5 校验和: d5fd45a806a65a57d6635f9e7a98a1b2
-
下载大小: 5.2 MB
-
预计所需磁盘空间: 63 MB (增加1.5 GB用于测试)
-
预计构建时间: 0.5 SBU (使用并行数=4;为使用并行数=4(包括下载时间)的测试添加大约15个SBU)
libvpx依赖
推荐
yasm-1.3.0 或 NASM-2.16.01, 和 Which-2.21 (所以configure可以找到yasm)
可选
cURL-7.88.1 (下载测试文件) 和 Doxygen-1.9.6 (构建文档)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libvpx
安装libvpx
运行以下命令安装libvpx:
sed -i 's/cp -p/cp/' build/make/Makefile &&
mkdir libvpx-build &&
cd libvpx-build &&
../configure --prefix=/usr \
--enable-shared \
--disable-static &&
make
要测试结果,请执行以下命令: LD_LIBRARY_PATH=. make test。作为测试过程的一部分,测试套件下载了许多文件。其中一些部分将使用所有可用的内核。
现在,作为root用户:
make install
命令解释
sed … : 此命令纠正已安装文件的所有权和权限。
mkdir libvpx-build && cd libvpx-build: libvpx开发人员建议在专用的构建目录中构建。
--disable-static: 这个开关阻止安装静态版本的库。
--disable-vp8: 这个开关阻止了VP8编解码器支持的构建。
--disable-vp9: 这个开关阻止了VP9编解码器支持的构建。
--target=generic-gnu: 此开关禁用针对x86和x86-64的优化,允许在不安装nasm和yasm的情况下构建此包。
LD_LIBRARY_PATH=.: 这是测试套件使用刚刚构建的库所必需的。
内容
安装程序: vpxdec 和 vpxenc
安装库: libvpx.so
安装目录: /usr/include/vpx
简短描述
vpxdec 是WebM项目VP8和VP9的解码器。
vpxenc 是WebM项目VP8和VP9编码器。
libvpx.so 提供VP8和VP9视频编解码器的使用功能。
42.45 MLT-7.12.0
简介MLT
MLT包是媒体爱好者的工具包。它是一个开源的多媒体框架,是为电视广播而设计和开发的。它为广播、视频编辑、媒体播放器、转码器、网络流媒体和更多类型的应用程序提供了工具包。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://github.com/mltframework/mlt/releases/download/v7.12.0/mlt-7.12.0.tar.gz
-
下载 MD5 校验和: 63e863f7653c098ece96ac8f6785fd38
-
下载大小: 1.4 MB
-
预计所需磁盘空间: 26 MB
-
预计构建时间: 0.4 SBU
MLT依赖
必要
frei0r-plugins-1.8.0 和 Qt-5.15.8
可选
Doxygen-1.9.6, fftw-3.3.10, libexif-0.6.24, SDL-1.2.15, SDL2-2.26.3, JACK, MOVEit, SoX, 和 vid.stab
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/mlt
安装MLT
运行以下命令安装MLT:
mkdir build &&
cd build &&
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-Wno-dev .. &&
make
这个包没有附带测试套件。然而,一个测试的.mp4文件可以在本地图形环境中使用 **./src/melt/melt
注意
此应用程序使用高级图形功能。在某些情况下,可能需要特定图形适配器的固件。有关更多信息,请参阅the section called “Firmware for Video Cards”。
现在,作为root用户:
make install
内容
安装程序: melt-7 和 melt (符号链接到melt-7)
安装库: libmlt-7.so, libmlt++-7.so, 还有超过20个插件
安装目录: /usr/include/mlt-7, /usr/lib/mlt-7, /usr/lib/cmake/Mlt7, 和 /usr/share/mlt-7
简短描述
melt 是MLT的测试工具。
42.46 Opus-1.3.1
简介Opus
Opus是互联网工程任务组(IETF)开发的一种有损音频压缩格式,特别适合在互联网上进行交互式语音和音频传输。这个包提供了Opus开发库和头文件。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
-
下载 MD5 校验和: d7c07db796d21c9cf1861e0c2b0c0617
-
下载大小: 1.0 MB
-
预计所需磁盘空间: 26 MB (有测试)
-
预计构建时间: 0.8 SBU (有测试)
可选
Doxygen-1.9.6 和 texlive-20220321 (或 install-tl-unx)
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/Opus
安装Opus
运行以下命令安装Opus:
./configure --prefix=/usr \
--disable-static \
--docdir=/usr/share/doc/opus-1.3.1 &&
make
要测试结果,请执行以下命令: make check.
现在,作为root用户:
make install
命令解释
--disable-static: 这个开关阻止安装静态版本的库。
内容
安装程序: None
安装库: libopus.so
安装目录: /usr/include/opus 和 /usr/share/doc/opus-1.3.1
简短描述
libopus.so 提供用于读取和写入Opus格式的函数。
42.47 Pipewire-0.3.66
简介Pipewire
pipewire包包含服务器和用户空间API,用于处理多媒体管道。这包括连接多媒体设备的通用API,以及在应用程序之间共享多媒体文件。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://github.com/PipeWire/pipewire/archive/0.3.66/pipewire-0.3.66.tar.gz
-
下载 MD5 校验和: 8a85d990c159409578b456f8c8dcf075
-
下载大小: 1.9 MB
-
预计所需磁盘空间: 62 MB (有测试)
-
预计构建时间: 0.5 SBU (有测试, 同时使用并行数=4)
Pipewire依赖
推荐
BlueZ-5.66, gstreamer-1.22.0, gst-plugins-base-1.22.0, PulseAudio-16.1, SBC-2.0, 和 v4l-utils-1.22.1
可选
alsa-lib-1.2.8, Avahi-0.8, BlueZ-5.66, fdk-aac-2.0.2, FFmpeg-5.1.2, libcanberra-0.30, libdrm-2.4.115 (以libcamera支持为例), libxcb-1.15, libsndfile-1.2.0, libusb-1.0.26, Opus-1.3.1, SDL2-2.26.3 (用于一些例子), Valgrind-3.20.0, Xorg Libraries, Doxygen-1.9.6 和 Graphviz-7.1.0 (用于文档), JACK, ldacBT, libcamera, Vulkan, WirePlumber (运行时,用于运行管道守护进程), 和 xmltoman
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/pipewire
安装Pipewire
运行以下命令安装pipewire:
mkdir build &&
cd build &&
meson --prefix=/usr --buildtype=release -Dsession-managers= .. &&
ninja
要测试结果,请执行ninja test。其中一个名为test-support的测试失败了。
现在,作为root用户:
ninja install
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
-Dsession-managers=: 此开关防止自动下载外部依赖项。
-Ddocs=true: 这个开关用于生成HTML文档。为此,需要安装documentation的可选依赖项。
-Dman=true: 该开关允许生成手册页。为此,需要安装documentation的可选依赖项。
-Dffmpeg=enabled: 这个开关可以使用ffmpeg作为SPA后端进行音频转换。
内容
安装程序: pipewire, pipewire-avb, pipewire-pulse, pw-cat, pw-cli, pw-dot, pw-dump, pw-jack, pw-link, pw-loopback, pw-metadata, pw-mididump, pw-mon, pw-profiler, pw-reserve, pw-top, pw-v4l2, spa-acp-tool, spa-inspect, spa-json-dump, spa-monitor, spa-resample, and pw-dsdplay, pw-midiplay, pw-midirecord, pw-play, 和 pw-record (符号链接到pw-cat)
安装库: libpipewire-0.3.so 在 /usr/lib/pipewire-0.3 下面有56个模块 和 /usr/lib/spa-0.2
安装目录: /usr/include/pipewire-0.3, /usr/include/spa-0.2, /usr/lib/alsa-lib, /usr/lib/pipewire-0.3, /usr/lib/spa-0.2, /usr/share/alsa-card-profile, /usr/share/pipewire, 和 /usr/share/spa-0.2
简短描述
pipewire 是一种允许访问多媒体设备并允许在应用程序之间共享多媒体文件的服务。
pipewire-media-session 是一种服务,允许桌面环境知道什么时候媒体文件正在通过管道进行播放。
pipewire-pulse 启动pipewire服务的Pulseaudio兼容版本。
pw-cat 允许您使用pipewire实例播放或录制媒体。
pw-cli 允许你与pipewire实例交互。
pw-dot 列出pipewire正在使用的所有守护进程和对象。
pw-dump 将调试消息从本地或远程pipewire实例转储到控制台。
pw-jack 在pipewire实例上运行JACK应用程序。
pw-link 将管道端口连接在一起。
pw-loopback 初始化两个不同管道端口之间的环回链路。这对测试和调试很有用。
pw-metadata 检查、添加和删除对象的元数据。
pw-mididump 将MIDI消息从文件转储到屏幕。
pw-mon 允许您监视pipewire实例。
pw-profiler 跟踪内存使用情况和pipewire使用的API调用。
pw-reserve 通过D-Bus预留或监控设备。
pw-top 显示来自pipeline的实时性能信息。
pw-v4l2 在pipewire实例上运行v4l2应用程序。
spa-acp-tool 检查给定声卡的声卡配置文件。
spa-inspect 允许您检查pipewire插件。
spa-json-dump 以JSON格式转储当前管道配置。
spa-monitor 允许您监视管道插件。
spa-resample 对给定文件进行重采样。
libpipewire-0.3.so 包含处理多媒体管道的API函数。
42.48 PulseAudio-16.1
简介PulseAudio
PulseAudio是POSIX操作系统的声音系统,这意味着它是声音应用程序的代理。当声音数据在应用程序和硬件之间传递时,它允许您对声音数据进行高级操作。使用声音服务器可以轻松地将音频传输到不同的机器,更改样本格式或通道数量,以及将几种声音混合成一种声音。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://www.freedesktop.org/software/pulseaudio/releases/pulseaudio-16.1.tar.xz
-
下载 MD5 校验和: 2c7b8ceb5d7337565c7314b4d6087ca8
-
下载大小: 1.5 MB
-
预计所需磁盘空间: 42 MB (有测试)
-
预计构建时间: 0.2 SBU (使用并行数=4; 增加0.2 SBU用于测试)
PulseAudio依赖
必要
推荐
alsa-lib-1.2.8, dbus-1.14.6, GLib-2.74.5, Speex-1.2.1 和 Xorg Libraries
可选
Avahi-0.8 BlueZ-5.66, Doxygen-1.9.6 (用于documentation), fftw-3.3.10, GTK+-3.24.36, libsamplerate-0.2.2, SBC-2.0 (Bluetooth support), Valgrind-3.20.0, JACK, libasyncns, LIRC, ORC, soxr, TDB, 和 WebRTC AudioProcessing
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/pulseaudio
安装PulseAudio
运行以下命令安装PulseAudio:
mkdir build &&
cd build &&
meson --prefix=/usr \
--buildtype=release \
-Ddatabase=gdbm \
-Ddoxygen=false \
-Dbluez5=disabled &&
ninja
要测试结果,请执行以下命令: ninja test。如果不是以root用户身份运行某个测试,则测试会失败,但可以忽略这一点。
现在,作为root用户:
ninja install
可以将PulseAudio作为系统范围的守护进程运行,但不推荐。查看 https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/ 获取更多信息。在仍然以root用户的情况下,删除系统范围内守护进程的D-Bus配置文件,以避免创建不必要的系统用户和组:
rm -fv /etc/dbus-1/system.d/pulseaudio-system.conf
命令解释
--buildtype=release: 指定一个适合于稳定版本的构建类型,因为默认情况下可能会生成未优化的二进制文件。
-Dbluez5=disabled: 如果dbus-1.14.6 和 SBC-2.0都安装了,但BlueZ-5.66没有安装,则此开关可以防止运行时错误。如果你已经安装了这三个包,请删除它。
-Ddoxygen=false: 如果没有安装Doxygen-1.9.6,则该包可以编译。如果您已经安装了它并希望构建文档,请删除它。
配置 PulseAudio
配置文件
系统范围内的配置文件有:/etc/pulse/daemon.conf, /etc/pulse/client.conf, /etc/pulse/default.pa,。和~/.config/pulse中同名的用户配置文件。用户配置文件优先于系统范围的配置文件。
配置信息
您可能需要配置音频系统。你可以使用pulseaudio -C命令行模式启动pulseaudio,然后列出各种信息并更改设置。参见man pulse-cli-syntax。
如果pulseaudio工作,但您不再有声音,检查硬件问题(扬声器或耳机未连接,外部放大器未连接)后,您可能需要解决它。
一个建议是关闭应用程序,例如在firefox中,声音已经停止工作,然后运行:pactl list short sinks,然后运行:pacmd set-default-sink <sink #>,然后重新启动应用程序。
如果这不起作用,更激进的方法通常会奏效。关闭应用程序后,关闭pulseaudio,可以使用pulseaudio –kill,如果失败,可以使用killall -KILL pulseaudio,然后rm -rf ~/.config/pulse/*(也可能是rm -rf ~/.pulse/*如果你在这台机器上使用了非常旧的Pulse版本),然后运行pulseaudio –verbose重新启动它。如果守护进程启动,则重新启动应用程序。更多选项请参见man pulseaudio。
内容
安装程序: pacat, pacmd, pactl, padsp, pamon (符号链接到pacat), paplay (符号链接到pacat), parec (符号链接到pacat), parecord (符号链接到pacat), qpaeq, pasuspender, pax11publish, pulseaudio, 和 start-pulseaudio-x11
安装库: libpulse.so, libpulse-mainloop-glib.so, libpulse-simple.so, libpulsecommon-16.1.so, libpulsecore-16.1.so, 和 libpulsedsp.so
安装目录: /etc/pulse, /usr/include/pulse, /usr/lib/cmake/PulseAudio, /usr/lib/{pulseaudio,pulse-16.1}, /usr/libexec/pulse, 和 /usr/share/pulseaudio
简短描述
pacat 在PulseAudio音频服务器上播放或记录原始或编码的音频流。
pacmd 是一个用于在运行时重新配置PulseAudio声音服务器的工具。
pactl 用于控制运行中的PulseAudio声音服务器。
padsp 是PulseAudio OSS的包装器。
pamon 是指向pacat的符号链接。
paplay 用于在PulseAudio声音服务器上播放音频文件。
parec 符号链接到 pacat.
parecord 符号链接到 pacat.
pasuspender 是一个工具,可以用来告诉本地PulseAudio声音服务器暂时暂停对音频设备的访问,以允许其他应用程序直接访问它们。
pax11publish 是PulseAudio X11凭据实用程序。
pa-info 是一个shell脚本,打印与当前使用的Pulseaudio服务器相关的各种信息。
pulseaudio 是一个网络低延迟的Linux声音服务器。
qpaeq 是脉冲音频均衡器水槽的均衡器接口(在构建时需要fftw-3.3.10)。
start-pulseaudio-x11 启动PulseAudio并将其注册到X11会话管理器。
42.49 SBC-2.0
简介SBC
SBC是一个数字音频编码器和解码器,用于将数据传输到蓝牙音频输出设备,如耳机或扬声器。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://www.kernel.org/pub/linux/bluetooth/sbc-2.0.tar.xz
-
下载 MD5 校验和: 5613357181daeffd71e971c6f8470f8d
-
下载大小: 268 KB
-
预计所需磁盘空间: 2.8 MB
-
预计构建时间: 小于 0.1 SBU
SBC依赖
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/sbc
安装SBC
运行以下命令安装SBC:
./configure --prefix=/usr --disable-static --disable-tester &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
命令解释
--disable-tester: 这会禁用SBC测试器。如果已经安装,请卸载 libsndfile-1.2.0.
--disable-static: 这个开关阻止安装静态版本的库。
内容
安装程序: sbcdec, sbcenc, 和 sbcinfo
安装库: libsbc.so
安装目录: /usr/include/sbc
简短描述
sbcdec 是一个SBC解码器实用程序。
sbcenc 是一个SBC编码器实用程序。
sbcinfo 是一个子带编解码器(SBC)分析器。
libsbc.so 包含SBC API函数。
42.50 SDL-1.2.15
简介SDL
Simple DirectMedia层(简称SDL)是一个跨平台的库,旨在使编写多媒体软件(如游戏和模拟器)变得容易。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 MD5 校验和: 9d96df8417572a2afb781a7c4c811a85
-
下载大小: 3.8 MB
-
预计所需磁盘空间: 40 MB
-
预计构建时间: 0.6 SBU
SDL依赖
推荐
Xorg Libraries (如果它们不存在,则不会构建相应的模块)
可选
AAlib-1.4rc5, ALSA-1.2.7, GLU-9.0.2, NASM-2.16.01, PulseAudio-16.1, Pth-2.0.7, a graphical environment, DirectFB, GGI, libcaca, PicoGUI, 和 SVGAlib
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/sdl
安装SDL
运行以下命令安装SDL:
sed -e '/_XData32/s:register long:register _Xconst long:' \
-i src/video/x11/SDL_x11sym.h &&
./configure --prefix=/usr --disable-static &&
make
现在,作为root用户:
make install &&
install -v -m755 -d /usr/share/doc/SDL-1.2.15/html &&
install -v -m644 docs/html/*.html \
/usr/share/doc/SDL-1.2.15/html
测试SDL
如果您愿意,可以使用所包含的测试程序测试SDL的安装。不需要安装任何结果二进制文件来验证安装。执行下面的命令来构建测试程序:
cd test &&
./configure &&
make
你需要手动运行所有的测试程序(它们列在这个目录中的README文件中)。他们中的许多人将需要手动杀死,你将需要把扬声器的音量调到合适的水平。
命令解释
sed -e …: 该命令修复了libX11-1.6.0及更高版本的编译。
--disable-static: 这个开关阻止安装静态版本的库。
--disable-alsa-shared: 该开关禁用动态加载ALSA共享库。
--disable-sdl-dlopen: 这个开关禁止使用dlopen来加载共享对象。动态加载像libpng这样的图像后端库不起作用。
--disable-x11-shared: 该开关禁用动态加载X11共享库。
配置SDL
配置信息
与大多数库一样,无需进行配置,只需保存库目录,即/opt/lib 或 /usr/local/lib应该出现在/etc/ld.so.conf中,以便ldd可以找到共享库。在检查过这种情况后,/sbin/ldconfig应该在以root身份登录时运行。
内容
安装程序: sdl-config
安装库: libSDL.so 和 libSDLmain.a
安装目录: /usr/include/SDL 和 /usr/share/doc/SDL-1.2.15
简短描述
sdl-config 确定应该用于编译和链接使用libSDL的程序的编译和链接标志。
libSDL.so 包含在多个平台上提供对音频、键盘、鼠标、操纵杆、OpenGL 3D硬件和2D帧缓冲区的低级访问的功能。
42.51 SDL2-2.26.3
简介SDL2
Simple DirectMedia Layer Version 2(简称SDL2)是一个跨平台库,旨在使编写多媒体软件(如游戏和模拟器)变得容易。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://www.libsdl.org/release/SDL2-2.26.3.tar.gz
-
下载 MD5 校验和: 6ff7cbe9f77fc5afa79d54895dc6becc
-
下载大小: 7.7 MB
-
预计所需磁盘空间: 186 MB (有文档)
-
预计构建时间: 0.5 SBU (使用并行数=4; 有文档)
SDL2依赖
推荐
libxkbcommon-1.5.0, wayland-protocols-1.31, 和 Xorg Libraries (如果不存在,则不构建相应的模块)
可选
ALSA-1.2.7, Doxygen-1.9.6 (创建文档), ibus-1.5.27, NASM-2.16.01, PulseAudio-16.1, libsamplerate-0.2.2, a graphical environment, DirectFB, fcitx, 和 jack
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/sdl
安装SDL2
运行以下命令安装SDL2:
./configure --prefix=/usr &&
make
如果你已经安装了Doxygen-1.9.6并希望构建html文档,运行以下命令:
pushd docs &&
doxygen &&
popd
注意
如果您希望构建并运行包回归测试,请在构建测试之前不要删除下面的静态库。
现在,作为root用户:
make install &&
rm -v /usr/lib/libSDL2*.a
如果你构建了文档,以root用户的身份安装它:
install -v -m755 -d /usr/share/doc/SDL2-2.26.3/html &&
cp -Rv docs/output/html/* /usr/share/doc/SDL2-2.26.3/html
测试SDL2
如果您愿意,可以使用所包含的测试程序测试SDL2的安装。生成的二进制文件都不需要安装。执行下面的命令来构建测试程序:
cd test &&
./configure &&
make
每个测试程序(它们都列在这个目录中的README文件中)都需要单独运行。他们中的许多人将需要被手动杀死。此外,扬声器的音量需要保持在合适的水平。
命令解释
rm -v /usr/lib/libSDL2*.a: 通常静态库可以通过--disable-static选项来禁用配置,但这会破坏此包中的构建。
--disable-alsa-shared: 该开关禁用动态加载ALSA共享库。
--disable-sdl-dlopen: 这个开关禁止使用dlopen来加载共享对象。动态加载像libpng这样的图像后端库不起作用。
--disable-x11-shared: 该开关禁用动态加载X11共享库。
配置SDL2
配置信息
与大多数库一样,无需进行配置,只需保存库目录,即/opt/lib 或 /usr/local/lib应该出现在/etc/ld.so.conf中,以便ldd可以找到共享库。在检查过这种情况后,/sbin/ldconfig应该在以root身份登录时运行。
内容
安装程序: sdl2-config
安装库: libSDL2.so
安装目录: /usr/include/SDL2, /usr/lib/cmake/SDL2, 和 /usr/share/doc/SDL-2.26.3
简短描述
sdl2-config 确定应该用于编译和链接使用libSDL2的程序的编译和链接标志。
libSDL2.so 包含在多个平台上提供对音频、键盘、鼠标、操纵杆、OpenGL 3D硬件和2D帧缓冲区的低级访问的功能。
42.52 sound-theme-freedesktop-0.8
简介Sound Theme Freedesktop
Sound Theme Freedesktop包包含桌面的声音主题。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://people.freedesktop.org/~mccann/dist/sound-theme-freedesktop-0.8.tar.bz2
-
下载 MD5 校验和: d7387912cfd275282d1ec94483cb2f62
-
下载大小: 472 KB
-
预计所需磁盘空间: 2 MB
-
预计构建时间: 小于 0.1 SBU
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/sound-theme-freedesktop
安装Sound Theme Freedesktop
运行以下命令安装Sound Theme Freedesktop:
./configure --prefix=/usr &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
内容
安装程序: None
安装库: None
安装目录: /usr/share/sounds/freedesktop
42.53 SoundTouch-2.3.2
简介SoundTouch
SoundTouch包包含一个开源的音频处理库,允许独立更改声音节奏、音高和播放速率参数。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://www.surina.net/soundtouch/soundtouch-2.3.2.tar.gz
-
下载 MD5 校验和: 058db201df6151e3cbd07dc8929885c4
-
下载大小: 572 KB
-
预计所需磁盘空间: 7.5 MB
-
预计构建时间: 0.1 SBU
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/soundtouch
安装SoundTouch
注意
压缩包扩展为’soundtouch’而不是预期的’soundtouch-2.3.2’
运行以下命令安装SoundTouch:
当心
如果按照Xorg-7中指定的方式设置ACLOCAL环境变量,则下面的bootstrap命令会失败。如果使用了ACLOCAL,则需要为此包取消设置ACLOCAL,然后为其他包重置ACLOCAL。
./bootstrap &&
./configure --prefix=/usr \
--docdir=/usr/share/doc/soundtouch-2.3.2 &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
命令解释
--enable-openmp: 这种切换增加了对使用GCC提供的OpenMP实现在多个处理器核心上并行运行算法的支持。
内容
安装程序: soundstretch
安装库: libSoundTouch.so
安装目录: /usr/include/soundtouch 和 /usr/share/doc/soundtouch-2.3.2
简短描述
soundstretch 是一个处理WAV音频文件的程序,通过修改彼此独立的声音节奏,音高和播放速率属性。
libSoundTouch.so 包含SoundTouch的API函数。
42.54 Speex-1.2.1
简介Speex
Speex是一种专门为语音设计的音频压缩格式。它非常适合互联网应用,并提供了大多数其他编解码器所不具备的有用特性。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://downloads.xiph.org/releases/speex/speex-1.2.1.tar.gz
-
下载 MD5 校验和: fe7bf610883ff202092b92c72fe0fe3e
-
下载大小: 1020 KB
-
预计所需磁盘空间: 7.8 MB
-
预计构建时间: 小于 0.1 SBU
额外下载
-
下载 (HTTP): https://downloads.xiph.org/releases/speex/speexdsp-1.2.1.tar.gz
-
下载 MD5 校验和: e6eb5ddef743a362c8018f260b91dca5
-
下载大小: 904 KB
-
预计所需磁盘空间: 5.5 MB
-
预计构建时间: 小于 0.1 SBU
Speex依赖
必要
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/speex
安装Speex
这个包由两个独立的压缩包组成。它们需要被独立提取和构建。
运行以下命令安装Speex:
./configure --prefix=/usr \
--disable-static \
--docdir=/usr/share/doc/speex-1.2.1 &&
make
这个包没有附带测试套件。
作为root用户:
make install
现在解压并安装speexdsp包:
cd .. &&
tar -xf speexdsp-1.2.1.tar.gz &&
cd speexdsp-1.2.1 &&
./configure --prefix=/usr \
--disable-static \
--docdir=/usr/share/doc/speexdsp-1.2.1 &&
make
同样,作为root用户:
make install
命令解释
--disable-static: 这个开关阻止安装静态版本的库。
内容
安装程序: speexenc 和 speexdec
安装库: libspeex.so 和 libspeexdsp.so
安装目录: /usr/include/speex 和 /usr/share/doc/speex-1.2.1
简短描述
speexdec 解码Speex文件并生成WAV或raw文件。
speexenc 使用Speex对WAV或raw文件进行编码。
libspeex.so 提供功能的音频编/解码程序。
libspeexdsp.so 是与Speex编解码器一起使用的语音处理库。
42.55 Taglib-1.13
简介Taglib
Taglib是一个用于读取、写入和操作音频文件标记的库,被Amarok和VLC等应用程序使用。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 MD5 校验和: 0b75619b67b9149cfcbbe5c127df6395
-
下载大小: 1.3 MB
-
预计所需磁盘空间: 13 MB
-
预计构建时间: 0.3 SBU
Taglib依赖
必要
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/taglib
安装Taglib
运行以下命令安装Taglib:
mkdir build &&
cd build &&
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=ON \
.. &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
内容
安装程序: taglib-config
安装库: libtag.so 和 libtag_c.so
安装目录: /usr/include/taglib
简短描述
taglib-config 是一个用于打印有关taglib安装信息的工具。
42.56 v4l-utils-1.22.1
简介v4l-utils
v4l-utils为媒体设备提供了一系列实用程序,允许处理大多数网络摄像头(libv4l)中可用的专有格式,并提供了测试V4L设备的工具。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://www.linuxtv.org/downloads/v4l-utils/v4l-utils-1.22.1.tar.bz2
-
下载 MD5 校验和: 8aa73287320a49e9170a8255d7b2c7e6
-
下载大小: 2.0 MB
-
预计所需磁盘空间: 117 MB
-
预计构建时间: 0.5 SBU (使用并行数=4)
v4l-utils依赖
必要
LLVM-15.0.7 (与目标BPF)
推荐
alsa-lib-1.2.8, GLU-9.0.2, libjpeg-turbo-2.1.5.1, 和 Qt-5.15.8
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/v4l-utils
安装v4l-utils
运行以下命令安装v4l-utils:
./configure --prefix=/usr \
--sysconfdir=/etc \
--disable-static &&
make
这个包没有附带测试套件。
现在,作为root用户:
make -j1 install
内容
安装程序: cec-compliance, cec-ctl, cec-follower, cx18-ctl, decode_tm6000, dvb-fe-tool, dvb-format-convert, dvbv5-daemon, dvbv5-scan, dvbv5-zap, ir-ctl, ir-keytable, ivtv-ctl, media-ctl, qv4l2, qvidcap, rds-ctl, v4l2-compliance, v4l2-ctl, v4l2-dbg, 和 v4l2-sysfs-path
安装库: libdvbv5.so, libv4l1.so, libv4l2.so, libv4l2rds.so, libv4lconvert.so, v4l1compat.so, 和 v4l2convert.so
安装目录: /etc/rc_keymaps, /lib/udev/rc_keymaps, /usr/include/libdvbv5, 和 /usr/lib/libv4l
简短描述
cx18-ctl 是处理cx18类型设备的工具。
decode_tm6000 解码多路复用格式从TM5600/TM6000 USB设备。
dvb-fe-tool 是数字电视服务的命令行工具。
dvb-format-convert 是一个用于在不同文件格式之间进行转换的工具。它与DVB API的第5版兼容。
dvbv5-scan 是一个命令行频率扫描工具,用于兼容DVB API的第5版的数字电视服务。
dvbv5-zap 是一个命令行调优工具,用于数字电视服务,与第5版DVB API兼容。
ir-keytable 是一个列出远程控制器设备的工具,允许获取/设置IR keycode/scancode表,测试IR产生的事件,并调整其他远程控制器选项。
ivtv-ctl 是一个可以控制许多卡设置的实用程序,例如将调谐器的输入更改为svideo或composite,设置视频分辨率或更改视频模式(PAL, SECAM, NTSC)。
media-ctl 是一个用于配置V4L2设备的实用程序。
qv4l2 用于测试video4linux捕获设备。
qvidcap 用于从V4L2设备捕获视频。
rds-ctl 是一个从V4L2无线电设备解码原始RDS数据的实用程序,提供了访问接收到的RDS信息的简单方法。
v4l2-compliance 是一个合规性测试工具。
v4l2-ctl 是一个从cmdline控制v4l2控件的工具。
v4l2-dbg 是一个直接获取和设置v4l2设备寄存器的工具。
v4l2-sysfs-path 检查机器上安装的媒体设备和相应的设备节点。
42.57 x264-20230215
简介x264
x264包提供了一个将视频流编码为H.264/MPEG-4 AVC格式的库。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://anduin.linuxfromscratch.org/BLFS/x264/x264-20230215.tar.xz
-
下载 MD5 校验和: 24eb4eae0d6358f31228c9ff86046c6f
-
下载大小: 673 KB
-
预计所需磁盘空间: 14 MB
-
预计构建时间: 0.3 SBU (使用并行数=4)
x264依赖
推荐
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/x264
安装x264
运行以下命令安装x264:
./configure --prefix=/usr \
--enable-shared \
--disable-cli &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install
命令解释
--disable-cli: 此开关禁用构建命令行编码器,这是冗余的,因为大多数输入格式都需要FFmpeg。
--disable-asm: 如果没有安装NASM,请使用这个开关。
内容
安装程序: None
安装库: libx264.so
安装目录: None
简短描述
libx264.so 提供了将视频流编码为H.264/MPEG-4 AVC格式的函数。
42.58 x265-20230215
简介x265
x265包提供了一个库,用于将视频流编码为H.265/HEVC格式。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://anduin.linuxfromscratch.org/BLFS/x265/x265-20230215.tar.xz
-
下载 MD5 校验和: e735837f5e3fa95889e0a72eca39fccf
-
下载大小: 1.0 MB
-
预计所需磁盘空间: 52 MB
-
预计构建时间: 0.9 SBU (使用并行数=4)
x265依赖
必要
推荐
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/x265
安装x265
运行以下命令安装x265:
mkdir bld &&
cd bld &&
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DGIT_ARCHETYPE=1 \
-Wno-dev ../source &&
make
这个包没有附带测试套件。
现在,作为root用户:
make install &&
rm -vf /usr/lib/libx265.a
命令解释
-DGIT_ARCHETYPE=1: Upstream不再提供发布。BLFS正在使用git快照,但如果构建器没有安装git,则构建将不会安装没有这个开关的共享库或pkgconfig文件。
-Wno-dev: 此开关用于抑制针对包开发人员的警告。
rm -vf /usr/lib/libx265.a: BLFS不推荐使用静态库。
内容
安装程序: x265
安装库: libx265.so
安装目录: None
简短描述
libx265.so 提供了将视频流编码为H.265/HEVC格式的函数。
42.59 xine-lib-1.2.13
简介Xine Libraries
Xine Libraries包包含Xine库。这对于与外部插件进行接口非常有用,这些插件允许信息流从源流向音频和视频硬件。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://downloads.sourceforge.net/xine/xine-lib-1.2.13.tar.xz
-
下载 (FTP): ftp://ftp.mirrorservice.org/sites/distfiles.gentoo.org/distfiles/xine-lib-1.2.13.tar.xz
-
下载 MD5 校验和: 9e1be39857b7a3cd7cc0f2b96331ff22
-
下载大小: 4.8 MB
-
预计所需磁盘空间: 98 MB (有API文档)
-
预计构建时间: 0.5 SBU (使用并行数=4; 有API文档)
Xine Libraries依赖
必要
a graphical environment, FFmpeg-5.1.2, 且至少有以下之一: ALSA-1.2.7, PulseAudio-16.1, 或 JACK
推荐
可选
AAlib-1.4rc5, FAAD2-2.10.1, FLAC-1.4.2, gdk-pixbuf-2.42.10, GLU-9.0.2, ImageMagick-7.1.0-61, liba52-0.7.4, libdvdcss-1.4.3, libmad-0.15.1b, libmng-2.0.3, libnsl-2.0.0, libtheora-1.1.1, libva-2.17.0 (requires GLU-9.0.2), libvdpau-1.5, libvorbis-1.3.7, libvpx-1.13.0, Mesa-22.3.5, Samba-4.17.5, SDL-1.2.15, Speex-1.2.1, Doxygen-1.9.6 (创建API文档), v4l-utils-1.22.1 DirectFB, libbluray, libcaca, libdca, libFAME, libmodplug, musepack, VCDImager, 和 WavPack,
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/xine-lib
安装Xine Libraries
首先,修复使用binutils-2.39构建此包的问题:
sed -e '/xine_set_flags/s/XINE_PROTECTED//' -i include/xine.h
运行以下命令安装Xine Libraries:
./configure --prefix=/usr \
--disable-vcd \
--with-external-dvdnav \
--docdir=/usr/share/doc/xine-lib-1.2.13 &&
make
要创建API文档,必须安装Doxygen并执行以下命令:
doxygen doc/Doxyfile
这个包没有附带测试套件。
现在,作为root用户:
make install
注意
在安装时,Makefile会做一些额外的链接。如果您在/usr中没有Xorg,则需要为root用户定义LIBRARY_PATH变量。如果使用sudo假设root,请使用-E选项为安装过程传递当前环境变量。
如果你构建了API文档,以root用户的身份执行以下命令来安装它:
install -v -m755 -d /usr/share/doc/xine-lib-1.2.13/api &&
install -v -m644 doc/api/* \
/usr/share/doc/xine-lib-1.2.13/api
命令解释
--disable-vcd: 在没有安装VCDImager的情况下编译Xine Lib需要这个开关。如果您已经安装了VCDImager,请删除此选项。
--with-external-dvdnav: 这个开关是必需的,因为内部库不能解密DVD。
--docdir=/usr/share/doc/xine-lib-1.2.13: 这个开关会导致文档被安装到一个版本化目录中,而不是默认的/usr/share/doc/xine-lib。
--disable-vaapi: 如果安装了libva-2.17.0而没有安装GLU-9.0.2,则使用此开关,以防止构建失败。
内容
安装程序: xine-config 和 xine-list-1.2
安装库: libxine.so 以及在/usr/lib/xine/plugins/2.8下的大量插件模块和视频扩展
安装字体: 输出显示引擎字体位于/usr/share/xine-lib/fonts
安装目录: /usr/include/xine, /usr/lib/xine, /usr/share/xine-lib, 和 /usr/share/doc/xine-lib-1.2.13
简短描述
xine-config 为试图链接到xine库的程序提供信息。
xine-list-1.2 用于从xine-lib获取支持的文件类型信息。
libxine.so 提供处理音频/视频文件的API。
42.60 XviD-1.3.7
简介XviD
XviD是一个符合MPEG-4标准的视频编解码器。
该软件包在LFS 11.3平台上可以正常构建和工作。
包信息
-
下载 (HTTP): https://downloads.xvid.com/downloads/xvidcore-1.3.7.tar.gz
-
下载 MD5 校验和: 5c6c19324608ac491485dbb27d4da517
-
下载大小: 804 KB
-
预计所需磁盘空间: 7.1 MB
-
预计构建时间: 0.1 SBU
XviD依赖
可选
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/xvid
安装XviD
注意
这个压缩包会扩展到xvidcore,而不是预期的xvidcore-1.3.7。
运行以下命令安装XviD:
cd build/generic &&
sed -i 's/^LN_S=@LN_S@/& -f -v/' platform.inc.in &&
./configure --prefix=/usr &&
make
这个包没有附带测试套件。
现在,作为root用户:
sed -i '/libdir.*STATIC_LIB/ s/^/#/' Makefile &&
make install &&
chmod -v 755 /usr/lib/libxvidcore.so.4.3 &&
install -v -m755 -d /usr/share/doc/xvidcore-1.3.7/examples &&
install -v -m644 ../../doc/* /usr/share/doc/xvidcore-1.3.7 &&
install -v -m644 ../../examples/* \
/usr/share/doc/xvidcore-1.3.7/examples
命令解释
sed -i ‘s/^LN_S=@LN_S@/& -f -v/’ platform.inc.in: 修复重新安装或升级make install过程中的错误。
sed -i ‘/libdir.*STATIC_LIB/ s/^/#/’ Makefile: 该命令禁止安装静态库。
内容
安装程序: None
安装库: libxvidcore.so
安装目录: /usr/share/doc/xvidcore-1.3.7
简短描述
libxvidcore.so 提供了编码和解码大多数MPEG-4视频数据的功能。