Musik im bytewerk: Unterschied zwischen den Versionen

Inhalt gelöscht Inhalt hinzugefügt
Cfr34x (Diskussion | Beiträge)
Update zum IRC-Bot
Keine Bearbeitungszusammenfassung
 
(7 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1:
{{Veraltet|Schon vor dem Umzug war diese Seite Veraltet.}}
Für die Musik im bytewerk sorgt eine [[VIP1710]], auf der ein [http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki Music Player Daemon] läuft.
Für die Musik im bytewerk sorgt ein RaspberryPi, das wiederum an die [[VIP1710]] einen netcat Stream sendet (Audio in Roh-Daten).
FürAuf diedem MusikRaspberry im bytewerk sorgt eine [[VIP1710]], auf derläuft ein [http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki Music Player Daemon] läuft.
 
Die Box[[VIP1710]] ist digitalzurzeit analog an die Anlage angeschlossen (hier muss als Quelle "DVD" und als Audio-Eingang "DIGI2Video1" gewählt werden).
 
Der MPD ermöglicht es allen Anwesenden, die Playlist zu verwalten.
 
== Zugang zum MPD ==
DieDas BoxRaspberryPi ist derzeit unter der IP 10.8442.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 derdes BoxRaspberryPi). Auf der MPD-Projektseite gibt es eine [http://mpd.wikia.com/wiki/Clients Client-Übersicht].
* [http://music/ Webinterface] (interner Link): Es stehen diverse Clients zur Verfügung.
* Login per SSH: ssh mpd@music<br /> Passwort bitte bei den Anwesenden erfragen!<br /> Als Clients stehen hier [http://mpd.wikia.com/wiki/Client:Ncmpc ncmpc] und [http://unkart.ovh.org/ncmpcpp/ ncmpcpp] zur Verfügung.
* [http://music/pitchfork Pitchfork-Webinterface] (interner Link) (bitte möglichst vermeiden, da dies manchmal zu Hängern bei der Musik führt)
* 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 den MPD nicht unnötig zu belasten.
 
== Statusanzeige ==
'''Die grafische Ausgabe ist zurzeit nicht aktiviert, weil kein geeignetes Display vorhanden ist'''
 
[[Datei:Mpd_statusdisplay.jpg|200px|thumb|right|Statusanzeige des MPD]]
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.
Zeile 23 ⟶ 24:
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 [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 ==
LIRC installiert und konfiguriert.
* Einführung eines IRC-Bots, der beim Booten der VIP1710 den #bytewerk-Channel betritt
 
** Die Käfer wurden entfernt, soweit sie entdeckt wurden :-)
 
Die Highlights:
 
* Statt dem antiken Debian etch wird jetzt das [http://hilses.de/vip1710/ 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.
* Outdatet '''Ruckelfreie MP3-Wiedergabe''' dank vollständig optimiertem MPD und libmad.
* NEUNEUNEU: [https://www.youtube.com/watch?v=7UD1VCJvoDQ Mehr Power], durch ARM, jetzt mit FPU.
* 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 pi@music
 
Dann noch Root Rechte ergattern mit:
 
sudo -i
 
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 ==
* keine einschränkungen mehr :D
* 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