Natenom´s Blog

Notizblock, Linux, IT, Sonstiges und Meins

Durchsuche Beiträge mit Schlagwörtern moc

Die Hauptarbeit und die Logik stammen von Hubert Chathi und Thomas Perl (siehe unten), die ihre Arbeit frei verfügbar gemacht haben. Ich habe nur die Funktionen zum Status des Systems entfernt und durch Steuerdinge für MusicOnConsole (moc) ersetzt. Mehr nicht :P

Jeder der den Musicbot steuern möchte, muss nur den entsprechenden Account in seine Kontakte aufnehmen.

Der Rest und das Script sind im Wiki unter: http://wiki.natenom.name/software/mediaplayer/moc/jabberbot

Zum Ausprobieren kann jeder auf unseren Mumble Server kommen, wo der Bot läuft…

Verwandte Themen...

Inspiriert durch diesen Artikel hier: http://www.darkerradio.com/news/free-music-charts-im-neuen-vlc-media-player/.

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.

Die ganze Beschreibung und das Script selbst gibt es im Wiki: http://wiki.natenom.name/software/mediaplayer/moc/moc_extend

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.

Verwandte Themen...

Ins Wiki übertragen: http://wiki.natenom.name/projekte/icecastsource.

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 …

Bitte im Wiki nachsehen wegen des Quellcodes…

Verwandte Themen...

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.

Verwandte Themen...

Ins Wiki übertragen: http://wiki.natenom.name/software/mediaplayer/moc/infopopup

Verwandte Themen...