Stream :

From Tmplab

Revision as of 23:54, 27 June 2011 by Ursula (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

+ Émission radio FM pour le roam le roam émit sera noyé dans du bruit blanc si la connexion FM est perdue...

+ + Emission stream

avec darkice et Jack


++ Installation sur Mac

  • avec MacPorts, installer les composants suivants :
 * faac
 * lame
 * libogg
 * libvorbis
 * twolame

code sudo port install faac lame libogg libvorbis twolame /code

  • décompresser l'archive

code tar -zxvf darkice-0.20.1.tar.gz /code

  • se placer dans le repertoire

code cd darkice-0.20.1 /code

  • configurer le bouzin

code CC='/usr/bin/gcc-4.0' \ CFLAGS='-O2 -arch i386' \ CPPFLAGS='-I/opt/local/include' \ CXX='/usr/bin/g++-4.0' \ CXXFLAGS='-O2 -arch i386' \ LDFLAGS='-L/opt/local/lib' \ INSTALL='/usr/bin/install -c' \ ./configure \

       --prefix=/opt/local \
       --with-core=yes \
       --with-faac=yes \
       --with-faac-prefix=/opt/local \
       --with-lame=yes \
       --with-lame-prefix=/opt/local \
       --with-jack=yes \
       --with-jack-prefix=/usr/local \
       --with-twolame=yes \
       --with-twolame-prefix=/opt/local \
       --with-vorbis=yes \
       --with-vorbis-prefix=/opt/local

/code note Remplacer i386 par x86_64 sur Snow Leopard /note

  • compiler le bouzin

code make /code

  • installer le bouzin

code sudo make install /code

  • écrire un fichier de config darkice.cfg :

code

  1. sample DarkIce configuration file, edit for your needs before using
  2. see the darkice.cfg man page for details
  1. this section describes general aspects of the live streaming session

[general] duration = 0 # duration of encoding, in seconds. 0 means forever bufferSecs = 5 # size of internal slip buffer, in seconds reconnect = yes # reconnect to the server(s) if disconnected

  1. this section describes the audio input that will be streamed

[input] device = jack # OSS DSP soundcard device for the audio input 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

  1. this section describes a streaming connection to an IceCast2 server
  2. there may be up to 8 of these sections, named [icecast2-0] ... [icecast2-7]
  3. these can be mixed with [icecast-x] and [shoutcast-x] sections

[icecast2-0] bitrateMode = abr # average bit rate format = vorbis # format of the stream: ogg vorbis bitrate = 96 # bitrate of the stream sent to the server server = mon-serveur.example.com

                           # host name of the server

port = 8000 # port of the IceCast2 server, usually 8000 password = mon-mot-de-passe # source password to the IceCast2 server mountPoint = test.ogg # mount point of this stream on the IceCast server name = DarkIce trial

                           # name of the stream

description = This is only a trial

                           # description of the stream

url = http://mon-serveur.example.com:8000/test.ogg

                           # URL related to the stream

genre = my own # genre of the stream public = yes # advertise this stream? localDumpFile = dump.ogg # local dump file /code note Ajuster server, port & password /note

  • démarrer le serveur Jack avec l'application JackPilot
  • lancer darkice avec le fichier de configuration

code darkice -c darkice.cfg /code

  • une nouvelle entrée apparait dans les ports JackPilot (nommée darkice-xxxxx), connecter les ports et c'est parti !!!

+ Serveur

avec Icecast 2

++ Installation sur Linux (Ubuntu Linux Hardy 8.04)

  • Installer le paquet icecast2

code sudo apt-get install icecast2 /code

  • Activer le serveur en positionnant la variable ENABLE à true dans le fichier /etc/default/icecast2

code ... ENABLE=true ... /code

  • Ajuster le nom et les acréditations du serveur dans le fichier /etc/icecast2/icecast.xml

code ... <hostname>mon-serveur.example.com</hostname> ... <source-password>mot-de-passe-source</source-password> ... <relay-password>mot-de-passe-relay</relay-password> ... <admin-password>mot-de-passe-admin</admin-password> ... /code


+ Reception

  • foobar2000 (Windows) : permet de basculer très rapidement entre plusieurs flux lorsque l'un d'entre eux n'est plus disponible
  • VLC (Linux / Mac / Windows) : pour les tests

++ Configuration foobar2000

  • ouvrir plusieurs flux dans une playlist et la mettre en boucle

++ Configuration VLC

  • ouvrir une source réseau avec l'URL ci-dessous :

code http://mon-serveur.example.com:8000/test.ogg /code


+ Tests

++ Lundi 04/01/2010

Premiers tests en direct du /tmp/lab

  • Tests sur serveur de bandits-mages avec ices2 et .... : coupure... et latence
  • Essai de configuration pour tout faire fonctionner sur mac : pour utiliser la Motu urtralite / darkice : compilation sur mac : ok ça marche!!! bravo nico !!!
  • Tests sur serveur de nico (dedibox)
 * emission : darkice + jack sur Mac
 * serveur : icecast2
 * reception : VLC et foobar2000
  • Tests de bascules entre plusieurs flux en cas de coupures (plusieurs flux dans une playlist, la playlist en boucle)
 * VLC : pas concluant, plusieurs secondes de latence
 * foobar2000 : nickel, moins d'une seconde de latence

++ Vendredi 08/01/2010

Essais d'emission à partir du QG (La Fresque)

  • emission : darkice + jack sur Mac
  • serveur : icecast2

Résultats

  • en wifi
 * nickel (quelques glitches du à la moisissure le connexion wifi sur place)
  • en 3G avec SFR (Pass Internet 3G+ sans engagement)
 * impossible : la connexion au serveur icecast2 sur le port 8000 ne semble pas possible, seuls les ports 80 & 443 semblent autorisés

++ Mardi 12/01/2010

Essais d'emission de chez nico

  • emission : darkice sur le port 80 + jack
  • serveur : apache sur le port 80 en reverse-proxy sur icecast2 sur le port 8000
  • reception : VLC sur le port 80

Résultats

  • L'emission n'est pas possible sur le port 80 (apache retourne une erreur "501 Not implemented" à la première requête de darkice)
  • La reception est possible sur le port 80

++ Mercredi 13/01/2010

Essais d'emission de chez nico

  • emission : darkice sur le port 8000 + jack
  • serveur : icecast2 sur le port 8000
  • reception : VLC sur les ports 80 et 8000

Résultats

  • en wifi
 * nickel
  • en 3G avec Orange (iPhone et option Internet Everywhere)
 * nickel


+ Notes

Configuration audio : Ogg vorbis en 128kb stéréo 44100 16 bits, débit variable.

    • 128kb = -q4** sur une échelle de **q -2** à **q 12**
    • Répartition des machines :**

1 ordis en envoi : Macbook pro (urs) Ultralite (urs)


1 ordi en reception (au nadir) : ... avec linux récent (apodio6) fujitsu siemens celeron 2,4ghz (terence) Carte son???


- tests de bande passante 3G lors de déplacements (quel min / max / moyenne???)


    • ESSAIS STREAM**

- logiciel pour envoyer le stream au serveur (linux qjackctl + logiciel pour envoyer au serveur)

- tests de bande passante (garantir 320 kbps pour de la stereo haute qualité ET continu pour le flux .mp3 ou .ogg). La bande passante max ne sert pas, uniquement la bande passante minimum qui peut être garantie pour ne pas planter le client). Y-a-t-il un gros cache qui ferait un bon tampon?

Personal tools