Das Script wurde überarbeitet und verwendet jetzt keine KDE/Gnome Popups mehr (Nachrichten werden nur noch im Terminal angezeigt) … einige Dinge sind vereinfacht worden und das Ding ist übersichtlicher.
Neu ist, dass man damit in Moc die FreeMusicCharts Playliste einfügen, anhören und Stücke herunterladen kann.
Für Alle ohne Moc lohnt sich das Herunterladen vom im oben genannten Artikel beschriebenen VLC Media Player, in dem die Free Music Charts nun integriert sind.
Irgendwie bin ich in der letzten Zeit durch “Sielenc” auf die Idee gekommen, einen Icecast Server testweise zu betreiben
Zum Testen wollte ich natürlich auch meine Musik an den Server senden.
Da ich ja unter Linux arbeite, war die Programmauswahl etwas schwieriger; zum Senden der Daten an den Server benutze ich Ices2. Ausserdem wollte ich das komplett auf der Konsole machen können und eine gute Integration in den Music-On-Console Player haben.
In der Konfiguration von Ices2 stellt man entweder eine Playlist ein oder ein Script, welches genau einen Dateienamen zurückliefert.
Ich benutze letzteres und habe mir hierfür ein kleines Hilfs-Script geschrieben.
Aus Sicht von Ices gibt dieses Script jedes mal nur einen Dateinamen aus der aktuellen Wartschlange zurück.
Falls die Warteschlange leer ist, wird solange automatisch ein Lied aus der “Notfall-Warteschlange” (manche nennen das AutoDJ) geliefert, bis die Warteschlange wieder was zu bieten hat.
Der größere Teil des Scriptes kümmert sich um das Auffüllen der beiden Warteschlangen (Queues). Beim Aufruf gibt es folgende Möglichkeiten:
showqueue – Zeigt die aktuelle Warteschlange an
showequeue – Zeigt die Auto-DJ-Warteschlange an
addtoqueue file/dir – fügt die Datei oder das Verzeichnis zur Warteschlange hinzu
addtoequeue file/dir – wie oben, aber zur Auto-DJ Warteschlange
get – Auf diese Weise ruft Ices2 das Script auf, um eine Datei zu bekommen
played – Liefert eine Liste aller bisher gespielter Dateien
help – Zeigt eine kurze Hilfe an
In moc kann man damit sehr einfach eine Datei oder ein ganzes Verzeichnis in die Warteschlange übernehmen.
Dabei wird für jede einzelne Datei geprüft, ob sie als Ogg vorliegt und falls nicht, automatisch encodiert (Ices2 mag nur Ogg streamen ).
Sollte die Datei bereits encodiert worden sein (im temporären Feed-Ices Verzeichnis), entfällt das Encodieren.
Es wird auch überprüft, ob die Datei, die aktuell zur Queue hinzugefügt werden soll, mit der letzten auf der Warteschlange übereinstimmt und verweigert dann das Hinzufügen.
Dies liegt daran, dass Ices2 sich weigert dieselbe Datei mehrmals hintereinander abzuspielen und sich irgendwann wegen zu vieler Fehler beendet.
Eine Besonderheit:
Ices2 überprüft vor dem Abspielen der Dateien die Seriennummer. Diese wird wohl vom Encoder zufällig oder sonst wie erzeugt. Ffmpeg tut dies leider nicht, im Zusammenspiel mit Ices2 fällt es also weg. Es gibt wohl eine Lösung, nachträglich mit vorbiscomment diese Seriennummer in die Datei zu schreiben. Ixquick.com hilft bestimmt.
Sox macht es richtig und es funktioniert somit auch mit Ices2.
Dieses Script ist mal wieder so ein “es reicht mir aus”-Fall, es gibt mit Sicherheit bessere.
Ich werde auch nicht wirklich streamen sondern wollte mich nur mal mit dem Thema auseinandersetzen. Zur Not kann man so mal dem einen oder anderen seine Musik nahe bringen
Hier die aktuelle Version des Scripts zum Download: Bitte im Wiki nachsehen…
Oder hier als Quellcode (Bash); wie man sieht sind noch einige Debug Sachen drin …
Streamtuner ist ein Linuxprogramm zum anzeigen diverser Streams.
Um diese direkt in mocp abzuspielen, muss man in den Einstellungen entsprechend diese Zeile einfügen: mocp -c && mocp –append %q && mocp -p
Das bewirkt: Playliste löschen, aktuellen Stream zur Playliste hinzufügen und Playliste abspielen.