第四课--microWRT DLNA服务器

来自Microduino Wikipedia
跳转至: 导航搜索

本节教程将在前面USB教程的基础上介绍DLNA数字媒体服务器。我们将在microWRT上建立一个云中心,为家里的电子设备提供媒体信息存储服务,也就是一个 家庭的私有云。存储的信息可以是电影,照片,音乐等。而目前支持DLNA的设备也十分广泛,采用Android的设备一般都支持DLNA。


DLNA介绍

DLNA全称是数字生活网络联盟(DIGITAL LIVING NETWORK ALLIANCE),是一个由索尼、英特尔、微软等公司发起, 旨在解决个人PC、消费电器、移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无限制的共享和增长成为可能, 目前成员公司已达280多家。

DLNA的标准已经深入各类智能家用电子设备中,其中安卓系统手机更是提供了必备的支持。在这里Hoowa使用的是一款三星安卓手机, 手机中已经附带了DLNA的客户端程序。DLNA并不是创造技术,而是形成一种解决的方案,一种大家可以遵守的规范。 所以,其选择的各种技术和协议都是当前所应用很广泛的技术和协议。

DLNA的类型 1. DMS:Digital Media Server 服务器端用来存储数据的,相当于媒体数据网络存储器 2. DMR:Digital Media Receiver 接受用来接收数据的 3. DMC:Control 控制端 4. DMP:Player 播放器,用来播放接受下来的数据

Openwrt系统下具备DMS功能,可以给予和发送数据到客户端,或是流方式允许客户端播放流数据。 安卓系统下的一些播放器已经具备了接受和服务功能,并且带有播放功能。

Minidlna安装

minidlna是一个DLNA的DMS服务器。它实现服务器组件提供媒体文件信息给予设备。 在minidlna官方网站上是这么介绍:“minidlna是一个简单的DLNA服务器,它是NETGEAR员工为他们的ReadyNAS产品线所开发的软件”。

minidlna的安装有如下两种方法: 1. 如果玩家下载了最新的openwrt源码,可以通过源码配置来添加minidlna。

 multimedia
   -->minidlna

2. 如果您已经给microWRT刷入了BB版本的固件,将microWRT接入网络后,直接运行下面的命令,即可下载安装minidlna。

 opkg -d usb install minidlna 

注:这里的"-d usb" 是参考挂载U盘一节,将软件安装在U盘中。

配置minidlna

如下是minidlna的配置文件内容: 配置文件内容/etc/config/minidlna

config minidlna config
    option 'enabled' '1'
    option port '8200'
    option interface 'br-lan'
    option friendly_name 'OpenWrt DLNA Server'
    option db_dir '/var/run/minidlna'
    option log_dir '/var/log'
    option inotify '1'
    option enable_tivo '0'
    option strict_dlna '0'
    option presentation_url 
    option notify_interval '900'
    option serial '12345678'
    option model_number '1'
    option root_container '.'
    list media_dir '/mnt'
option album_art_names 'Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg'

在上一节使用usb声卡的教程中,我们就建议把软件和一些播放文件放到外置存储器中,openwrt采用了透明挂载实现了外置存储器, 这种方式与minidlna存在不兼容,具体表现为当媒体目录有新文件更新的时候无法检测到更新,解决办法是直接填写绝对路径,例如我们使用/test/dlna, 那么我们在配置的时候填写/overlay/pub/dlna即可完成。更新上面的配置选项,如下:

config minidlna config
    option 'enabled' '1'
    option port '8200'
    option interface 'br-lan'
    option friendly_name 'microWRT DLNA Server'
    option db_dir '/var/run/minidlna'
    option log_dir '/var/log'
    option inotify '1'
    option enable_tivo '0'
    option strict_dlna '0'
    option presentation_url 
    option notify_interval '900'
    option serial '12345678'
    option model_number '1'
    option root_container '.'
    list media_dir '/overlay/test/dlna'
option album_art_names 'Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg'


通过下面两条命令创建,设置/test/dlna目录:

 mkdir -p /pub/dlna
 chmod -R 777 /pub/dlna 

启动DLNA服务

向/test/dlna下复制文件或文件夹,文件支持的类型在前面已经讲过,凡是支持的类型都将被客户端查找和发现。

设置开机自动启动服务:

root@microWRT:~# /etc/init.d/minidlna enable

手工启动:

root@microWRT:~# /etc/init.d/minidlna start

关闭minidlna,由于minidlna驱动脚本有故障,关闭使用进程杀死方式吧

root@microWRT:~# killall minidlna

到此,microWRT服务器端的设置就完成了。

DLNA 客户端

DLNA客户端有很多种,尤其是各类设备,智能电视,机顶盒等等,作者使用的是华为荣耀3C手机,上面已经默认安装了DLNA客户端。 设置手机连接到microWRT。

打开DLNA的主界面,就能看到各种类型的文件夹,然后就可以选择想要播放的音乐,也可以将音乐下载到手机上播放。