4.3 Übertragungslösung bei Proton
4.3.1 Der Source-Client von Proton, 'darkice'
Bei Proton ist der Live-Feed lediglich ein Software-Modul. Die Anforderungen dafür sind:
-
Kompatibilität mit der Software 'jackd' Audio-Server; denn das Eingangssignal kann darüber abgegriffen werden
-
Zulieferung zum Streaming-Server 'icecast2' implementiert/ eingebaut. (Das ist der verwendete Streaming-Server, der im nächsten Kapitel genauer behandelt wird.)
Damit war die Auswahl sehr beschränkt, so dass die Wahl auf die gängige, leicht verfügbare Open-Source-Komponente fiel, die auch in den Debian-Paketquellen bereit liegt: 'darkice'.
Wie bei vielen Linux-Programmen üblich, gibt es bei 'darkice' eine Konfigurationsdatei, in der mit Texteinträgen Parameter gesetzt werden können. Diese wird beim Starten von 'darkice' in der Kommando-Zeile mit angegeben. Beim Hochstarten wird die hinterlegte Konfiguration angewandt. (Die verwendete Datei ist in der Anlage 'darkice.cfg; Konfigurationsdatei für Live-Feed SW 'Darkice'' zu finden.)
Bei Proton werden dem Server 3 Streams zugeliefert, die in der Konfigurationsdatei beschrieben sind:
-
der Stream für die UKW-Sender
-
ein Ogg-Stream mit einer guten Qualität für die Proton-Online-Hörer und
-
ein MP3-Stream mit nicht der besten Qualität
Der MP3-Stream ist für Hörer gedacht, die Probleme haben, den Ogg-Stream abzuspielen, weil ihr Endgerät bzw. die Abspiel-Software Ogg-Vorbis-Streams nicht unterstützt (wie z.B. das 'Terratec NOXON iRadio 460+'1 oder der Apple-eigene Audio-player iTunes2).
Alle diese Zuliefer-Streams bleiben im Streaming-Rechner und werden an den dort eingerichteten Streaming-Server weiter gereicht. „Um den Rechner mit sich selbst kommunizieren zu lassen, wird ein virtuelles Interface, also eine Schnittstelle, die sich wie eine virtuelle Netzwerkkarte verhält, erstellt“3 - bzw. ist das standardmäßig eingerichtet und muss nur noch adressiert werden. Diese Schnittstelle wird auch 'loopback-device' genannt. Die 'loopback-device'-Adresse ist 127.0.0.1 oder 'localhost'4; was somit auch die Zieladresse für den Live-Feed ist.
[icecast2-0] # fuern internen Server - FETTER VERSORGUNSSTREAM format = vorbis bitrateMode = vbr # constant bit rate quality = 0.6 maxBitrate = 206 # geht nur fuer ogg server = localhost |
Beispiel aus der verwendeten 'darkice.cfg; Konfigurationsdatei für Live-Feed SW 'Darkice' ' (die vollständig in den Anlagen einzusehen ist; siehe unten ... :-)
Anlage 8: darkice.cfg; Konfigurationsdatei für Live-Feed SW 'Darkice'
# Das ist die verwendete Datei von 'Proton – das freie Radio' für die # Konfiguration von darkice; # Nicht alle Kommentare sind aktuell und zeitgemäß! ;-) # sample DarkIce configuration file, edit for your needs before using # see the darkice.cfg man page for details # this section describes general aspects of the live streaming session [general] duration = 0 # duration of encoding, in seconds. 0 means forever bufferSecs = 10 # Buffer-Speicher in Sec, von Soundkarte bis zum # Encoder reconnect = yes # soll sich wieder verbinden; ist aber eigentlich # eh default realtime = yes # Use POSIX realtime scheduling, "yes" or "no". # (optional parameter, defaults to "yes") # this section describes the audio input that will be streamed [input] device = jack # jack_auto to automatically make Jack connect # to the first source. sampleRate = 44100 # sample rate in Hz. try 11025, 22050 or 44100 bitsPerSample = 16 # bits per sample. try 16 channel = 2 # channels. 1 = mono, 2 = stereo jackClientName = StreamerDarkice # this section describes a streaming connection to an IceCast2 server # there may be up to 8 of these sections, named [icecast2-0] ... [icecast2-7] # these can be mixed with [icecast-x] and [shoutcast-x] sections [icecast2-0] # fuern internen Server - FETTER VERSORGUNSSTREAM format = vorbis bitrateMode = vbr # constant bit rate quality = 0.6 maxBitrate = 206 # geht nur fuer ogg server = localhost # IP und Port port = 7998 # port of the IceCast2 server, usually 8000 password = … # source password to the IceCast2 server mountPoint = fett.ogg # mount point of this stream on the IceCast2 [icecast2-1] # fuer med-user format = mp3 # format of the stream: mp3 bitrateMode = cbr # constant bit rate bitrate = 96 # bitrate of the stream sent to the server; # GEAENDERT am 17.Maerz2014 von 64 (gespeichert 14Aug2012) auf 96 server = localhost # IP und Port port = 7998 # port of the IceCast2 server, usually 8000 password = … # source password to the IceCast2 server mountPoint = proton # mount point of this stream on the IceCast2 # server # optional values fuer diesen Stream sampleRate = 44100 # fuer andere Werte als Input channel = 2 # fuer andere Werte als Input lowpass = 17500 # lame encoder filter settings, mit 0 # defaults used # highpass = 400 # sinnlos, weil erst f ueber 500 Hz akivierbar name = Proton - das freie Radio # name of the stream description = oeffentlicher Stream von Proton - das freie Radio # description of the stream url = http://www.radioproton.at # URL related to the stream genre = freies Radio | community radio # genre of the stream public = yes # advertise this stream? [icecast2-2] # fuer den med-user.net format = vorbis bitrateMode = vbr # constant bit rate quality = 0.3 # 86kbps =0.4, 91kbps=0.45, 83kbps=0.35, 0.3=80kbps, 0.2=70kbps maxBitrate = 160 # geht nur fuer ogg server = localhost # IP und Port port = 7998 # port of the IceCast2 server, usually 8000 password = … # source password to the IceCast2 server mountPoint = protonquality.ogg # mount point of this stream on the IceCast2 # server # optional values fuer diesen Stream channel = 2 # geht nur fuer mp3s; fuer andere Werte als # Input name = Proton - das freie Radio # name of the stream description = Qualitaets-Stream von Proton - das freie Radio # description of the stream url = http://www.radioproton.at # URL related to the stream genre = freies Radio | community radio # genre of the stream public = yes # advertise this stream? |
1 Vgl. http://www.amazon.de/gp/product/B005UD2REO/ref=pd_lpo_sbs_dp_ss_1?pf_rd_p=556245207&pf_rd_s=lpo-top-stripe&pf_rd_t=201&pf_rd_i=B001QBZANE&pf_rd_m=A3JWKAKR8XB7XF&pf_rd_r=0GFDB8FSCAGJ5HMQ8SCB „Terratec NOXON iRadio 460+ Internet Radio (DAB+/FM)“ , 2015-02-16
2 Vgl. https://xiph.org/quicktime/faq.html#faq_itunes_stream „Does XiphQT allow one to listen to ogg network streams in iTunes?“ , 2015-02-16
3 http://www.informationsarchiv.net/articles/1117/ „Bedeutung der IP-Adresse 127.0.0.1“, 2015-02-16
4 Vgl. http://www.informationsarchiv.net/articles/1117/ „Bedeutung der IP-Adresse 127.0.0.1“, 2015-02-16
Add new comment