DLNA(DIGITAL LIVING NETWORK ALLIANCE,数字生活网络联盟)的出现是为了实现互联网中数字媒体和内容服务无限制共享的一种解决方案。其前身是DHWG (Digital Home Working Group,数字家庭工作组),成立于2003年6月24 日, 是由索尼、英特尔、微软等发起成立的一个非营利性的、合作性质的商业组织。
通过DLNA协议,在网络中的设备可以实现多媒体数据内容分发功能,以及相关联的搜索、浏览、通知服务、设备控制、内容上传下载等功能。我们常用的DLNA功能还是多媒体数据内容分发功能,就是播放远程服务器上的视频、音频及图片。
以下是DLNA支持的格式:
Audio:LPCM,AAC, AC-3,ATRAC,3plus,MP3,WMA9
Video:MPEG2,MPEG-1,MPEG-4,AVC,WMV9
在树莓派上实现DLNA服务器,需要实现存储设备(U盘/移动硬盘)挂载及DLNA软件安装两个部分。
树莓派默认支持FAT32格式的存储设备,通过安装驱动可以实现对NTFS和exFAT格式读写的支持。我现在使用的官方2020-05-27版本默认也是支持NTFS的。
NTFS格式支持
sudo apt-get install ntfs-3g
exFAT格式支持
sudo apt-get install exfat-fuse
U盘插入树莓派4B后,需要输入密码来接入系统。接入后目录路径在/media/pi下,桌面也会出现按一个快捷文件夹。
接下去通过配置将U盘挂载道固定目录,并在开机时自动挂载。
新建挂载文件夹:
sudo mkdir /mnt/usb-ntfs
设置文件夹的完全读写权限
sudo chmod 777 /mnt/usb-ntfs
配置自动挂载
打开配置文件
sudo nano /etc/fstab
配置文件格式如下
# <file system> <dir> <type> <options> <dump> <pass>
按文件中的格式新增U盘的配置即可
查询U盘的PARTUID
sudo blkid
/dev/mmcblk系列是系统的分区挂载,通过LABEL标签很容易找到你的U盘
在配置文件中新增配置项
PARTUUID=xxx /mnt/usb-ntfs ntfs-3g defaults,nofail 0 0
添加nofial选项,在u盘未插入时跳过挂载,避免不插U盘系统就无法启动的问题。
保存退出。直接到打开/mnt/usb-ntfs,查看是否挂在成功。如果看不到,重启下系统再查看。
接下去就要安装DLNA软件了,使用指令
sudo apt-get install minidlna
安装完成后,修改minidlna的配置文件
sudo nano /etc/minidlna.conf
修改friendly_name配置行,可以修改dlna的显示名称
注释原media_dir配置行,新增下面的路径配置(路径中的文件夹都已经在U盘中存在的)
media_dir=A,/mnt/usb-ntfs/MUSIC/
media_dir=V,/mnt/usb-ntfs/TV/
media_dir=V,/mnt/usb-ntfs/MOIVE/
media_dir=P,/mnt/usb-ntfs/PICTURES
其他默认配置。
通过浏览器打开http://ip:8200/查看minidlna的资源情况。如果打不开,先查看两个设备是否在同一个局域网内。然后使用sudo service minidlna start开启minidlna服务。
下面几个是minidlna的实用指令
启动minidlna服务(软件刚安装完默认是启用的)
sudo service minidlna start
停止minidlna服务
sudo service minidlna stop
让minidlna随系统启动
sudo update-rc.d minidlna defaults
取消minidlna随系统启动
sudo update-rc.d -f minidlna remove
当minidlna目录下资源变更后,更新资源列表
sudo service minidlna force-reload
安装完dlna服务器后,下面来说说dlna的客户端,首先是本来就支持dlna的设备,确保在同一局域网下,直接搜索就能找到树莓派的dlna服务器。Android设备可以使用kodi软件。Ios平台推荐PlayerXtreme,亲测可用,发现dlna服务器速度及播放流畅度都不错,缺点是不免费。免费的nPlayer Lite也不错,但是有广告。