0%

安装 Navidrome 并启用转码

Navidrome 安装并不困难。但是由于服务器流量受限,一直考虑加入服务器端转码。但是我的服务器已经停止官方支持了,直接安装 ffmpeg 一直失败。

决定还是手动编译安装。

其实按照官方的 wiki 来也不是很费力。

第一步是安装必要的包
# yum install autoconf automake bzip2 bzip2-devel cmake freetype-devel gcc gcc-c++ git libtool make pkgconfig zlib-devel

第二步是安装 NASM 和 YASM
# yum install nasm

剩下的就是安装必要的解码器了。因为是音乐的所以就只安装了 libfdk_aac libmp3lame libopus

最后就是编译了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
curl -O -L https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
--prefix="$HOME/ffmpeg_build" \
--pkg-config-flags="--static" \
--extra-cflags="-I$HOME/ffmpeg_build/include" \
--extra-ldflags="-L$HOME/ffmpeg_build/lib" \
--extra-libs=-lpthread \
--extra-libs=-lm \
--bindir="/usr/bin" \
--enable-gpl \
--enable-libfdk_aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-nonfree
make
make install
hash -d ffmpeg

最后把 navidrome 的配置文件改一下

1
2
3
4
5
6
LogLevel = 'DEBUG'
ScanSchedule = '@every 4h'
FFmpegPath = "/usr/bin/ffmpeg"
TranscodingCacheSize = '150MiB'
MusicFolder = 'music'
baseurl = '/music/'