FreeBSD MiniDLNA Charset Locale Umlaute

Talian

better more than a little
Hallo, und frohes Neus!

Ich versuche seit ein paar Tagen meinem MiniDLNA bei zu bringen, Umlaute anzuzeigen. Es funktioniert nicht auf dem Fernseher oder iPhone oder sonstigem medialem Gerät.

Mein Server Betriebssystem:
FreeBSD server.fritz.box 11.0-RELEASE-p1 FreeBSD 11.0-RELEASE-p1 #0 r306420: Thu Sep 29 01:43:23 UTC 2016 root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64

Mein Computersystem:
Dell Optiplex 755 Core 2 Duo E4600 2 x 2,40 GHz (Dualcore) | 4 GB

Ich habe meine Server nach dieser Anleitung installiert die ich selbst erstellt habe:
FreeBSD vorbereiten für Home Hosting Samba44 und MiniDLNA

Vielleicht kann man mit einem Gedankenanstoß in einem Beitrag hier weiterhelfen? Sicher wäre es eine Option statt ö = oe, ä = ae, ü = ue umzubenennen, aber bei Sonderzeichen wird es dann doch arg kryptisch, und erkläre mal einer älteren Frau was diese Buchstabensuppe bedeutet.

Anmerkung: Ich habe es auch mit anderen charsets versucht z.B. UTF-8.

Code:
minidlnad -V
Version 1.1.5

Meine locale scheinen auch richtig eingestellt zu sein:

Code:
locale
LANG=de_DE.ISO8859-1
LC_CTYPE="de_DE.ISO8859-1"
LC_COLLATE="de_DE.ISO8859-1"
LC_TIME="de_DE.ISO8859-1"
LC_NUMERIC="de_DE.ISO8859-1"
LC_MONETARY="de_DE.ISO8859-1"
LC_MESSAGES="de_DE.ISO8859-1"
LC_ALL=

Meine /etc/login.conf:

Code:
default:\
  :passwd_format=sha512:\
  :copyright=/etc/COPYRIGHT:\
  :welcome=/etc/motd:\
  :setenv=MAIL=/var/mail/$,BLOCKSIZE=K:\
  :path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin ~/bin:\
  :nologin=/var/run/nologin:\
  :cputime=unlimited:\
  :datasize=unlimited:\
  :stacksize=unlimited:\
  :memorylocked=64K:\
  :memoryuse=unlimited:\
  :filesize=unlimited:\
  :coredumpsize=unlimited:\
  :openfiles=unlimited:\
  :maxproc=unlimited:\
  :sbsize=unlimited:\
  :vmemoryuse=unlimited:\
  :swapuse=unlimited:\
  :pseudoterminals=unlimited:\
  :priority=0:\
  :ignoretime@:\
  :umask=022:\
  :mixpasswordcase=true:\
  :minpasswordlen=12:\
  :idletime=30:\
  :charset=ISO-8859-1:\
  :lang=de_DE.ISO8859-1:

#
# Germna Users Accounts. Setup proper environment variables.
#
german|German Users Accounts:\
  :charset=ISO-8859-1:\
  :lang=de_DE.ISO8859-1:\
  :tc=default:

Mein /etc/profile uns /etc/csh.login:

Code:
LANG=de_DE.ISO8859-1; export LANG
MM_CHARSET=ISO-8859-1; export MM_CHARSET

setenv LANG de_DE.ISO8859-1
setenv MM_CHARSET ISO-8859-1

Meine MiniDLNA.conf.

Code:
# port for HTTP (descriptions, SOAP, media transfer) traffic
port=8200

# network interfaces to serve, comma delimited
network_interface=em0

# set this to the directory you want scanned.
# * if have multiple directories, you can have multiple media_dir= lines
# * if you want to restrict a media_dir to a specific content type, you
# can prepend the type, followed by a comma, to the directory:
# + "A" for audio (eg. media_dir=A,/home/jmaggard/Music)
# + "V" for video (eg. media_dir=V,/home/jmaggard/Videos)
# + "P" for images (eg. media_dir=P,/home/jmaggard/Pictures)
media_dir=V,/home/server/media/videos
media_dir=P,/home/server/media/bilder
media_dir=A,/home/server/media/musik

# set this if you want to customize the name that shows up on your clients
friendly_name=Media-Server

# set this if you would like to specify the directory where you want MiniDLNA to store its database and album art cache
db_dir=/var/db/minidlna

# set this if you would like to specify the directory where you want MiniDLNA to store its log file
log_dir=/var/db/minidlna

# set this to change the verbosity of the information that is logged
# each section can use a different level: off, fatal, error, warn, info, or debug
log_level=general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn

# this should be a list of file names to check for when searching for album art
# note: names should be delimited with a forward slash ("/")
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

# set this to no to disable inotify monitoring to automatically discover new files
# note: the default is yes
inotify=yes

# set this to yes to enable support for streaming .jpg and .mp3 files to a TiVo supporting HMO
enable_tivo=yes

# set this to strictly adhere to DLNA standards.
# * This will allow server-side downscaling of very large JPEG images,
# which may hurt JPEG serving performance on (at least) Sony DLNA products.
strict_dlna=no

# default presentation url is http address on port 80
#presentation_url=http://www.mylan/index.php

# notify interval in seconds. default is 895 seconds.
notify_interval=90

# serial and model number the daemon will report to clients
# in its XML description
serial=1337
model_number=1

# specify the path to the MiniSSDPd socket
#minissdpdsocket=/var/run/minissdpd.sock

# use different container as root of the tree
# possible values:
# + "." - use standard container (this is the default)
# + "B" - "Browse Directory"
# + "M" - "Music"
# + "V" - "Video"
# + "P" - "Pictures"
# if you specify "B" and client device is audio-only then "Music/Folders" will be used as root
#root_container=.
 
ich kenne dieses ganze Zeugs wie MiniDLNA mal wieder gar nicht und kann daher ebenfalls mal wieder nicht konkret etwas dazu sagen.
Aber. Du kannst eine Lokale einstellen und die gilt lokal und das scheinst du soweit gemacht zu haben. (es genügt dazu allerdings nicht der Eintrag in der /etc/login.conf, dazu muss auch die master.passwd geändert werden, damit das System auch weiß, welcher User welcher Lokale angehören soll und das bedeutet, mkdb nach der Modifikation der login.conf und vipw zum Ändern der master.passwd sind mandatory). Um das zu verifizieren kannst du das auf dem entsprechenden PC testen.

Davon unabhängig funktionieren viele Dienste.
Wenn ich etwa eine unter SAMBA eine Freigabe mounten will, muss ich auf meinem Client entsprechende Mount-Optionen benutzen.
Die wiederum nutzen nichts, wenn das benutzte Programm die Dateinamen gar nicht in einem bestimmten Code auflösen kann, weil es selbst diesen gar nicht unterstützt.
Dies ist manchmal auch noch dadurch schwer zu erkennen, dass auf einem lokalen System die Namen korrekt dargestellt werden, weil es etwa iso-8859-15 darstellt oder UTF-8, das Remote-System aber eben umgekehrt funktioniert oder noch einen weiteren Codec ins Spiel bringt. Lokal sehen alle Dateien immer gut aus, aber gegenseitig wird die Darstellung dann uU misslingen. In solchen Fällen kann etwa iconv helfen, alle namen in ein einheitliches System zu wandeln und entsprechend zu nutzen.

Das ist aber nun ein wirklich grober und allgemeiner Hinweis, der nur zum ersten Einstieg in eine Diagnose taugt und gar nicht auf dein aktuelles Problem maßgeschneidert ist.
Man müsste auch diskutieren, welcher einheitliche Codec denn gut ist, denn FreeBSD kann noch immer nicht durchgehend UTF (afaik). Bei mir leben GNU/Linux , FreeBSD und OS-X im gleichen Netz, manchmal auch ein Windows Gast und die haben alle (mehr oder weniger) Spaß mit UTF und deshalb nutze ich es für die Namen meiner Titel, die ich vom FreeBSD-Server verteile.
 
Zum Samba habe ich meine Global so eingerichtet. Die Umlaute und Sonderzeichen in der ganzen Workgroup sprich Windows-Systemen richtig dargestellt werden.

Code:
[global]
  server string = Samba server Version %v
  workgroup = WORKGROUP
  domain master = yes
  security = user
  wins support = true
  netbios name = server
  passdb backend = tdbsam
  interfaces = em0
  bind interfaces only = yes
  load printers = no
  os level = 20
  unix charset = ISO8859-1
  hide files = desktop.ini

Die Ausgabe auf dem Fernseher sind ja immer in xls oder xml, dargestellt? Und werden, soviel ich weiß, in UTF-8 generiert. Bloß habe ich in der Hinsicht weniger Ahnung davon. Wenn es doch nur so einfach wie in Apache oder Nginx wäre, könnte ich die den charset einfach mitgeben. Ich habe auch schon versucht in der minidlna.conf die chartset zu setzten aber das moniert MiniDLNA beim Start.
 
Hallo,

später heute zu Hause werde ich mal bei mir nach schauen und mit Deiner Konfiguration minidlna.conf vergleichen. Ich habe auf einem NAS mit Debian GNU/Linux minidlna installiert, bei Ordnernamen für Musik z.B. arbeite ich auch mit Sonderzeichen, z.B. bei Komponistennamen wie Fauré, Dvorák u.s.f. Die Desktop-Rechner (mit FreeBSD / UTF-8) und auch Kodi unter antiX auf einem HTPC zeigen die Ordner und Multimedia-Titel der dlna-Freigaben mit korrekten Sonderzeichen an.

Viele Grüße,
Holger
 
Hallo,

später heute zu Hause werde ich mal bei mir nach schauen und mit Deiner Konfiguration minidlna.conf vergleichen. Ich habe auf einem NAS mit Debian GNU/Linux minidlna installiert, bei Ordnernamen für Musik z.B. arbeite ich auch mit Sonderzeichen, z.B. bei Komponistennamen wie Fauré, Dvorák u.s.f. Die Desktop-Rechner (mit FreeBSD / UTF-8) und auch Kodi unter antiX auf einem HTPC zeigen die Ordner und Multimedia-Titel der dlna-Freigaben mit korrekten Sonderzeichen an.

Viele Grüße,
Holger

Danke vielmals!
 
Ich habe das bei mir mal geprüft und es funktioniert sowohl bei Ordnern als auch bei Dateien. Getestet habe ich es über meinen TV (Samsung) und per VLC (Windows, Android). Ich wüsste aber nicht, was ich da speziell gemacht habe. Ganz sicher nichts bei minidlna. Mein System ist komplett UTF-8.
 
Soweit ich sehe funktioniert es jetzt.
Umlaute und Sonderzeichen auf dem TV/Phone und Windows PC werden nun korrekt angezeigt.

Code:
default:\
  :passwd_format=sha512:\
  :copyright=/etc/COPYRIGHT:\
  :welcome=/etc/motd:\
  :setenv=MAIL=/var/mail/$,BLOCKSIZE=K:\
  :path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin ~/bin:\
  :nologin=/var/run/nologin:\
  :cputime=unlimited:\
  :datasize=unlimited:\
  :stacksize=unlimited:\
  :memorylocked=64K:\
  :memoryuse=unlimited:\
  :filesize=unlimited:\
  :coredumpsize=unlimited:\
  :openfiles=unlimited:\
  :maxproc=unlimited:\
  :sbsize=unlimited:\
  :vmemoryuse=unlimited:\
  :swapuse=unlimited:\
  :pseudoterminals=unlimited:\
  :priority=0:\
  :ignoretime@:\
  :umask=022:\
  :mixpasswordcase=true:\
  :minpasswordlen=12:\
  :idletime=30:\
  :charset=UTF-8:\
  :lang=de_DE.UTF-8:

server:\
  :charset=UTF-8:\
  :lang=de_DE.UTF-8:\
  :tc=default:cat

/etc/profile

LANG=de_DE.UTF-8; export LANG
MM_CHARSET=UTF-8; export MM_CHARSET

/etc/csh.login

setenv LANG de_DE.UTF-8
setenv MM_CHARSET de_DE.UTF-8

Code:
LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_ALL=
 
Hallo @Talian,

habe Dein Anliegen nicht vergessen - aber Du hast es ja nun hinbekommen.

Bei meinem Debian basierten minidlna-Server steht die locale übrigens auch auf de_DE.UTF-8. In der minidlna.conf sind keine locale-Einstellungen.

Viele Grüße,
Holger
 
Zurück
Oben