[[Vorlage(Archiviert )]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Paketquellen_freischalten: Bearbeiten von Paketquellen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:Rechte: Rechte für Dateien und Ordner ändern] }}} [[Inhaltsverzeichnis(3)]] [http://www.icecast.org/ices/ Ices2] {en} ist ein Source-Client aus dem Icecast-Projekt. Ices2 sendet die Ausgabe der Soundkarte oder eine Abspielliste als einen Ogg/Vorbis-Stream an einen [:Icecast2:]-Server. = Installation = Folgendes Paket muss installiert [1] werden: {{{#!vorlage Paketinstallation ices2, universe }}} Die Datei '''/var/log/ices/ices.log''' muss angelegt [4] und dem Benutzer zugänglich gemacht werden [5]. = Bedienung = Ices2 wird über '''.xml'''-Dateien konfiguriert. Unter '''/usr/share/doc/ices2/examples/''' sind zwei Beispieldateien für das Senden des Soundtreiber-Signals (je nachdem, ob man ALSA oder OSS nutzt) und eine Beispielkonfiguration für das Senden einer Abspielliste, welche im einfachen Textformat erstellt werden kann. Der Programmaufruf erfolgt unter Angabe der Konfigurationsdatei: {{{#!vorlage Befehl ices2 /PFAD/ZUR/Konfiguration.xml }}} = Konfiguration = == Genereller Aufbau == {{{#!code xml general settings stream section }}} == Generelle Einstellungen == Diese Einstellungen betreffen IceS als Ganzes. Das folgende Beispiel ist ein nützliches Arbeits-Beispiel: {{{#!code xml 0 /var/log/ices ices.log 2048 3 0 /var/log/ices/ices.pid }}} ==== Log-Level ==== * ``1`` - Nur Fehlermeldungen werden geloggt * ``2`` - Obige und Warnmeldungen werden geloggt * ``3`` - Obige und Informationsmeldungen werden geloggt * ``4`` - Obige und Debugmeldungen werden geloggt == Stream-Abschnitt == Hier sind die Einstellungen für den ein- und ausgehenden Datenstrom festgelegt. {{{#!code xml ... ... ... }}} === Metadata === {{{#!code xml Ubuntuusers Icecast2 Test Stream Rock This is the Ubuntuusers Icecast2 Radio Test Stream! http://wiki.ubuntuusers.de/Ices2 }}} Dieser Abschnitt beschreibt, welche Informationen als Metadaten beim Verbinden an den Icecast-Server gesendet werden. Dieser Abschnitt gilt für alle Instanzen, kann aber vom Abschnitt einer einzelnen Instanz überschrieben werden. === Input === Dieser Bereich behandelt, wie die Audiodaten von Ices2 geholt werden. Es gibt verschiedene Wege, wie dies bewerkstelligt werden kann, meistens durch eine Abspielliste oder über das Signal der Soundkarte. Das Layout für die verschiedenen Inputmodule ist ähnlich. Innerhalb des Input-Abschnitts wird ein Modul-Tag zur Identifikation des in Frage kommenden Moduls benötigt, dem verschiedene Parameter mitgegeben werden können. Einzelheiten zu den Modul-Parametern werden später erläutert. === Instance === Mehrere Instanzen können definiert werden, um mehrere Encodierungs-Vorgänge zu erlauben, was nützlich ist, um einen Input in verschiedenen Bitraten ausgeben zu können. Jede Instanz definiert einen eigenen Satz von Einstellungen für den eingehenden Audio-Datenstrom. Jede Änderung am Input wird auf die Instanz angewendet. {{{#!code xml localhost 8000 hackme /Beispiel1.ogg 1 44100 22050 1 /home/ices/dump/stream1.ogg 0 65536 131072 -1 0 22050 1 11000 }}} ==== hostname ==== Setzt den hostname des Icecast-Servers, der kontaktiert wird. Dies kann ein Name oder eine IP-Adresse (ipv4 oder ipv6 auf Systemen, die ipv6 unterstützen) sein. Die Voreinstellung ist ``localhost``. ==== port ==== Setzt den Port, auf dem der Icecast-Server kontaktiert wird. Normalerweise ``8000``, kann aber in Abstimmung mit dem Server beliebig gewählt werden. ==== password ==== Zum Bereitstellen des Streams werden der Benutzername des Benutzers ``source`` und dessen Passwort für den Icecast-Server benötigt. Im Icecast2-Server sind dies beispielsweise ``source`` und ``hackme``. ==== mount ==== Mountpoints (Einbindepunkte) werden verwendet, um einen einzelnen Stream auf einem Icecast-Server zu identifizieren. Sie müssen mit einem '''/''' beginnen und sollten mit '''.ogg''' enden. ==== yp ==== Streams werden nicht in den Yellow Pages gelistet, außer ``yp`` ist ausdrücklich eingestellt (Wert ist ``1``). In den Yellow Pages werden Internetradio-Stationen mit Name, Beschreibung, Genre und laufendem Titel geführt, damit Zuhörer diese finden können (beispielsweise auf [http://dir.xiph.org/ dir.xiph.org] {en}). ==== Resample ==== {{{#!code xml 44100 22050 }}} Beim Encodieren oder Re-Encodieren kommt ein Punkt, an dem PCM-Audiodaten als Ogg/Vorbis encodiert werden. In manchen Situationen verlangt ein bestimmter Stream vielleicht eine niedrigere Samplerate, um eine niedrigere Bitrate zu erreichen. Die Resample-Funktion verändert die Audiodaten, bevor sie den Encoder durchlaufen. Die gängigsten Einstellungen sind ``48000``, ``44100``, ``22050`` und ``11025``, und es ist wirklich nur brauchbar, um eine niedrigere Samplerate zu erreichen. Die Samplerate mit IceS zu erhöhen ist nicht möglich. ==== Downmix ==== Einige Streams wollen ihre Bitrate noch weiter absenken, dazu wird die Anzahl der verwendeten Kanäle auf einen beschränkt. Die Umwandlung von Stereo in Mono ist allgemein üblich und wenn hier ``1`` eingestellt ist, werden die vorhandenen Kanäle zu einem Kanal (Mono) zusammengemischt. Wie bei der Resample-Funktion betrifft dies nur die Instanz, zu der es notiert ist. ==== Savefile ==== Manchmal soll der gesendete Stream auch gleich auf die Festplatte gespeichert werden. Nützlich ist dies vor allem bei Live-Aufnahmen. Dazu muss hier nur der Pfad angegeben werden, wo der Stream abgespeichert werden soll. ==== encode ==== {{{#!code xml 0 65536 131072 -1 0 22050 1 11000 }}} ===== quality ===== Setzt ein Qualitätsmaß für den Encoder. Die Einstellungsbreite liegt zwischen ``-1`` und ``10``, wobei ``-1`` die niedrigste Bitrate ist, und ``10`` die höchste (default ``3``), Dezimalwerte sind erlaubt, somit ist z.B. ``1.5`` erlaubt. Die aktuell verwendete Bitate hängt von der Einstellung der Vorbis-Bibliotheken, den Kanälen (Mono oder Stereo) und den zu encodierenden Audiodaten ab. Der Wert ``0`` für ``quality`` bei einer Samplerate von 44100hz und zwei Kanälen liegt im Normalfall bei 64kbps. ===== nominal-bitrate ===== Setzt eine Bitrate, die vom Encoder eingehalten werden soll. Die Einstellung kann als Alternative zu ``quality`` genutzt werden. ===== managed ===== Auf 1 gesetzt erlaubt dies die vollständige Verwaltung der Bitrate durch den Encoder. Dies wird zusammen mit ``nominal-bitrate``, ``maximum-bitrate`` und ``minimum-bitrate`` benutzt, um einen Stream mit genaueren Anforderungen an die Bitrate zu erzeugen. Diese Einstellung führt allerdings zu höherer CPU-Last. ===== maximum-bitrate ===== Setzt die maximale Bitrate in Bits pro Sekunde, um die von einem Stream zu benutzende Bandbreite zu begrenzen. Funktioniert nur in Verbindung mit ``managed``. ===== minimum-bitrate ===== Setzt die minimale Bitrate in Bits pro Sekunde, um die minimal von einem Stream benutzte Bandbreite zu begrenzen. Funktioniert nur in Verbindung mit ``managed``. Da diese Funktion einen geringen Nutzen hat, sollte sie nicht wirklich Anwendung finden. ===== samplerate ===== Setzt die zum Encodieren verwendete Samplerate, welche entweder die Samplerate des Inputs oder das Ergebnis der ``resample``-Funktion sein muss. Ein falsch gesetzter Wert führt dazu, dass der Stream sich zu schnell oder langsam anhört. ===== channels ===== Setzt die Anzahl der Kanäle, die encodiert werden sollen. Dies ist entweder die Anzahl der Kanäle des verwendeten Input-Moduls oder ``1``, wenn ``downmix`` benutzt wird. == Input Module == === ALSA === {{{#!code xml alsa 44100 2 hw:0,0 2 500 1 /home/ices/metadata }}} Beispiel für metadatafile: {{{ artist=raindog title=meet yourself }}} === OSS === {{{#!code xml oss 44100 2 >!-- die Soundkarte --> /dev/dsp 1 /home/ices/metadata }}} === Playlist === ==== Basic ==== {{{#!code xml basic /pfad/zur/playlist 0 0 1 }}} Beispielhafte Abspielliste im einfachen Textformat: {{{ /pfad/datei_1.ogg /pfad/datei_2.ogg /pfad/datei_n.ogg }}} ==== Skript ==== Ein Skript oder Programm, das den Speicherort einer OggVorbis-Datei ausgibt: {{{#!code xml script /path/to/program }}} = Links = * [:Internetradio:] {Übersicht} Übersichtsartikel # tag: Internet, Multimedia, Internetradio