树莓派 Centos8 编译安装 minidlna

本文中需要的工具:

minidlna

DLNA 旨在解决个人 PC ,消费电器,移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无限制的共享和增长成为可能。DLNA 的口号是 Enjoy your music, photos and videos, anywhere anytime。

minidlna 是一款软件用于实现 DLNA。

FFmpeg

FFmpeg 的名称来自 MPEG 视频编码标准,前面的“FF”代表“Fast Forward”,FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。可以轻易地实现多种视频格式之间的相互转换。

VLC media player
VLC 是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD、音频 CD、VCD 及各类流媒体协议。

克隆地址:https://git.ffmpeg.org/ffmpeg.githttps://github.com/FFmpeg/FFmpeg

进入临时目录

cd /tmp

minidlna 下载
地址在:https://sourceforge.net/projects/minidlna/
如,1.3.2:

wget -O minidlna-1.3.2.tar.gz https://sourceforge.net/projects/minidlna/files/minidlna/1.3.2/minidlna-1.3.2.tar.gz/download

克隆 ffmpeg
如果使用最新版本编译 minidlna 失败,尝试降到 5 或 4版本。

# 克隆 ffmpeg 最新版
git clone https://git.ffmpeg.org/ffmpeg.git

# 克隆 5.1 版
git clone -b release/5.1 https://git.ffmpeg.org/ffmpeg.git

# 使用 4.4 版本
# git checkout release/4.4

手动安装依赖
在编译之前,你需要手动安装依赖:

yum install sqlite sqlite-devel -y
yum install libexif libexif-devel -y
yum install libid3tag libogg-devel -y
yum install libogg libogg-devel -y
yum install libvorbis libvorbis-devel -y
yum install flac flac-devel -y

编译 ffmpeg

# 进入 ffmpeg 目录,准备编译
# 克隆来自 ffmpeg.org
cd ffmpeg

# 克隆来自 github.com
# cd FFmpeg

# 配置并构建共享库
./configure --enable-shared
make && make install

# 查询 libavformat 位置
whereis libavformat.so
# 结果返回类似:
/usr/local/lib/libavformat.so

# 编辑 ld.so.conf
vi /etc/ld.so.conf
# 增加 libavformat 路径,并保存
/usr/local/lib/

# 刷新动态链接库缓存
ldconfig

编译 minidlna

# 解压 minidlna
tar -zxvf minidlna-1.3.2.tar.gz
cd minidlna-1.3.2
./configure
make && make install
cp minidlna.conf /etc/minidlna.conf

配置 minidlna

配置说明,参见 MiniDLNA 1.2.1 中文配置

调整可检测文件数量
当目录下文件太多时,即便重新刷新缓存也不行。这时,需要设置特定进程可以监视的文件数量:

vi /etc/sysctl.conf
# 修改或增加
fs.inotify.max_user_watches=524288

另外,有时候并不能正常识别目录下的所有文件。因为它是触发式的,也就是说,目录中有变动才会更新。

手动启动

minidlnad
# pkill minidlnad 结束进程
# minidlnad -r 刷新文件缓存
# minidlnad -R 重新构建缓存文件

另外,别忘了,在防火墙中开放 8200 端口

开机自动启动

vi /etc/rc.local
# 增加
minidlnad
# 确保 /etc/rc.local 文件可执行,使用 chmod +x /etc/rc.local

最后:
打开 VLC ,在“视图”菜单中,选择播放列表或按 Ctrl+L。
在左侧中,选择“通用即插即播(Upnp)”。
之后,等待右侧列表刷新。

VLC 连接 dlna
VLC 连接 dlna

相关链接:
minidlna
FFmpeg
VLC media player
ffmpeg 编译参数详解
ldconfig 命令
MiniDLNA 1.2.1 中文配置
Why is the minidlna database not being refreshed?