[Berlin-wireless] Audio-Teststream
Sven-Ola Tuecke
sven-ola
Mi Jan 3 09:21:08 CET 2007
Hi,
mmh. Recht aufwaendig. Ich hab' mal ein bisschen mit dem olsr-bmf Plugin
herumgespielt. Es nimmt Multicast-Pakete auf eth an und versendet diese als
normalen Broadcast auf einem UDP Port entlang der OLSR-MPR-Kette. Die kommen
dann ueberall als Multicast wieder auf eth 'raus. IP Adresse dann eine MCast
addr, z.b. 224.0.0.x (Private Mcast).
Zum Abspielen hatte ich einen vls (kleiner Bruder von vlc) auf meinem
Batterie-WAP verwendet. Fuer eine Matrix (.ts) war's da etwas eng auf dem
Geraet, aber ein kleines Swapfile auf der sd-card half. Problem allerdings:
Im Broad/Multicast viel zuviel Paketloss. Video ging zwar halbwegs, aber
Audio leidet darunter sehr. Auch verursacht die geringe Datenrate sehr viel
Netzlast (remember: fuer Xcast gibt's eine extra-Datenrate im Wifi-Treiber,
die ist eine der Basic-Rates und defaultet zu 1Mbit dass ja sehr 'langsam'
sendet bzw. viel Kanalzeit braucht).
Ich denk' daher, wir braeuchten eine Kombi/etwas neues und muessen es evt.
selbst machen. Vielleicht sowas (aehnlich olsr-bmf, aber es sollte natuerlich
spaeter auch batman faehig sein):
- Einspeisen eines (MCast) Packetstreams an einem Node
- Ein pcap-Prozess lauscht auf jedem Node auf Unicasts eine bestimmten Ports.
- Die erlauschten Pakete (wenn nicht schonmal erhalten) werden an den besten
Nachbarn (bzw. zweitbesten wenn bester == quelle) als Unicast weitergesendet.
- Das ganze wird mit einer Parity gesichert. 2 * Daten + 1 * Parity oder so.
Parity ist unaufwaendig zu berechnen (wenig CPU). Es gibt raffinierteres - im
Kernel ist glaube ich sogar schon Reed-Solomon drin - aber einen
Rechenaufwand wie bei der FEC von DVT-T werden die kleinen Dinger nicht
schaffen.
- Somit kann ein fehlendes Paket von _jedem_ Node aus 1 Daten + 1 Parity
wieder hergestellt werden. Das Signal wird also von jedem Node aufgefrischt
und weitergeleitet. Evt. auch 1*Daten+1*Parity in Faellen von mehr als 33%
Paketloss auf Unicast - obwohl so Verbindungen eigentlich hoechstens fuer
email || ssh gut sind.
- Evt. muss so eine netzweite Ressource auch noch gegen Mehrfachnutzung
geschuetzt werden, Evt. im Wer-zuerst-kommt-mahlt-zuerst-fuer-eine-Stunde
Verfahren. Achso: und es wird sicher nur 'nearly live'.
// Sven-Ola
Am Mittwoch, 3. Januar 2007 01:43 schrieb Alexander Morlang:
> Joux schrieb:
> > Nachdem Sveno mich netterweise auf den icecast Streamingserver[1]
> > hinwies (siehe "Machbarkeit von Audiostreaming ins FF-Netz") hab ich
> > mich damit mal auseinandergesetzt. Der Server ist auf einem aufgeräumten
> > WRT lauffähig[2], wird über das Netz mit einem Stream versorgt und
> > verteilt diesen dann weiter.
>
> Coole sache, wenn man livestreaming machen will duerfte es allerdings
> ein paketloss/bandbreitenproblem geben. Loesen liesse sich dies durch
> mehrere verteilte streaming-server (wrts). Das ansprechen dieser gruppe
> von server koennte man anycastlike mit hna loesen:
>
> Annahme: es gibt eine gruppe streamingserver, welche den gleichen stream
> anbieten, wie sie dies machen ist nicht thema.
>
> Man definiert _eine_ ip, unter der eine gruppe streamingserver
> angesprochen wird. Jeder server bekommt diese ip zusaetzlich als
> aliasip. Diese ip announced er mit einen hnaeintrag.
>
> Am client gibt man nun diese ip an, mit dem erfolg, das der naechste
> streamingserver im mesh mit der besten metrik antwortet und dadurch ein
> minimun an bandbreite verbraucht wird mit einem maximum an qualitaet.
>
> Erweitern liesse sich das schema, in dem man im netz einen
> streamingserver stehen hat und dessen ip per hna announced wird, dann
> haetten nutzer von wolken ohne streamingserver auch zugang und in
> bereichen mit zugang wird der lokale server transparent genutzt.
>
>
> [geloescht]
>
> > joux
>
> Gruss, Alex
>
> P.S.: Ist nur ne idee, bitte darum, das konzept zu 'zerreissen' auf das
> es danach besser ist.
>
> > --
> > [1]http://www.icecast.org/
> > [2]http://wiki.leipzig.freifunk.net/Icecast
>
> _______________________________________________
> Berlin mailing list
> Berlin at olsrexperiment.de
> https://www.olsrexperiment.de/cgi-bin/mailman/listinfo/berlin
_______________________________________________
Berlin mailing list
Berlin at olsrexperiment.de
https://www.olsrexperiment.de/cgi-bin/mailman/listinfo/berlin
Mehr Informationen über die Mailingliste Berlin