Musik im bytewerk: Unterschied zwischen den Versionen
Cfr34x (Diskussion | Beiträge) (Doku zur neuen Software-Version) |
Cfr34x (Diskussion | Beiträge) (Netzwerkadressen aktualisiert, LIRC) |
||
Zeile 6: | Zeile 6: | ||
== Zugang zum MPD == |
== Zugang zum MPD == |
||
Die Box ist derzeit unter der IP |
Die Box ist derzeit unter der IP 192.168.0.43 bzw. dem Hostnamen „music“ zu erreichen. |
||
Man hat folgende Möglichkeiten, den MPD zu verwalten: |
Man hat folgende Möglichkeiten, den MPD zu verwalten: |
||
Zeile 14: | Zeile 14: | ||
* IRC: Einfache Steuerungsaufgaben (Start/Stop/Statusabfrage) können über PRIVMSGs an den IRC-Bot ausgeführt werden. Für weitere Infos einfach den Bot um Hilfe fragen. |
* IRC: Einfache Steuerungsaufgaben (Start/Stop/Statusabfrage) können über PRIVMSGs an den IRC-Bot ausgeführt werden. Für weitere Infos einfach den Bot um Hilfe fragen. |
||
Achtung: Alle Clients, die auf der Box direkt ausgeführt werden (also das Webinterface, ssh und der IRC-Bot), laufen mit niedriger Priorität, um |
Achtung: Alle Clients, die auf der Box direkt ausgeführt werden (also das Webinterface, ssh und der IRC-Bot), laufen mit niedriger Priorität, um die Audio-Wiedergabe nicht zu stören. |
||
== Statusanzeige == |
== Statusanzeige == |
||
Zeile 24: | Zeile 24: | ||
Die Statusseite wird alle 10 Sekunden neu geladen (bei großen Playlists kanns auch mal ein bisschen länger dauern). |
Die Statusseite wird alle 10 Sekunden neu geladen (bei großen Playlists kanns auch mal ein bisschen länger dauern). |
||
Die Titelliste unter dem Fortschrittsbalken zeigt die nächsten Einträge in der Playlist. |
Die Titelliste unter dem Fortschrittsbalken zeigt die nächsten Einträge in der Playlist. |
||
== IR-Fernbedienung == |
|||
Für die Unterstützung von IR-Fernbedienungen wird LIRC verwendet. Die nötigen Kernel-Module sowie das nötige LIRC v0.8.2 werden freundlicherweise von [http://hilses.de/vip1710/ Hans-Werner Hilse] bereitgestellt. LIRC wurde allerdings für unsere VIP1710 neu kompiliert, damit es mit der chroot-Umgebung kompatibel ist. |
|||
=== Anlernen von Fernbedienungen === |
|||
Zum Lernen einer neuen Fernbedienung wird folgender Befehl ausgeführt: |
|||
irrecord -d /dev/lirc/0 output_file |
|||
Die weitere Verwendung dieses Programms ist selbsterklärend. |
|||
Sind alle Tasten aufgezeichnet, muss die erstellte Datei "output_file" nach /etc/lircd.conf kopiert werden. |
|||
=== Ausführen von Befehlen auf Knopfdruck === |
|||
LIRC enthält das Programm irexec, das vordefinierte Befehle ausführen kann, wenn die entsprechende Taste auf der Fernbedienung gedrückt wurde. In Kombination mit mpc (Kommandozeilen-Client für MPD) ist somit MPD vollständig per IR steuerbar. |
|||
Um eine Aktion für eine Taste zu definieren, muss /etc/lircrc wie folgt befüllt werden (ein Konfigurationsblock pro Taste): |
|||
begin |
|||
prog = irexec |
|||
button = left |
|||
config = mpc prev |
|||
end |
|||
begin |
|||
prog = irexec |
|||
button = playpause |
|||
config = mpc toggle |
|||
end |
|||
# ... |
|||
== Letzte Änderungen == |
== Letzte Änderungen == |
||
LIRC installiert und konfiguriert. |
|||
Vollständige Überarbeitung der installierten Software und des boot-Skripts (/flash2/myrc)! |
|||
Zeile 36: | Zeile 69: | ||
* Die Swap-Datei ist nicht mehr nötig (nur noch 25MB RAM nach dem Boot belegt) |
* Die Swap-Datei ist nicht mehr nötig (nur noch 25MB RAM nach dem Boot belegt) |
||
* Der SSH-Server läuft jetzt außerhalb der chroot-Umgebung |
* Der SSH-Server läuft jetzt außerhalb der chroot-Umgebung |
||
* MPD ist jetzt auch per IR-Fernbedienung steuerbar. |
|||
== Systemverwaltung == |
== Systemverwaltung == |
Version vom 17. November 2012, 19:55 Uhr
Für die Musik im bytewerk sorgt eine VIP1710, auf der ein Music Player Daemon läuft.
Die Box ist zurzeit analog an die Anlage angeschlossen (hier muss als Quelle "Video1" gewählt werden).
Der MPD ermöglicht es allen Anwesenden, die Playlist zu verwalten.
Zugang zum MPD
Die Box ist derzeit unter der IP 192.168.0.43 bzw. dem Hostnamen „music“ zu erreichen.
Man hat folgende Möglichkeiten, den MPD zu verwalten:
- Client auf dem eigenen Rechner (bevorzugte Methode, da geringste Belastung der Box). Auf der MPD-Projektseite gibt es eine Client-Übersicht.
- Webinterface (interner Link): Es stehen diverse Clients zur Verfügung, zurzeit die ::phpMpReloaded::-Clientsammlung, Web1.0MPC und mpd remote.
- IRC: Einfache Steuerungsaufgaben (Start/Stop/Statusabfrage) können über PRIVMSGs an den IRC-Bot ausgeführt werden. Für weitere Infos einfach den Bot um Hilfe fragen.
Achtung: Alle Clients, die auf der Box direkt ausgeführt werden (also das Webinterface, ssh und der IRC-Bot), laufen mit niedriger Priorität, um die Audio-Wiedergabe nicht zu stören.
Statusanzeige
Die grafische Ausgabe ist zurzeit nicht aktiviert, weil kein geeignetes Display vorhanden ist
Der aktuelle Status des MPD wird über eine Statusseite auf dem TV-Ausgang angezeigt. Hierfür wurde einfach die Startseite der Box auf den lokalen Webserver umgebogen.
Die Statusseite wird alle 10 Sekunden neu geladen (bei großen Playlists kanns auch mal ein bisschen länger dauern). Die Titelliste unter dem Fortschrittsbalken zeigt die nächsten Einträge in der Playlist.
IR-Fernbedienung
Für die Unterstützung von IR-Fernbedienungen wird LIRC verwendet. Die nötigen Kernel-Module sowie das nötige LIRC v0.8.2 werden freundlicherweise von Hans-Werner Hilse bereitgestellt. LIRC wurde allerdings für unsere VIP1710 neu kompiliert, damit es mit der chroot-Umgebung kompatibel ist.
Anlernen von Fernbedienungen
Zum Lernen einer neuen Fernbedienung wird folgender Befehl ausgeführt:
irrecord -d /dev/lirc/0 output_file
Die weitere Verwendung dieses Programms ist selbsterklärend.
Sind alle Tasten aufgezeichnet, muss die erstellte Datei "output_file" nach /etc/lircd.conf kopiert werden.
Ausführen von Befehlen auf Knopfdruck
LIRC enthält das Programm irexec, das vordefinierte Befehle ausführen kann, wenn die entsprechende Taste auf der Fernbedienung gedrückt wurde. In Kombination mit mpc (Kommandozeilen-Client für MPD) ist somit MPD vollständig per IR steuerbar.
Um eine Aktion für eine Taste zu definieren, muss /etc/lircrc wie folgt befüllt werden (ein Konfigurationsblock pro Taste):
begin prog = irexec button = left config = mpc prev end begin prog = irexec button = playpause config = mpc toggle end # ...
Letzte Änderungen
LIRC installiert und konfiguriert.
Die Highlights:
- Statt dem antiken Debian etch wird jetzt das Build-System von Hans-Werner Hilse als chroot-Umgebung eingesetzt (Vielen Dank dafür!). In dieser wurden MPD, PHP und lighttpd mit ihren Abhängigkeiten und passender Optimierung compiliert.
- Ruckelfreie MP3-Wiedergabe dank vollständig optimiertem MPD und libmad.
- Das Standard-System wird nicht mehr vollständig mitgestartet (nur noch der telnetd, halserver und ein watchdog-client, der Rest wird durch die myrc blockiert)
- Die Swap-Datei ist nicht mehr nötig (nur noch 25MB RAM nach dem Boot belegt)
- Der SSH-Server läuft jetzt außerhalb der chroot-Umgebung
- MPD ist jetzt auch per IR-Fernbedienung steuerbar.
Systemverwaltung
Wenn du Änderungen am System vornehmen willst, kannst du wie folgt vorgehen:
ssh root@music
Die nach /mnt gemountete chroot-Umgebung kann dann durch
/mnt/chroot.sh
betreten werden. Dabei wird automatisch eine screen-Sitzung gestartet bzw. wiederhergestellt.
Softwarepakete sollten nach /root/distfiles heruntergeladen und in /root/build gebaut werden. Die compilierten Dateien sollten nach /usr/local installiert werden.
In /etc/init.d können „Init-Skripte“ erstellt werden, die "start" und "stop" als Parameter akzeptieren. Diese werden beim Start und beim „Herunterfahren“ mit den entsprechenden Parametern aufgerufen.
Einschränkungen
- die Playlist-Größe ist auf 512 Titel begrenzt, um das Ganze benutzbar zu halten.
- Der IRC-Bot kann nur 1 Nachricht pro Sekunde versenden, da sonst die Flood-Protection von FreeNode greift