Transformer MP3/Wav/... en rtp pour Sipp

VoIP

Si vous utilisez Sipp pour faire des tests sur vos infrastructures de VOIP Sip, on utilise souvent la fonction PCAP pour jouer du RTP.

Mais parfois, on fait des tests où l'on veut faire des annonces, et il est pas toujours simple de générer ces messages au format RTP lisible pour Sipp.

Je vous joins donc, un petit howto pour transformer vos fichiers wav, mp3 et autres au format RTP grâce à des outils sous GNU/Linux: wav2rtp et sox (pour convertir vers le format wav 8khz).

Donc, dans un premier temps, je vous explique comment compiler l'outil wav2rtp, car, il n'existe pas dans les différentes distributions linux. Dans mon exemple, j'utilise Debian lenny 5.05.

Si vous utilisez une autre distrubition, il vous faut trouver les librairies suivantes correspondantes :
- libgsm
- libspeex
- libsndfile
- libpcap
- libortp

Donc, pour la Debian Lenny, il faut installer toutes ces librairies pour pouvoir compiler wav2rtp.

debian:~/# apt-get install libsndfile1-dev libgsm1-dev libspeex-dev libortp7-dev libpcap-dev make gcc


Ensuite, on télécharge les sources de wav2rtp sur le site de de sourceforge.net.

debian:~/# wget http://sourceforge.net/projects/wav2rtp/files/wav2rtp/0.9.1/wav2rtp-0.9.1.tar.gz/download


Puis, on décompresse l'archive de sources et on va dans le répertoire contenant les sources

debian:~/# tar xzf wav2rtp-0.9.1.tar.gz
debian:~/# cd wav2rtp-0.9.1


Ensuite, pour la compilation, nous avons besoin de taper ces deux commandes. Les options de configure, permet de placer aux bons endroits les fichiers de configuration et les binaires.

debian:~/wav2rtp-0.9.1# ./configure --prefix=/usr --sysconfdir=/etc
debian:~/wav2rtp-0.9.1# make install


Maintenant, on peut depuis n'importe quel endroit du filesystem, appelez la commande wav2rtp. En tapant la commande sans option, on peut voir l'ensemble des options disponibles.

debian:~# cd
debian:~# wav2rtp

This tool used to convert data from .wav to rtp packets which can be sent over network interface or stored into pcap file

USAGE: wav2rtp [-f|--from-file] file.wav [-t|--to-file] file.pcap [-c|--codec] codec [ other options ... ]
-v, --version Priint to stdout version of this tool
-f, --from-file Filename from which sound (speech) data will be readed
-t, --to-file Output file
-c, --codec-list Comma separated list of codecs (without spaces), which will be used to encode .wav file
-o, --output-option Output option which redefine /etc/wav2rtp/output.conf. Recorded in form "section:key=value"
-O, --codecs-option Codec option which redefine /etc/wav2rtp/codecs.conf. Recorded in the form "section:key=value"

Codecs options (such as payload type and other) may be defined in the config file: /etc/wav2rtp/codecs.conf

EXAMPLE:
wav2rtp -f test.wav -t test.pcap -c PCMU,GSM

This reads file "test.wav" TWO TIMES, encodes it first with G.711 then with GSM 06.10 and stores data in pcap file "test.pcap"

wav2rtp -f test.wav -t test.pcap -c PCMU,GSM -o log:enabled=true

This case is the same as previous plus logging to stdout will be available

CODEC LIST:
DUMMY Codec for testing and demo purposes
GSM GSM 06.10 full-rate codec
speex Speex narrowband mode codec
PCMU ITU-T G.711 codec with u-law compression

FATAL ERROR: not enought input arguments
debian:~#


Nous avons notre wav2rtp de prêt. wav2rtp a pour contrainte d'avoir obligatoirement un fichier wav en 8khz en entrée. Sinon, la transformation en pcap ne fonctionne pas.

Pour cela, on va utiliser sox, qui permet de convertir dans n'importe quel format, n'importe quel fichier audio.

Sous Debian Lenny, on doit taper la commande suivante :

apt-get install sox


Maintenant, nous sommes prêts. Voilà comment transformer un fichier wav 44khz (source.wav) en un pcap (destination.pcap) :

- On transforme le wav 44khz en un wav 8khz avec sox

debian:~# sox source.wav -r 8000 intermediaire.wav


- Puis, on transforme le wav 8khz en un fichier pcap

debian:~# wav2rtp -f intermediaire.wav -t destination.pcap -c PCMU


Si vous avez des questions supplémentaires, allez sur les sites suivants :
- Le site de wav2rtp
- Le site de sox

Rétroliens

    Pas de rétroliens

Commentaires

Afficher les commentaires en (Vue non groupée | Vue groupée)

    Pas de commentaires


Ajouter un commentaire


Les adresses Email ne sont pas affichées, et sont seulement utilisées pour la communication.
To leave a comment you must approve it via e-mail, which will be sent to your address after submission.
Marquer un texte en gras: *mot*, souligner un texte: _mot_.
Les smilies standard comme :-) et ;-) sont convertis en images.
Syntaxe BBCode autorisée
De quel couleur est le cheval blanc d'Henri 4 ?