Internetstreaming

Ab der Linux Kernel Version 2.6.37 kann auf eine 2. Soundkarte verzichtet werden,
da ab dieser Kernel-Version das Modul „snd-aloop“ was ein loopback-Device erzeugt bereits mitgeliefert wird.

Die folgende Beschreibung bezieht sich auf OpenSuSE12.1 sie sollte aber auch leicht auf andere Distributionen übertragbar sein.

Voraussetzungen:
* einen Streaming-Server (Icecast2 oder Shoutcast)
* einen Streaming-Client (Ices2 oder SC_Trans)
* Linux Kernel ab Version 2.6.37 auf dem SvxLink-PC (z.B. OpenSuSE 12.1)

Zunächst müssen Icecast2 und Ices2 oder bei Verwendung von Shoutcast der Shoutcast-Server und SC_Trans  installiert und nach Wunsch konfiguriert werden, im Internet gibt es hierfür mehr als genügend Installations- und Konfigurationsanleitungen.

Der Streaming-Server muss nicht zwingend auf dem selben PC installiert werden auf dem auch SvxLink läuft, hier bietet sich schon allein wegen der besseren Netzwerkanbindung ans Internet ein root-Server an, soweit dieser zur Verfügung steht.

Ices2 oder auch SC_Trans werden entweder auf dem PC auf dem SvxLink läuft oder wie bei mir, auf dem PC auf dem remotetrx läuft (um den SvxLink-PC von der CPU-Last zu befreien) installiert.

Dann müssen wir sicherstellen das die Module „snd-aloop“ und „snd-pcm-oss“, dieses wird für die Verbindung zum Streaming-Client benötigt, beim starten des Systems auch geladen werden.

[/etc/sysconfig/kernel]:
MODULES_LOADED_ON_BOOT="snd-aloop snd-pcm-oss"

Nach dem Neustart des Systems kann nun mit dem Befehl „aplay -l“ überprüft werden ob das Modul „snd-aloop“ auch geladen wurde.

remote-trx1:~ # aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: rev40 [VIA 82C686A/B rev40], device 0: VIA 82C686A/B rev40 [VIA 82C686A/B rev40]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 1: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7

Wenn soweit alles funktioniert und auch das Modul „snd-pcm-oss“ ordnungsgemäß geladen wurde dann kann nun „/dev/dsp1“ als Capturedevice für den Streaming-Client verwendet werden.

[sc_trans.conf]:
...
capture=1
capturedevice=/dev/dsp1
captureinput=Capture
capturesamplerate=16000
capturechannels=1
...

[ices2.xml]:
...
< stream >
< metadata >
< name >DB0DIN< /name>
< genre >Hamradio Network< /genre >
< description >DB0DIN Livestream< /description >
< url >http://db0din.de< /url >
< /metadata >
< input >
< module >oss< /module >
< param name="rate">16000< /param>
< param name="channels">1< /param>
< param name="device">/dev/dsp1< /param>
< param name="buffer-time">500< /param>
< param name="metadata">1< /param>
< param name="metadatafilename">/tmp/info.txt< /param>
< /input>
...

SvxLink oder der remotetrx wird noch als Multi-Tx konfiguriert
[/etc/svxlink/svxlink.conf oder /etc/svxlink/remotetrx.conf]:

[RepeaterLogic]
TYPE=Repeater
RX=QuantarRx
TX=MultiTx
MODULES=ModuleEchoLink,ModuleMetarInfo,ModulePropagationMonitor,ModuleSelCallEnc,ModuleTrafficInfo
....

[MultiTx]
TYPE=Multi
TRANSMITTERS=RepeaterTx,StreamingTx

[RepeaterTx]
TYPE=Local
AUDIO_DEV=alsa:plughw:0
AUDIO_CHANNEL=0
PTT_PORT=/dev/ttyS0
PTT_PIN=DTRRTS
TX_DELAY=0
PREEMPHASIS=0
DTMF_TONE_LENGTH=100
DTMF_TONE_SPACING=50
DTMF_TONE_AMP=-18

[StreamingTx]
TYPE=Local
AUDIO_DEV=alsa:plughw:1,1 #hier wird nun das 1. capture-device des snd-aloop ausgewählt
AUDIO_CHANNEL=0
PTT_PORT=NONE
PTT_PIN=DTRRTS
TX_DELAY=0
PREEMPHASIS=0

Jetzt alle Applikationen starten und die Funktion prüfen.
Viel Erfolg wünscht do6ep, Mathias

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. By continuing to use the site, you consent to the use of cookies. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen