我正在开发一个通过WiFi流媒体的MiniDLNA服务器。现有文件显示正确。但是,当我将新文件添加到介质文件夹时,所做的更改不会在MiniDLNA客户端之间更新。我还尝试重新启动服务器,但没有反映出更改。
我更改了inotify_interval = 60,但它仍然没有更新files.db,它是MiniDLNA媒体列表数据库。如果我删除这个数据库并重新启动服务器,它会显示更改。
有人知道问题出在哪里吗?
发布于 2014-05-07 09:41:50
总之,让MiniDLNA重新扫描所有媒体文件的最可靠方法是发出以下一组命令:
$ sudo minidlnad -R
$ sudo service minidlna restart重新扫描服务器的客户端脚本
但是,MiniDLNA有时会在服务器上运行。以下是在这样的服务器上请求重新扫描的客户端脚本:
#!/usr/bin/env bash
ssh -t server.on.lan 'sudo minidlnad -R && sudo service minidlna restart'发布于 2014-04-21 05:05:23
AzP已经提供了大部分信息,但其中一些是不正确的。
首先,没有这样的选项inotify_interval。唯一存在的选项是notify_interval,与inotify无关。
因此,为了澄清,notify_interval控制(迷你)dlna服务器在网络中通告自己的频率。默认值895意味着它将大约每15分钟通知自己一次,这意味着客户端最多需要15分钟才能找到服务器。我个人使用1-5分钟取决于客户在网络中的波动性。
就让minidlna查找已添加的文件而言,有两个选项:
files.db,包括在传递-R参数的同时重新启动minidlna,这将强制进行完全重新扫描并从头开始构建数据库。从1.2.0版本开始,现在还有执行重建操作的-r参数。这将保留任何现有的数据库,并删除和添加新旧记录,其次是通过设置inotify=yes并重新启动respectively.inotify事件。如果inotify设置为=no,则更新文件数据库的唯一选项是强制完全重新扫描。此外,为了让inotify正常工作,文件系统必须支持inotify事件,这在大多数远程文件系统中并非如此。如果您的minidlna运行在NFS上,它将不会看到任何inotify事件,因为这些事件是在服务器端生成的,而不是在客户端生成的。
最后,即使inotify正在工作并且受到文件系统的支持,运行minidlna的用户也必须能够读取文件,否则将无法检索所需的元数据。在这种情况下,日志文件(通常是/var/log/minidlna.log)应该包含有用的信息。
发布于 2015-01-22 03:43:52
我最近发现,如果媒体文件是硬链接,minidlna不会更新数据库。如果希望这些文件显示在数据库中,则必须完全重新扫描。
例如:如果您在/home/ minidlna /video/foo.mkv中有一个文件/home/movies/foo.mkv和一个硬链接,其中'/home/minidlna‘是您的minidlna共享,那么您将不得不重新扫描,直到该文件出现在数据库(以及随后的dlna客户端)中。
我还在想办法绕过这件事。如果任何人有任何意见,都非常欢迎。
https://stackoverflow.com/questions/5180409
复制相似问题