minidlnaがクライアントとの接続を閉じるのはなぜですか?

minidlnaがクライアントとの接続を閉じるのはなぜですか?

オペレーティングシステム:NixOS不安定なアプリケーション:ミニレストラン

私はDebianとTVでminidlnaをうまく使用しています。しかし、NixOSの使用に問題があります。

私のNixOS設定は次のとおりです(/etc/nixos/configuration.nix)。

#DLNA
services.minidlna.enable = true;
services.minidlna.settings = {
  friendly_name = "PCMEDIA";
  media_dir = ["V,/mnt/ORION/DLNA/"];
  log_level = "debug";
};

テレビでDLNAサーバーに接続しようとしたときに記録されるログ。

$ sudo journalctl --unit minidlna -r
May 06 08:08:54 nixos minidlnad[40642]: EXT:
May 06 08:08:54 nixos minidlnad[40642]: Date: Sat, 06 May 2023 02:38:54 GMT
May 06 08:08:54 nixos minidlnad[40642]: Server: 5.15.93 DLNADOC/1.50 UPnP/1.0 MiniDLNA/1.3.1
May 06 08:08:54 nixos minidlnad[40642]: Content-Length: 2196
May 06 08:08:54 nixos minidlnad[40642]: Connection: close
May 06 08:08:54 nixos minidlnad[40642]: Content-Type: text/xml; charset="utf-8"
May 06 08:08:54 nixos minidlnad[40642]: upnphttp.c:1277: debug: HTTP RESPONSE: HTTP/1.1 200 OK
May 06 08:08:54 nixos minidlnad[40642]: 
May 06 08:08:54 nixos minidlnad[40642]: X-PANASONIC-DMP-Profile: MPEG_PS_PAL JPEG_SM PV_DIVX_DIV3 PV_DIVX_DIV4 PV_DIVX_DIVX PV_DIVX_DX50 PV_DRM_DIVX_DIV3 PV_DRM_DIVX_DIV4 PV_DRM_DIVX_DIVX P>
May 06 08:08:54 nixos minidlnad[40642]: X-PANASONIC-Registration: (hexadecimal number)
May 06 08:08:54 nixos minidlnad[40642]: Host: 192.168.1.180:8200
May 06 08:08:54 nixos minidlnad[40642]: User-Agent: Panasonic MIL DLNA CP UPnP/1.0 DLNADOC/1.50
May 06 08:08:54 nixos minidlnad[40642]: upnphttp.c:916: debug: HTTP REQUEST: GET /rootDesc.xml HTTP/1.1
May 06 08:08:54 nixos minidlnad[40642]: clients.c:357: debug: Client found in cache. [Panasonic/entry 0]
May 06 08:08:54 nixos minidlnad[40642]: minidlna.c:170: debug: HTTP connection from 192.168.1.184:58601
May 06 08:08:53 nixos minidlnad[40642]: minissdp.c:710: debug: SSDP M-SEARCH from 192.168.1.184:50051 ST: urn:schemas-upnp-org:device:MediaServer:2, MX: 1, MAN: "ssdp:discover"
May 06 08:08:53 nixos minidlnad[40642]: minissdp.c:710: debug: SSDP M-SEARCH from 192.168.1.184:50051 ST: urn:schemas-upnp-org:device:MediaServer:2, MX: 1, MAN: "ssdp:discover"
May 06 08:08:53 nixos minidlnad[40642]: minissdp.c:265: debug: Sending M-SEARCH response to 192.168.1.184:50050 ST: urn:schemas-upnp-org:device:MediaServer:
May 06 08:08:53 nixos minidlnad[40642]: minissdp.c:710: debug: SSDP M-SEARCH from 192.168.1.184:50050 ST: urn:schemas-upnp-org:device:MediaServer:1, MX: 1, MAN: "ssdp:discover"
May 06 08:08:53 nixos minidlnad[40642]: minissdp.c:265: debug: Sending M-SEARCH response to 192.168.1.184:50050 ST: urn:schemas-upnp-org:device:MediaServer:
May 06 08:08:53 nixos minidlnad[40642]: minissdp.c:710: debug: SSDP M-SEARCH from 192.168.1.184:50050 ST: urn:schemas-upnp-org:device:MediaServer:1, MX: 1, MAN: "ssdp:discover"
May 06 08:07:54 nixos minidlnad[40642]: <root xmlns="urn:schemas-upnp-org:device-1-0"><specVersion><major>1</major><minor>0</minor></specVersion><device><deviceType>urn:schemas-upnp-org:dev>
May 06 08:07:54 nixos minidlnad[40642]: <?xml version="1.0"?>

minidlnaを操作する方法は?私のテレビだけでなく、VLCや他のDLNA対応アプリケーションでも機能しません。

答え1

/mnt/ORION/DLNA/名前と権限を確認するには、このようなものを使用してくださいls -ld /mnt/ORION/DLNA

また、代わりに

media_dir = ["V,/mnt/ORION/DLNA/"];

努力する

media_dir = V,/mnt/ORION/DLNA

(括弧、引用符、末尾のスラッシュはありません。マンページ)、そうでなければ、有効なパスがなくなり、早期終了の原因になる可能性があります。

答え2

minidlna指定された「メディアディレクトリ」にアクセスできません。 NixOSはminidlnaユーザーとして実行されますminidlna。したがって、そのユーザーは、minidlnaメディアディレクトリ内の指定された場所にアクセスできるユーザーグループに追加する必要があります。

/etc/nixos/configuration.nix:

services.minidlna.enable = true;
services.minidlna.settings = {
  friendly_name = "Movies";
  media_dir = ["V,/mnt/ORION/DLNA/"];

  # so changes in media dirs are updates in the server listing
  # also make sure "inotify-tools" packages is installed
  inotify = "yes"; 
  #log_level = "debug";
};

users.users.minidlna = {
  extraGroups = [ "users" ];
};

また、システムユーザーとして実行したい場合は、クリアまたは通常のユーザーminidlnaとして実行する必要があります。/var/cache/minidlnadb_dir

関連情報