Casting im Heimnetz
Tunetorch kann Musik auf DLNA- und UPnP-Geräten im Heimnetz abspielen, also auf Netzwerk-Lautsprechern, AV-Receivern oder Multiroom-Systemen. Der Server schickt die Musik dabei direkt an das Gerät. Dein Handy ist nur die Fernbedienung und kann danach in die Tasche.
Casting ist ab Werk aus, weil du es kurz einrichten musst.
Einrichten
Alles Nötige findest du unter Server-Einstellungen → DLNA.
1. Master-Schalter einschalten
Solange er aus ist, sieht niemand die Geräteauswahl im Benutzermenü. Das ist Absicht: Ein Server, dessen Netzwerk nicht eingerichtet ist, soll kein Menü zeigen, das nicht funktioniert.
2. Server-Adresse eintragen
Das Feld Server-Adresse für die Wiedergabe-Geräte ist der wichtigste Wert. Trag dort die Adresse deines Servers im Heimnetz samt freigegebenem Port ein:
http://192.168.1.50:5000
Nimm nicht die IP des Containers, nicht localhost und nicht deine öffentliche Domain. Der
Lautsprecher holt Musik und Cover selbst über diese Adresse, und er steht im Heimnetz. Der
Container kennt seine eigene Adresse im Heimnetz nicht, deshalb musst du sie von Hand
eintragen.
Ohne diese Adresse funktioniert Casting nicht.
3. Gerät hinzufügen
Geräte fügst du über ihre IP-Adresse hinzu. Den Rest findet Tunetorch selbst heraus: Es fragt das Gerät direkt, probiert die üblichen Ports und Pfade und liest dabei gleich Namen, Steuerungsadressen und den Lautstärkebereich aus.
Dabei gilt eine Sicherheitsregel: Alle Adressen, die das Gerät von sich meldet, müssen auf
genau diese IP zeigen. Verweist ein Gerät auf einen anderen Rechner im Netz, ignoriert
Tunetorch diesen Verweis. Sonst könnte ein manipuliertes Gerät den Server dazu bringen,
fremde Adressen abzufragen. Antwortet ein Lautsprecher nur mit solchen Verweisen, lässt er
sich nicht hinzufügen. Im Server-Log steht dann eine Zeile mit „fremder Host" und einem
der Codes TT-DLNA-008 bis TT-DLNA-011.
Gibt dein Router den Lautsprechern feste Adressen, bleibt die Einrichtung dauerhaft stabil.
4. Recht vergeben
Casten darf, wer das Recht DLNA hat (Admins sowieso), siehe Benutzer & Rechte.
Abspielen
Ist Casting aktiv, steht im Benutzermenü der Eintrag „Auf Gerät abspielen“ mit der Geräteauswahl. Wählst du ein Gerät, wechselt die Wiedergabe dorthin, und an der Stelle des Eintrags steht dann der Name des Geräts.
Nach dem Einschalten erscheint der Eintrag auf dem Gerät, auf dem du geschaltet hast, sofort. Andere Geräte übernehmen ihn, sobald sie ihre Bibliothek abgleichen, spätestens wenn du dort zur App zurückkehrst.
Du kannst steuern:
- Play, Pause, Stop
- Vor und Zurück in der Warteschlange
- Springen innerhalb des Titels
- Lautstärke mit einem Regler (in Prozent) und in Stufen über Tasten
Die Warteschlange bleibt verbunden: Sortierst du während der Wiedergabe um oder entfernst Titel, übernimmt das Gerät die Änderung.
Eine Warteschlange darf höchstens 5.000 Titel haben, damit das Gerät sie übernimmt. Ist sie länger, lehnt Tunetorch das Verbinden ab, und du kürzt sie vorher. Kommt eine Änderung nicht beim Gerät an, zeigt die App einen Hinweis samt Grund. Das Gerät spielt dann in der bisherigen Reihenfolge weiter. Dasselbe gilt für Pause, Springen und Lautstärke — und für den Stopp, wenn du zurück auf dein Gerät schaltest: Kommt er nicht an, sagt die App, dass das Gerät womöglich weiterspielt.
Nutzt gerade jemand anderes ein Gerät, zeigt Tunetorch das an („belegt von …“), statt die laufende Wiedergabe zu übernehmen.
Ist die Warteschlange zu Ende, bleibt die Verbindung bestehen. Für die nächste Playlist musst du dich also nicht neu verbinden. Bleibt die Verbindung länger ungenutzt, gibt der Server sie von selbst frei.
Einstellungen pro Gerät
Diese Werte gehören zum Gerät, nicht zum Server. Ein 2-Zoll-Display braucht kein Cover mit 800 Pixeln, und ob lückenlose Übergänge klappen, hängt allein vom Gerät ab.
| Einstellung | Wirkung |
|---|---|
| Anzeigename | Wie das Gerät in der Auswahl heißt. |
| Ziel-Format & Bitrate | Ein neu hinzugefügtes Gerät bekommt MP3 mit 192 kbit/s, das spielt jedes Gerät. Mit Original geht die Datei unverändert raus, wenn dein Gerät das Format sicher abspielt. MP3 und AAC gibt es ab 128 kbit/s. |
| Lautstärke-Schrittweite | Wie viel ein Tastendruck ändert (1–100). |
| Lautstärke-Obergrenze | Begrenzt den Regler (in Prozent, 1–100). |
| Cover-Größe | Kantenlänge des Bildes, das ans Gerät geht. |
| Gapless | Meldet dem Gerät den nächsten Titel vorab, damit es ohne Lücke weiterspielt. |
| Lautheits-Angleichung | Gleicht die Lautstärke an wie in der App (ab Werk aus). |
| Erlaubt- und Sperrliste | Wer dieses Gerät nutzen darf. |
Änderungen gelten ab der nächsten Wiedergabe.
Die beiden Lautstärke-Felder nehmen nur Werte von 1 bis 100. Gibst du etwas anderes ein, gilt die nächstliegende Grenze, und das Feld zeigt danach diese Grenze statt deiner Eingabe.
Format und Lautheit
Steht das Ziel-Format auf Original, holt sich der Lautsprecher die Originaldatei, und der Server muss nichts umrechnen. Bearbeiten muss er die Musik in zwei Fällen:
- Am Gerät ist ein Ziel-Format eingestellt (bei neuen Geräten MP3), und die Datei hat ein anderes.
- Die Lautheits-Angleichung ist an. Dann bekommt jeder Titel eine angeglichene Kopie im eingestellten Ziel-Format. Schaltest du die Angleichung ein, während „Original“ eingestellt ist, wird MP3 mit 192 kbit/s gesetzt, das spielt jedes Gerät. Willst du verlustfrei angleichen, stell FLAC ein: Die Kopie behält dann die Bittiefe des Originals (aus 16 Bit wird wieder 16 Bit, 24 Bit bleibt 24 Bit), damit auch Lautsprecher, die nur 16-Bit-FLAC kennen, sie abspielen.
Fehlt einem Titel noch der Lautheitswert, misst der Server ihn nach und merkt ihn sich, genau wie beim Abspielen in App und Browser. Das betrifft vor allem eingehängte Ordner, weil dort beim Einlesen nicht gemessen wird. Jeder Titel wird nur einmal gemessen, und danach hat auch die App etwas davon.
Die Umwandlung läuft im Hintergrund, und der nächste Titel wird schon vorbereitet, während der aktuelle läuft. Warten musst du deshalb nur beim ersten Titel und wenn du auf einen Titel springst, der nicht der nächste ist — dort kommt noch die einmalige Messung dazu. Ein Sprung bricht die Vorbereitung des alten Folgetitels ab, damit dein Ziel nicht dahinter warten muss. Wer nicht warten will, bis jeder Titel einmal dran war, lässt den Wartungs-Task Lautheit messen einmal durchlaufen.
Wo die kurzlebigen Kopien liegen, entscheidet der Server selbst: am liebsten im
Arbeitsspeicher, sonst auf dem Datenträger. Mit shm_size kannst du sie gezielt in den RAM
legen (siehe Installation mit Docker).
Zugriff pro Gerät regeln
Wenn du willst, kannst du den Zugriff für jedes Gerät einzeln regeln. Ist das aus, darf jeder mit dem Recht DLNA jedes Gerät nutzen.
Ist es an, gelten zwei Listen:
| Liste | Wirkung |
|---|---|
| Erlaubt | Leer heißt „für alle frei“. Steht jemand drin, dürfen nur die Eingetragenen. |
| Gesperrt | Hat Vorrang vor der Erlaubt-Liste. |
Die Sperrliste ist für den Fall „einer von fünf darf dieses Gerät nicht“. Mit der Erlaubt-Liste allein müsstest du die anderen vier aufzählen, und jedes später angelegte Konto wäre dann unbemerkt ausgesperrt.
Grenzen
- Manche Geräte zeigen Interpret und Album nicht an. Tunetorch schickt alle Angaben mit, aber ob ein Gerät sie anzeigt, entscheidet seine Firmware. Geschlossene Systeme zeigen bei fremder Steuerung oft nur Titel und Cover. Daran können wir leider nichts ändern.
- Server und Lautsprecher müssen im selben Netz sein und sich gegenseitig erreichen.
- Casting braucht die interne Redis-Datenbank. Fällt sie aus, geht Casting vorübergehend nicht, alles andere läuft weiter.