DLNA 服务器搭建

来源:互联网 发布:新乡青峰网络招聘 编辑:程序博客网 时间:2024/05/17 09:11

这里所说的DLNA服务器,是指Mediatomb。严格地说,并不是DLNADigital 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领域(UbuntuLinux的一个Distribution),有很多人喜欢提示符下的命令行来操作机器(比如安装一个软件等等)。如果喜欢用命令行来安装的话,可打开Ubuntutermail(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版本下的非常简单的文件服务器的构建方法。