这里所说的DLNA服务器,是指Mediatomb。严格地说,并不是DLNA(Digital Living NetworkAlliance),而是UPnP(Universal Plug andPlay)服务器。详细的留给专家,这里简单地说,DLNA是一个认证组织,给予符合DLNA要求的机器一个Logo;而UPnP是一组机器之间相互认识、相互通信、共享资源的网络协议。我们需要的是UPnP。至于是不是符合DLNA的要求并不是很重要。(也有不符合DLNA就不能放音,放像的电视、网络放音机(Network media player)等。这里不做讨论)
我使用的Ubuntu的版本是11.10 (Desktop版)。
Mediatomb的安装(install):
打开Ubuntu的软件中心(Ubuntu software center),以“Mediatomb”检索一下,就可以找到。点击“install”即可完成安装Mediatomb。非常简单吧。(这一点是这里要介绍的内容之一,即我这次构建DLNA服务器的经验之一。下面简称为通过gui(graphicaluser interface)安装)
多余的说明:
到了Linux领域(Ubuntu是Linux的一个Distribution),有很多人喜欢提示符下的命令行来操作机器(比如安装一个软件等等)。如果喜欢用命令行来安装的话,可打开Ubuntu的termail(Xterm等等),在提示符下,用下面的命令来安装(这是其他网页通常介绍的方法):
sudoapt-get install mediatomb
但用命令行来操作不是这里的本题。下面如果不是必须,不再提命令行操作。
初期设定:
在起动mediatomb之前,最好确认/修改一下下面的设定。
打开设定文件/etc/mediatomb/config.xml 找到uienabled= 的地方。如果ui enabled=的值是"no"的话,则改成"yes"。即uienabled="yes"。否则,起动Mediatomb后,会出现一个错误信息:
MediaTombui is disabled. Check your configuration.
反过来说,起动Mediatomb时出现了上面的错误信息,则将ui enabled="no"改成uienabled="yes"即可。
文字乱码的对应:
如果乐曲名、视频名里没有中文等的汉字的话,就这样能用Mediatomb了。但如果有汉字的话,默认的设定就会发生文字乱码。为了解决文字乱码的问题,可以在在文件/etc/mediatomb/config.xml里追加与文字码(code)有关的两行:
<filesystem-charset>UTF-8</filesystem-charset>
<metadata-charset>CP932</metadata-charset>
追加的地方在<import>的部分,具体地可以在<importhidden-files="no">行的下面。
注意,如果先起动了Mediatomb,并设定了Mediatomb的数据库,在发现了文字乱码后再来设定上面的文字码,那也不能解决文字乱码的问题。如果是这样的情况,则在设定好上面的文字码后,删除Mediatomb的数据库,再起动Mediatomb,再设定数据库,一般能解决问题。(这一点是这里要介绍的内容之二,即经验之二)
mediatomb数据库的消除方法:
mediatomb的数据库在:/var/lib/mediatomb/下面。数据库名称为mediatomb.db或者sqlite3.db。先停止mediatomb,然后删除/var/lib/mediatomb/下面的mediatomb的数据库(mediatomb.db或者 sqlite3.db)。然后重新起动mediatomb,一般即可解决文字乱码的问题。(这一点也是比较新的内容。其他网页只说sqlite3.db而不提mediatomb.db的)。
Mediatomb服务器的自动起动:
因为是服务器,通常希望在PC起动时能自动起动。好在Ubuntu11.10版本,并且是按上面的介绍的通过gui安装的话,缺省设定下就能自动起动(起码我没有做有关自动起动的任何设定修改,就能自动起动了)。如果想明示地设定自动起动的话,在文件/etc/default/mediatomb里找到NO_START="yes"并改成NO_START=""(除“yes”以外的值)就行了。顺便说一下,我用上面介绍的通过gui安装的mediatomb,缺省设定就已经是NO_START="no"了,即能自动起动,无需修改。
到这里应该能构建起DLNA服务器了。至于Mediatomb的用法(包括起动、停止、数据库的设定等等)可参考的网页很多,就省略了。如果有必要,以后另外说明。
还有,构建好了DLNA服务器,通常也需要文件服务器(否则用起来很麻烦)。下次再简单地介绍一下在Ubuntu11.10版本下的非常简单的文件服务器的构建方法。