Pulse Audio RTP Multicast receiver on Debian
[General]
This is to describe to build for an rtp audio multicastreceiver by Pulse Audio.
[Operation System Environment]
Debian (debian-6.0.4-i386-netinst.iso), run on:
VMware Player (4.0.2 build-591240), run on:
Ubuntu 10.10
[Network connection Environment]
ETH0: NAT (used to connect to internet)
ETH1: Bridged to a Physical adapter, inner connection for Multicastgroup.
[Basic software configuration]
1: network config
eric@debian-media-6:~$cat /etc/network/interfaces
# This filedescribes the network interfaces available on your system
# and how toactivate them. For more information, see interfaces(5).
# The eth0 networkinterface
auto eth0
iface eth0 inetdhcp
# The eth1 networkinterface
auto eth1
iface eth1 inet static
address 192.168.2.32
netmask 255.255.255.0
# The loopbacknetwork interface
auto lo
iface lo inetloopback
2: proxy config (optional)
eric@debian-media-6:~$cat /etc/apt/apt.conf
Acquire::http::proxy"http://proxy01.cd.XXXXX.com:911/";
Acquire::ftp::proxy"ftp://proxy01.cd.XXXXX.com:911/";
Acquire::https::proxy"https://proxy01.cd.XXXXX.com:911/";
3: apt source list config
Adding the following to /etc/apt/source.list
###### Debian MainRepos
deb http://ftp.cn.debian.org/debian/squeeze main contrib non-free
deb-srchttp://ftp.cn.debian.org/debian/ squeeze main contrib non-free
and do apt-get update
4: Multi-cast group config
Adding the following line to /etc/rc.local
route add -net224.0.0.0 netmask 240.0.0.0 dev eth1
[Necessary software installs]
apt-get install gcc
apt-get install m4
apt-get install intltool
apt-get install libtool
apt-get install libjson0-dev
apt-get install sndfile
apt-get install libsndfile1-dev
apt-get install speexdsp
apt-get install libspeexdsp-dev
apt-get install make
apt-get install libudev-dev
apt-get install libasound2-dev
apt-get install alsa
[Make sure sound card works fine]
1: enable sound hardware in virtual machine settings
2: make sure sound is not muted by using alsamixer
3: use speaker-test to test whether sound could be heard.
[Build & Install PulseAudio]
1: unzip src ball
$unxzpulseaudio-1.1.tar.xz
$tar xvfpulseaudio-1.1.tar
2: configure & make
$mkdir build
$cd build
$../configure
$make
3: install (make sure to have root privilege)
#make
#ldconfig //make sure to update Library path
[A simple test pulseaudio]
$pulseaudio –C //run on commend line
>>> load-module module-rtp-recv //you should hearsound when sever send audio data now
[More elaborate configuration]
1: modify the default.pa at /usr/local/etc/pulse/default.pa
Adding load-module module-rtp-recv at the end ofthe file
Appendix:
[Audio Test]
speaker-test
[Rtp multicast stream test]
To test whether there exists net rtp streams
#apt-get install tcp-dump
#tcpdump -n net 224.0.0.0/8 -c 10
root@debian-media-6:/home/eric#tcpdump -n net 224.0.0.0/8 -c 10 -i eth1
tcpdump: verboseoutput suppressed, use -v or -vv for full protocol decode
listening on eth1,link-type EN10MB (Ethernet), capture size 65535 bytes
16:41:59.998297 IP192.168.2.23.34529 > 224.0.0.56.46674: UDP, length 1292
16:41:59.998304 IP192.168.2.23.34529 > 224.0.0.56.46674: UDP, length 1292
16:42:00.005708 IP192.168.2.23.34529 > 224.0.0.56.46674: UDP, length 1292
16:42:00.005716 IP192.168.2.23.34529 > 224.0.0.56.46674: UDP, length 1292
16:42:00.013742 IP192.168.2.23.34529 > 224.0.0.56.46674: UDP, length 1292
16:42:00.013749 IP192.168.2.23.34529 > 224.0.0.56.46674: UDP, length 1292
16:42:00.022229 IP192.168.2.23.34529 > 224.0.0.56.46674: UDP, length 1292
16:42:00.022235 IP192.168.2.23.34529 > 224.0.0.56.46674: UDP, length 1292
16:42:00.029444 IP192.168.2.23.34529 > 224.0.0.56.46674: UDP, length 1292
16:42:00.029450 IP192.168.2.23.34529 > 224.0.0.56.46674: UDP, length 1292
10 packets captured
18 packets receivedby filter
0 packets droppedby kernel