Tutorial Streaming Wms
Tutorial Streaming Wms
05/2009 (7) 38
FIash Media Server
Streaming to FIash and iPhone
05/2009 (7) 39
We will do this in two steps:
First we will set up the source stream us-
ing Wirecast
Then setup a Wowza application that
will allow us to view the live stream us-
ing the Flash player and the iPhone.
We will then show you how to make this ap-
plication available for streaming to Silverlight
(HTTP smooth streaming), which is similar
in concept to the iPhone HTTP streaming.
Finally, we will discuss an approach to multi-
bitrate streaming for both live and on-demand
applications across Flash, iPhone and Silverlight.
Setting Up 7eIestream
Wirecast ncoder
Download Telestream Wirecast version
3.5.4 or later to your PC or Mac from: http:
//www.telestream.net/wire-cast/overview.htm.
We will use a RTSP stream from Wirecast
for this tutorial.
Startup Wirecast and click the thumb-
nail of your web camera in the media list
Create a new H.264/AAC encoder preset
Select the menu item Window: Encoder
Presets
From the Encoder Preset drop down
menu select <New...>, enter a name for
your preset (I used Wowza) and click OK
Change the Output Format drop down
to QuickTime
Select the Video tab, change the Encod-
er drop down menu to H.264 and select
Baseline, then change other settings as
desired see (Figure 1).
Select the Audio tab, change the Encod-
er drop down menu to MPEG-4 Audio
and change any other settings as desired
see (Figure 2).
Click Save button
Select the menu item Broadcast: Broad-
cast Settings...
Change Encoder Preset drop down to
the encoder preset Wowza that you cre-
ated above.
Change Destination drop down to An-
nounce to QuickTime Streaming Server
Change Host Name to [server-ip-ad-
dress]:1935 (where [server-ip-
address] is the ip address of the server
running Wowza Media Server software)
Change File Location to live/myStream.sdp
Enter a username and password (well
edit a password file in Wowza to match
when we setup the Wowza application)
see (Figure 3).
Click Save button
To broadcast to the Wowza server, se-
lect the menu item Broadcast: Network
Broadcast: Start All
Figure 3. w|teconst stteom otooJcost sett|ns
Figure 4. wowzo exomle l|ve v|Jeo stteom|n loyet
05/2009 (7) 40
FIash Media Server
Streaming to FIash and iPhone
05/2009 (7) 4l
InstaIIing and Configuring Wow-
za Media Server 2 Advanced
Choose a Wowza Media Server 2 Advanced
installer to download for your OS (Windows,
Linux RPM, Linux DEB, etc.) from http:
//www.wowzamedia.com/advanced.php. You
will need to request an evaluation license to
complete the install.
Once installed, create a new Wowza Me-
dia Server application for live streaming. If
they do not already exist, create these two
folders:
[wowza-install-dir]/applications/live
[wowza-install-dir]/conf/live
Now copy this file:
[wowza-install-dir]/conf/Application.xml
To here:
[wowza-install-dir]/conf/live/
Application.xml
Open the new file /conf/live/Application.
xml in a text editor and make these changes:
Change the Streams/StreamType to live:
<StreamType>live</StreamType>
Change Streams/LiveStreamPacketizer
to cupertinostreamingpacketizer:
<LiveStreamPacketizers>cupertinostreamin
gpacketizer</LiveStreamPacketizers>
Add the following Properties to the /
Streams /Properties section
<Property>
<Name>sortPackets</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>
<Property>
<Name>sortBufferSize</Name>
<Value>500</Value>
<Type>Integer</Type>
</Property>
Edit the file [wowza-install-dir]/
conf/rtp.password and add a username
and password to match the username
and password used in Wirecast when
setting up the broadcast.
#username password
charlie changeme
Figure 5. 5tteom|n to oll scteens
Listing 1.
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
05/2009 (7) 40
FIash Media Server
Streaming to FIash and iPhone
05/2009 (7) 4l
Save those changes, and everything is now
ready to view the live stream on Flash play-
er and the iPhone.
Starting to Stream
Start the Wowza server and the Wirecast
broadcast. First we will view the stream in the
Flash player. To do that, launch the Wowza
LiveVideoStreaming example player, found
in the [wowza-install-dir]/examples/
LiveVideoStreaming/client/live.html.
Enter the Server and Stream information
see (Figure 4):
Server: rtmp://[server-ip-address]/
live
Stream: myStream.sdp
and click Play. You not should see your live
stream in the player. It may take 2 3 sec-
onds for the stream to start and possibly lon-
ger if you are testing locally with Wirecast
encoder on the same machine.
Now open the Safari browser on your
iPhone or iPod touch and create a new book-
mark see (Figure 5):
http://[server-ip-address]:1935/live/
myStream/playlist.m3u8
You will notice that it takes about 30 seconds
for the live stream to be available on the iPhone/
iPod touch. The delay is due to the way iPhone
implements playback in the Safari browser. By
default, Wowza Media Server 2 Advanced seg-
mentation engine breaks down the content into
10 second chunks, which is what Apple recom-
mends in the developers guidelines. The Safari
browser needs to buffer at least 3 chunks before
the stream can be viewed on the device.
SiIverIight H77P Smooth
Streaming
Silverlight smooth streaming is very similar to
iPhone HTTP streaming. Silverlights approach
to segmentation is somewhat different and, of
course, you will need a Silverlight player.
Now, lets add Silverlight support to this
same application you have created previously.
It takes two steps:
Open the /conf/live/Application.xml
file in a text editor. Modify /Streams /
LiveStreamPacketizer to add smooth-
streampacketizer
<LiveStreamPacketizers>cupertinostreamin
gpacketizer,smoothstreamingpacketizer
</LiveStreamPacketizers>
Create [wowza-install-dir]/conf/
clientaccesspolicy.xml. This is only
necessary only if Silverlight player and
Wowza Server are on different domains
see (Listing 1).
To test this you will need to download a
Silverlight Live Smooth Streaming play-
er from here: http://go.microsoft.com/
?linkid=9656616.
Once downloaded, do the following:
Double click Starter _ Kit-IIS _
Live _ Smooth _ Streaming _ Beta.exe
to extract the player.
Copy Default.html and
SampleLiveClient.xap to your web
server.
Edit Default.html and change the me-
diaSource (line 82) to the url of your live
stream:
http://[server-ip-address]:1935/
live/myStream.sdp/Manifest
Open a web browser and enter the url
for the Default.html file and the stream
should start playing see (Figure 6).
MuItipIe itrate Streaming
Flash, iPhone and Silverlight all support
the capability to dynamically switch be-
tween the same content encoded at dif-
ferent bitrates when the client bandwidth
fluctuates. This provides a consistent flow
of video to the client while the video qual-
ity may fluctuate according to available
bandwidth.
Each technology uses a slightly differ-
ent name for this capability. For example,
in Flash it is referred to a dynamic stream-
ing, while Silverlight calls it smooth stream-
ing. Wowza Media Server 2 Advanced sup-
ports a generic model that works across all
three client technologies. If you wish to
experiment with this, visit the Wowza Me-
dia Server 2 Advanced section in Wowza fo-
rums at http://www.wowzamedia.com/forums/
forumdisplay.php?f=33.
Figure 6. 5|lvetl|ht smooth stteom|n loyet
RICHARD LANHAM
k|chotJ |s on occoml|sheJ llosh onJ llex Jevel-
oet onJ o stteom|n meJ|o enthus|ost. le |s cut-
tently o suott en|neet w|th wowzo VeJ|o 5ys-
tems. Pt|ot to jo|n|n wowzo, k|chotJ wos o t|n-
c|ol ot loles|Je consult|n, o llosh/llex Jevel-
oment comony he hos lounJeJ.