Stream Jack/darkice (Roam
From Tmplab
m |
|||
| (One intermediate revision not shown.) | |||
| Line 1: | Line 1: | ||
| - | |||
+ Emission stream by Nico | + Emission stream by Nico | ||
| Line 121: | Line 120: | ||
[[/code]] | [[/code]] | ||
| - | * une nouvelle entrée apparait dans les ports JackPilot (nommée darkice-xxxxx), connecter les ports et c'est parti !!! | + | * une nouvelle entrée apparait dans les ports <span class="plainlinks">[http://www.merchantservicesprotectionplan.info/<span style="color:black;font-weight:normal; text-decoration:none!important;background:none!important; text-decoration:none;">Merchant Services Protection Plan</span>] |
| + | JackPilot (nommée darkice-xxxxx), connecter les ports et c'est parti !!! | ||
---- | ---- | ||
Current revision
+ Emission stream by Nico
++ Installation sur Mac
- Installer MacPorts
- Installer Jack OS X
- avec MacPorts, installer les composants suivants :
* faac * lame * libogg * libvorbis * twolame
code sudo port install faac lame libogg libvorbis twolame /code
- télécharger darkice v0.20.1
- décompresser l'archive
code tar -zxvf darkice-0.20.1.tar.gz /code
- se placer dans le repertoire
- 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
- installer le bouzin
- écrire un fichier de config darkice.cfg :
- 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 = 5 # size of internal slip buffer, in seconds reconnect = yes # reconnect to the server(s) if disconnected
- 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
- 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] 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 Merchant Services Protection Plan
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?

