|
|
|
|
![]() Druckversion |
Audio im MP3-Format in Echtzeit erzeugen und das ganze dann noch an einen
Icecast-Server schicken, klingt recht gewagt.In Verbindung mit einer TV-Karte eröffnen sich ungeahnte Möglichkeiten...
In einem früheren Artikel hatten wir bereits gezeigt, wie man mittels einer
TV-Karte das aktuelle Fernsehbild übers Netz verschicken kann, so daß man
von überall mittels eines Web-Browsers das TV-Programm sehen kann.
Bei Verwendung einer Webcam mag ja häufig das Bild ausreichend sein, aber beim
TV-Programm benötigt man schon den Ton.
Um Sound im Netz in Echtzeit zu streamen (und das im MP3-Format), benötigt man zumindest einen Icecast-Server. Die Installation dieses Servers finden Sie im Artikel "Eigene Radiostation: Icecast".
Will man nun den Ton in Echtzeit verschicken und nicht nur eine Reihe an bereits
decodierten MP3-Dateien, benötigt man noch einen schnellen MP3-Encoder (empfehlenswert
ist hier z.B. Lame) und das Programm LiveIce, welches zwar Bestandteil des
Icecast-Paketes ist, von dem man sich aber unbedingt eine aktuelle Version von der
Homepage
![]()
LiveIce liest nun den Line-In-Eingang der Soundkarte aus und schickt diese Daten an
Lame, welches wiederum die Daten in Echtzeit ins MP3-Format umwandelt.
Das schöne ist nun, daß zur Last-Verteilung alle Dienste auf verschiedenen Rechnern
erledigt werden können, so daß Icecast-, MP3-Encoder-, Video und Web-Server jeweils ideal
für Ihre Ausgaben ausgerüstet werden können (Netzandbindung, Firewall-Regeln, CPU ...),
ohne daß sich die einzelnen Dienste in die Quere kommen können.
![]() Solange man aber nicht professionell mehrere tausend Personen mit Video/Audio beliefern will, sondern nur einige Rechner im lokalen Netz, ist diese Arbeit durchaus von einem einzigen mittelmäßig ausgerüstetem PC zu bewerkstelligen. (D.h. ein einzelner Rechner mit TV- und Soundkarte, installiertem Webserver und Icecast-Server)
Die Installation von LiveIce verläuft recht unspektakulär. Bevor man aber LiveIce selbst
installiert, sollte man zuerst einen MP3-Encoder installieren. Am besten eigent sich
für eine gute Zusammenarbeit zwischen LiveIce und Encoder das Programm Lame. >> tar zxvf lame3.87beta.tar.gz -C /tmpwird das Paket kompiliert und installiert: >> cd /tmp/lame3.87/ >> ./configure >> make >> make installÄhnlich vorgegangen wird nun auch mit LiveIce (herunterladen von http://star.arm.ac.uk/~spm/software/liveice.html) >> tar zxvf liveice.tar.gz -C /tmp >> cd /tmp/liveice >> ./configure >> make >> make installund kopieren das Paket (als root) nach /usr/local >> cp -a /tmp/liveice /usr/localDie Konfiguration von liveice erfolgt über ein Frontend. Die Konfigurationsdatei wird im selben Verzeichnis abgelegt, wo man sich gerade befindet, also wechseln wir nach /usr/local/liveice >> cd /usr/local/liveice >> ./liveiceconfigure.tkund machen folgende Einstellungen:
![]()
Starten Sie als nächstes den Icecast-Server (falls er nicht schon laufen sollte) in einem weiteren Terminal mittels >> icecastSie erhalten folgende Ausgabe:
Icecast wartet nun auf einen Client, der ihm die zu verschickenden Daten sendet. Nun starten wir LiveIce mit >> ./liveiceund sollten dafür folgende Ausgabe erhalten
Die Daten von Liveice werden nun an den Icecast-Server geleitet, was wir daran erkennen, daß Icecast folgende Ausgabe anbietet: -> [21/Oct/2000:00:51:58] Accepted encoder on mountpoint /icy_0 from jpsi.ziegler.de. 1 sources connected ->
Mittels eines Mixers (kmix oder auch gmix) kann man nun bei seiner Soundkarte (soweit sie denn Full-Duplex unterstützt) die Aufnahmequelle auswählen:
![]() (SB Live! value - Karte) In der untersten Zeile kann man nun den jeweiligen Rec.-Knopf drücken um die jeweilige Quelle (CD, Line-In oder Mikrofon) auszuwählen. Um nun den Ton des TV-Programms aufzunehmen, wählen Sie den Rec-Knopf bei Line-In aus. Auf Empfängerseite benötigt man nun neben dem Webbrowser, auf dem die Seite mit dem TV-Bild gezeigt wird, auch einen MP3-Player, der mit dem Icecast-Server Kontakt aufnehmen kann (z.B. xmms, freeamp, mpg123) >> mpg123 http://mein.server.de:8010wobei es wichtig ist, auch die Portnummer des Icecast-Servers anzugeben. Somit hat man nun neben dem TV-Bild auch den TV-Ton.
Neben dem reinen Verschicken von TV-Bild und TV-Ton kann man diese Technik auch ideal zur Internet-Telefonie verwenden, ohne auf irgendeine Spezialsoftware angewiesen zu sein. Eine an die TV-Karte angeschlossene Webcam und ein an die Soundkarte angeschlossenens Mikrofon ergeben somit ein echtes Bildtelefon. Der Vorteil hierbei ist, daß jede Person, die einen Webbrowser und einen streaming-fähigen MP3-Player parat hat (unter Windows z.B. WinAMP) sofort Bild und Ton empfangen kann, denn der Linux-User kann ja nicht auf die unter Windows so beliebte Software NetMeeting zurückgreifen. Bei Full-Duplex-Soundkarten können sogar beide Seiten TV- und Audio-Server installieren und somit echte Internet-Bild-Telefonie erreichen. Leider hat die hier gezeigte Lösung noch einige Probleme. Das nervigste ist bestimmt die fehlende Synchronisation von Bild und Ton.
Das Echtzeit-Encodieren und besonders das Abspielen des MP3-Stream (wegen des
Bufferings) bewirkt zwangsläufig eine Verzögerung des Tons um ein bis zwei Sekunden.
Somit hängt der Ton dem Bild immer etwas hinterher.
Links:
Platz für Kommentare & Fragen:
|
|
|