Tuesday, February 2, 2010

Darwin Streaming Server On RHEL/Fedora for Mobile Phones

Step 1

yum -y install vlc

yum -y install perl-Net-SSLeay

wget http://www.abrahamsson.com/DarwinStreamingServer-6.0.3-1.i386.rpm

wget http://www.abrahamsson.com/DarwinStreamingServer-Samples-6.0.3-1.i386.rpm

wget http://www.abrahamsson.com/DarwinStreamingServer-6.0.3-1.src.rpm # if you got .rpm

wget http://www.abrahamsson.com/DarwinStreamingServer-Utils-6.0.3-1.i386.rpm

wget http://www.abrahamsson.com/DarwinStreamingServer-debuginfo-6.0.3-1.i386.rpm

wget http://www.abrahamsson.com/dss-6.0.3.patch #patch for Linux x86-64 platform

Disabling MP3 streaming

You may choose to run a different server, such as Icecast or Shoutcast for MP3 streaming. If you do that, you may like to disable MP3 streaming in Darwin Streaming Server. Do this by changing the option for mp3_streaming_enabled under the MODULE section for QTSSMP3StreamingModule from true to false. E.g.:


Disabling all authentication

You can disable all authentication for the whole of Darwin Streaming Server by editing the file /etc/streaming/streamingserver.xml and by changing the option for Authenticate under the MODULE section for QTSSAdminModule from true to false. E.g.:


options if require patch -p0 < dss-6.0.3.patchkillall -9 DarwinStreamingServerTo change the administrator account from the default password of “password” use the following command:qtpasswd administratorSo DSS starts at boot up run the following:chkconfig --level 345 dss on Configuring Darwin Streaming ServerNow open a browser and point the address to http://:1220 and log in with the username administrator and the password you choose when running qtpasswd.

You can now test your install by opening QuickTime on a client (either Windows or the Mac) and using one of the sample files installed by Darwin.

File > Open URL and type rtsp:///sample_300kbit.mov

Save the file and upload the file to server. Move the file to /var/dss/movies; open QuickTime and select File > Open URL and type rtsp:///movie.mov and the file should stream.


#vlc -vvv v4l2:///dev/video0:input=1:width=128:height=96:adev=hw.1,0:samplerate=32000 --sout '#transcode{venc=ffmpeg{keyint=1},vcodec=mp4v,vb=100k,acodec=mp4a,fps=10,ab=8k,channels=1,samplerate=16000}:rtp{mp4a-latm,dst=,port-audio=20000,port-video=20002,ttl=127,name=CHANNEL,sdp=file:///usr/local/movies/channel.sdp}'


* v4l2:///dev/video0 is the video device you want you want to stream,
* input=1 is the input channel of the video device (0 - tv tuner, 1 - composite),
* width=128:height=96 is the width and height of the input video signal to fetch by VLC,
* adev=hw.1,0 is the alsa audio device to capture audio from,
* samplerate=32000 is the input sample rate of the audio live feed,
* venc=ffmpeg is the encoder used (in this case it's ffmpeg, but you can use x264),
* {keyint=1} is the advanced ffmpeg encoder switches,
* vcodec=mp4v is video codec used to encode this live video feed (in this case it's MPEG4),
* vb=100k is the video bitrate (100 kbits/s is this case),
* acodec=mp4a is the audio codec used (is this case it's AAC),
* fps=10 is the frame rate of the video feed,
* ab=8k is the audio bitrate (is this case 8 kbits/s),
* mp4a-latm is only used for aac audio, it activates a different payload format for aac,
* dst= is the destination IP, where Darwin Streaming Server is hosted,
* ttl=127 is the value of the TTL (Time To Live) of your IP packets (which means that the stream will be able to cross 126 routers),
* sdp=file:///usr/local/movies/channel.sdp is where to create the SDP file for live streaming with Darwin Streaming Server (it should be inside of the DSS movies folder),
* name=CHANNEL is the name of the live video feed.

Tested on Nokia N73 and SE K800.

There is a small problem with some Nokia phones and Darwin Streaming Servers, that need a line to be edited in the created SDP file (for example):

* from b=RR:0 to b=RR:800

After running this command from console, you can access it from your mobile phone or VLC or any player that supports RTSP protocol

* rtsp://


* is the IP address of the machine where DSS is running.

Posted by Picasa

Posted by Picasa

Posted by Picasa

Step 2


sudo yum install build-essential wget
sudo addgroup --system qtss
sudo adduser --system --no-create-home --ingroup qtss qtss

wget http://static.macosforge.org/dss/downloads/DarwinStreamingSrvr6.0.3-Source.tar
tar -xvf DarwinStreamingSrvr6.0.3-Source.tar
mv DarwinStreamingSrvr6.0.3-Source DarwinStreamingSrvr6.0.3-Source.orig
wget http://dss.macosforge.org/trac/raw-attachment/ticket/6/dss-6.0.3.patch
patch -p0 < dss-6.0.3.patch
mv DarwinStreamingSrvr6.0.3-Source.orig DarwinStreamingSrvr6.0.3-Source
wget http://dss.macosforge.org/trac/raw-attachment/ticket/6/dss-hh-20080728-1.patch
patch -p0 < dss-hh-20080728-1.patch
#need to answer n then y
cd DarwinStreamingSrvr6.0.3-Source
mv Install Install.orig
wget http://dss.macosforge.org/trac/raw-attachment/ticket/6/Install
chmod +x Install
sudo ./Install
Post a Comment