WWDC2004 Session 708
Transcript
Kind: captions
Language: en
good morning everybody and welcome to
session 708 introduction of QuickTime
streaming my name is Steven Tona I work
on the QuickTime product marketing team
and this session is going to give you an
overview of how a streaming server works
and basically how to get your content up
on the streaming server in order to
deploy it you know across the internet
and actually other mediums including
wireless cell phones and in addition
it's going to Victor's going to go
through a little bit about how to set up
a live broadcast so with that we have
Victor Alexander who works on the Mac
alistun server software engineering team
as a seed engineer and he's also setup
to actually in his former life he did a
technical training class on quicktime
streaming so he knows just about
everything there is about you know how
to get up and running with QuickTime
streaming service all without further
ado I'll let him take over thank you
thank you my encoder design Thanks so
introduction QuickTime straining server
this is a introductory session so if
you've done streaming before in any
monitor large-capacity I would encourage
you to check out one of our advanced
streaming sessions later on today and
tomorrow or check out another session
timely in this time block so this
definitely is just an intro to get you
up and running with some real world
steps as Steven said I'm Victor
Alexander software seed engineer I
finished focus on enterprise software so
Mac OS 10 server which QuickTime
streaming server is part of that package
definitely love QuickTime students we've
been doing it for several several years
so let's get an introduction out of the
way we're going to talk about the topic
the real-time streaming I'm going to
give you just a basic intro of what it
is so we have a basis to have a
discussion do some setup and
configuration information shorten your
learning curve hopefully so when you go
home to try this you'll be you'll be
ready to go my focus will be on
QuickTime streaming server QuickTime
broadcaster and QuickTime publisher so
those are the three tools there are
other streaming tools they're available
commercial third-party applications in a
lot of cases but I'll focus on those so
those are freely available and you can
check them out and work with
and it's a good basis to start with I'll
cover some new features added in
QuickTime streaming server that's
included with Tiger server and I'll try
to give you some real-world steps since
best I can so you can go back to your
organization and I get this running
quickly and easily so the good old what
you will learn slide will do an
introduction QT SS + QT be QuickTime
broadcaster I'll show you how to do it a
quick session request to see if your
servers running properly all important
we'll talk about preparing media from
streaming server working with playlist
TT SS publisher will do a quick live
streaming demo if all goes well and
we'll do some Q&A at the end if there's
any questions you have so first off what
is real-time streaming we need a basis
of discussion here so real-time
streaming is basically moving media from
a server to a client over a network for
playback in real time and that's that's
fundamentally different from opening up
your web browser say for example going
to the QuickTime movie trailers website
and watching a movie trailer that
experience is not quite as
time-sensitive you some people call that
experience stream but in true underlying
terms it's really not the files are just
progressively downloading to your
machine and you'll start playing them
back when enough of that content is
downloaded what we're talking about here
today is actually a streaming server
with protocols to support the riff that
real-time exchange it's a very very
time-sensitive process the main
fundamental protocols are RTP which is
real-time transport protocol and RTSP
real-time streaming protocol these are
really brother and sister protocols that
work together to get a stream from the
server to the client RTP is really the
meat and potatoes on the stream it
carries the actual stream content it's
the video and audio that you watch on
screen
RTS key is the control so it doesn't
stop you know the pause that close the
window to destruct the stream it's
really the control language so they work
in concert with each other to negotiate
with the client server get that content
down to so really RTP does a lot of the
heavy lifting in terms of pushing actual
media across the network
another thing to note about real-time
streaming is that no files are written
to the clients computer and for people
who have a considerable copyright and
where their files get distributed that's
a big deal
they want to make sure they maintain
control their content they want to
broadcast a concert they want to
broadcast a a CEO address they want to
broadcast their earnings they want to
make sure their information stays on
their servers and all the client viewers
all the people who are watching it all
they're left with is a good memory and
not left with a copy of the actual
presentation see the presentation so
that's useful to know there's three main
methods of presentation in using the
QuickTime streaming server the first one
is video on-demand
if you've ever missed a macro keynote by
Steve Jobs and then gone to our Apple
website a few days later to watch it
you're watching a video on demand you go
to the website you demand it it plays it
back the the second kind is a simulated
live which is more like a radio station
the third is a live stream and in fact
that's the thing that most people it
tends to attract them to QuickTime
streaming server and it's related tools
because the live is so compelling it's
timely information that your viewers
want to watch so here's a really really
basic architecture right you got your
your media really sitting on the server
and you're sending it over our network
typically a tcp/ip network and you're
saying it's your client all right really
easy just keep that model in mind
whenever you're you're working with the
streaming server it's just these these
pieces are in play in reality it's
really these these players right you've
got some quick sound content you've got
of course everyone has a rack of exurbs
right you just string this stuff off and
you've got a client on the on the left
hand side so some basics about the
streaming server which I think will be
helpful just like a lot of what Apple
does the QuickTime streaming servers
based on open standards there are
ratified RFC standards behind the
protocols of the string server uses the
goal is for us to work well with other
players in the same space right
so RTP RTSP our open standards anyone
can write players or servers or our
pieces that we're working
system a single server literally a
QuickTime stinks or literally can handle
thousands of connections right in the
last couple versions of string server
we've added support for mpeg-4 streaming
which is which is excellent you have
also a feature in recent versions of
QuickTime which is instant on if you've
ever watched a stream you've probably
gone to watch and you have to wait a few
seconds for the string to to start
playing while the stream buffers with if
you have a broadband connection that
that time duration will be very very
short if not nil so the movie will the
stream lon start to playback almost
immediately there's remote based web a
web-based administration built-in as
well as a tool provider with Mac os10
streaming server which is very useful so
if you're on a platform other than other
than the Macintosh you just open up a
browser and manage your streaming server
and the design key TSS is really similar
to Apache so if you have any experience
with Apache the the design mechanisms or
implements are very similar so there is
an open-source version of this quicktime
streaming server called the darwin
streaming server really all that means
is you get all the same kind of
capabilities in the core server except
the darwin streaming server is
distributed for platforms other than Mac
os10 server so there's a short list
there at Mac os10
the in downloaded version of dart
streaming server for Mac OS 10 linux
solaris windows of course the source
code is available if you're you're very
gung-ho and you have other UNIX
operating system you want to compile the
source code that'll work just just fine
and press a list of places the server
can run so server admin this is a new
tool as of Mac OS 10 server version 10.3
so last year's presentation it was brand
new it continues on the still continues
on in the tiger server version it's
basically a general configuration tool
for a number of services in Mac OS and
server but of course now they have a QT
SS module as of the last version of
server there's some QT SS configuration
monitoring tools built into that tools
makes it valuable for us you can do IP
binding you happen to know what that
means you can check out the throughput
graphs and how many connected users you
have of course you can do remote
administration with this tool as well
you can copy the server admin to another
machine maybe your admin machine
run that and monitor your server from
there so demo okay so let me show you
switch the computer one so I have Mac OS
10 server installed versions Tiger the
same version you have picked up of
course from our registration tab and all
I'm going to do is I'm going to give you
a quick tour of server admin so I'm
going to launch server admin and take
you into the QuickTime screen so related
pieces so in the upper left we have our
machine that we're interacting with I'm
actually admitting the machine I'm
sitting in front of it doesn't have to
be that way can run server admin as I
said remotely I'll turn down the left
hand disclosure button and we'll see
that QuickTime streaming is available
option so this is present in tiger
server and Mac OS 10 server version ten
point three we have a general status
here of course you can check out your
logs I should know here that the server
is currently stopped so we'll turn on in
a moment you can check out your logs see
if there's any errors or issues you also
expect the access logs to use been
watching movies check your number of
connections these are current number of
connections with people watching streams
that list can get very long depending on
how popular your content is you got some
pretty graphs of how many people are
connecting and settings so in order to
start the server before I go through the
upper tabs in order to start the server
it's a very complex process I'll show
you how to do it I click on the start
button and I wait 2 or 3 seconds and the
server is enabled that's pretty much it
all the defaults are a good starting
point especially for testing you might
want to go and configure things as time
goes by before you do a rollout but turn
the server on is that easy quickly just
to take you through a brief tour of the
settings options that are available you
can control where the directory on the
server where your movies you want to
serve are located using this disconnect
this dialog this sex yield you can also
control how many connections you want to
do at simultaneously your maximum
throughput obviously so you should set
those to relative to what your
can actually be for your server if
you're serving the Internet you'd
probably set it appropriate to your
external connection in the Internet just
serving to your enterprise or to your
school or organization 100 megabits if
that's what you have going outside the
server is probably suitable you can also
set some passwords and access for doing
livestream and mp3 broadcasts IP
bindings I won't get into this but it's
very useful if you have multiple
Ethernet cards you want to assign the
key TSS service to one or the other or
both relays a little more advanced topic
but you now have a UI for configuring
relays which is very very helpful and of
course you can control with the log ins
so that's pretty much a rundown of
what's in server admin for quick time
strings or it's pretty straightforward
as you can tell it's just one click to
turn the service on so now how do I know
this is running right I know it says
it's running how do I check so the easy
way to do it if we switch to computer -
I've got a client here and I will launch
by QuickTime Player so normally the
streaming experience is for most
end-users once you have a polished
system is the launch web browser that
goes some event page where there's
either a live stream happening or
there's a pre-recorded one and
video-on-demand and they'll click on a
link and they'll go to a they'll be sent
to QuickTime Player in most cases now
watch the stream but for us since we're
the IT admins for the streaming server
we just need a quick test to make sure
the stringing server is working so it's
a very handy little menu option which is
open URL and new player and that's just
a quick and dirty way to
that's a quick and dirty way to make the
oh can we switch to computer - there we
go thank you let me let me step back in
QuickTime Player there's a menu option
called open URL in new player which is a
quick and dirty way to let you just
quickly check and see if a stream is
functioning normally most users won't
access streams this way but for us it's
perfect you just want to do a quick test
to make sure the stream server is
working there are sample files included
with the server we've got one noted
right here their various bit rates this
one is a perfectly suitable one to test
here and we can go and see in fact
success our streaming server is working
this contents coming from the server we
just turned on how do I know that the
information box reports in the source
that coming from a location called RTSP
remember me saying that a clear pattern
of a few minutes ago right real-time
streaming protocol so this file is not
playing back on the local machine it's
streaming over the network
that's perfect our streaming server is
running can we switch back to slides so
we turn server on we did test stream
everything's working great time for
coffee breaks right the next thing is
you need to do is need to get the
content to deliver now this session
focuses on IT administrators who are
like working with the server from a
server deployment standpoint of course
you have a crack team of people who are
developing content for you there's a
whole other topic area where people can
shoot edit use tools like Final Cut Pro
and compression tools to compress that
video down to a suitable size and format
that's beyond the scope of this session
but essentially what I want to point out
is that you'll need to find some content
somewhere that's compelling for you to
post on your stringing server the one
key thing to remember is that you need
to perform an additional step just
beyond taking that good quality video
you may have shot of some event and
reducing it down through encoding you
also needed to parse perform a step
called hinting it's a really simple step
it just simply adds a couple of
additional tracks to your movies which
gives the streaming server a tip on how
to deliver the content via a stream
that's it very very simple so you simply
export the movie using QuickTime Pro you
can add these hint tracks be a couple of
clicks and that's all you need to do if
you don't want to use QuickTime Pro
there's other tools out there discreet
has cleaner which has several several
options for encoding but they also offer
options to add in tracks there's
numerous other tools that do it as well
usually want to look for a streaming tab
is a good place to head for when you're
compressing your contact the important
thing to note about this step although
simple it should be the very last thing
you do you can't make any other changes
to that media at all it just you need to
make the last change and then hit the
file and then place it on the streaming
server for consumption simple alright
let me do a quick demo we'll just take
you through that I just need to push
some content on to my machine excellent
so we I had my crack team of
videographers go and film some content
for me we're going to bring it over to
we're going to bring it over in just a
moment excuse me to bring it over from
my power book now this content was just
filmed with a DD camera you know in this
case I use iMovie to use Final Cut Pro
there's some basic editing applied to
basic editing applied to the video
content it was compressed even cleaner I
just pick one of the presets that's
available in that in that tool
we'll just bring that content over I'll
show you an hit media very very simple
there we go so for the discs you picked
up from your from the registration desk
clicked on Pro is enabled by default
normally under you know non pre-release
situations non non beta issue QuickTime
Pro 2995 us so that will get you the
export options which among other things
will let you hint your content so just
grab them so we have our sample here
right pretty mundane stuff I don't know
that guy is but so we've got mp4 content
now
and what I want to do is just a file and
export and I'm going to do movie to
impact for even though it's already an
mpeg-4 I'm going to go movie to mpeg-4
and what I'm going to do is since this
contents already been processed edited
and compressed for me someone else did
all that hard work I'm simply going to
say for the audio and video tracks just
pass them through don't do any changes
to them don't try and code them just
pass them through and typically if
you're you're admitting a string server
you typically just want to do that you
want to let them pass them through or if
you can get your people who are creating
your content to add the hint track
themselves you don't even have to do
this step the console will be ready but
I don't want to do pass-through for
audio and video and I want to enable
streaming and those two or three options
just leave them as is unless you have a
very very high volume server in terms of
number of people connecting you might
want to select offline server but these
defaults are absolutely correct so turn
on enable streaming click OK I'm gonna
save it to my desktop I want to call it
hint at the end because it's hinted and
click Save hinting is not a
computational intensive process it's
simply just looking at the median adding
those extra simple tracks which are just
a recipe on how to break up the media so
as you can see we've got we've got a
hinted movie here if I bring up my
properties
I can't bring up my properties
I want to go I want to go I want to go
to
yes I may not be able to show you
unfortunately but I'll try and just put
this in the stream folder file and just
do this so I'll try and stream this file
so to see if it works
so we'll go by very quick time streaming
as you saw in the interface the movies
are located in the library QuickTime
streaming movies folder so I'm going to
drop this movie in there and I'm just
going to go to this local machine I'm
just going to play this back from the
local machine so RTSP clone flash - TSS
just using a little quick bit of
rendezvous here to access that my local
machine so there's my stream right
playing back maybe not the so the file
plays back properly I added the hinting
that makes it viable for the streaming
server to play back works as expected no
problems at all okay so printing is a
simple simple process we switch back to
slides
so let's talk briefly about viewing
locations typically streaming when you
think about watching streams just who
thinks about watching on a computer
screen how many people think that's like
the default way to watch it there any
other locations you can imagine watching
streams on television anywhere else
through cell phones yes the generic term
you might hear for clients viewing
content especially with streaming you
might hear the term terminal just like a
viewing terminal and it's not only
computers right of course it's handsets
if someone said you know 3G phones so we
have a brief demo Steve is going to come
up and if our our GSM network is good
enough quality in this room we can get a
fairly decent stream but we're going to
use a a 2.5 g phone using GPRS to stream
a sample so previous to this session I
simply did an extra export of the
content you just viewed but I did it as
a 3G 3gp file if you've been to previous
sessions like stated a unique QuickTime
you saw that process happen it's
literally two clicks and you can export
the file we have a content on a public
server that we can stream over this
cellular network so Steven you want to
give us a demo you want to switch to
demo 2 so see little demo and I'll just
briefly walk you through what's
happening we have a video camera hooked
up to the second computer here it's just
showing us the screen of the cell phone
we're using a player that can perform
streaming capabilities on the cell phone
its requesting the content from a
streaming server that's back at Apple
it's just literally sitting on a wired
network just like we have under the desk
here except the cell phone has data
capable services called GPRS they layer
on top of the voice services that you're
normally used to by making phone calls
and the content will play back over that
GPRS data system and we can watch the
content on a cell phone so you saw the
clip playback on a computer you see the
big flip playback on a cell phone
amazing this particular clip is using a
technology just simply GPRS that's a
fairly vanilla at this point of vanilla
speeds for data services we're using 18
T Network to do this
demo they have GPR services they've had
them for quite a while with their gsm
phones they have a next-generation
series of phone called edge edge is an
enhanced version of the GPRS system
you're seeing being used here that
essentially will give you better quality
video right higher data rates better
quality video will playback this day
rate is 35 kilobits per second actually
sorry 30 kilobits per second I didn't
want to push it through her experience
on a concrete building but we had to I
we had to do some juggling this morning
to make sure to play back so it's 30
kill dips this is not the new codec this
is simply using a standard 3gp file that
you could export using a standard
version of QuickTime QuickTime Pro that
you get on necklace 10 version 10.3 I'm
using h.263 codec and something called a
morning robe and for the audio pretty
vanilla it's kind of the default presets
no real magic I just needed to pick a
speed for the content it was slow enough
to to support the GPRS system so why
does this matter I think it was
important to show this in the intro
sessions I want you to think about
content just beyond playback on your
computer right
we've got Wireless we got wired clients
but using the the data services provided
by cellular carriers we can actually
play this content back and you couldn't
hear the audio not but what that was is
a simple dental that I just cooked up a
few days ago with content there will be
something that a sales force for a
company would find timely so if you had
a sales force of 50 or 100 or 200 people
or remote schools or you know people in
the service industry they're doing
remote service and repair they can
literally get up-to-date information off
their cell phone without having to be
near hotspot without having to go plug
in anywhere they can get updates you
know some the information in that video
is you know please note that there's a
new firmware for the hardware we just
shipped know that there's a announcement
at 2 o'clock please you know check that
information on the corporate website
timely information that they need to
pick up every day so I produced this
video in about 20 or 30 minutes and it's
literally something an organization
could pump out on a daily or weekly
timeframe and distribute that to a very
wide
range of people geographically
widespread all you need is cellphone
with with with the signal essentially so
can we switch back to slides so we
talked about the three ways to to
playback content you've already seen the
video on demand when I think the file
just a few minutes ago we went and
played it back on the computer that's a
video on demand stream if that's the
most common way to stream content people
go to the web page they click on it they
ask for it they demand the video and it
plays back for them at place place start
to finish and it is it's done that's it
playlists which is the second type of
presentation is more like radio stations
where you simply jump into the stream
and just like turning on your radio in
your car you turn on the stream and
wherever that content is in its set
playlist it will just start playing so
that's vastly different than the video
on-demand experience you have two types
of playlists
I should note there's movie QuickTime /
mpeg-4 playlists and mp3 I won't talk
about the mp3 so that's using a format
called ice caste you may have heard of
it but I'll leave you to explore that
after the session is done or we really
want to work with is the playlist for
quicktime / mpeg-4 in the playlist is
configured via via QT SS publisher or
web-based administrator I think what I
might do is I might leave that demo for
John or at the end of the session so I'm
going to skip over this demo just was a
time where study a little time crunched
the playlist basically you set the order
of media you can say I want these ten
items to play in this order or you can
set a random and say I want this you
know ten audio files is to play randomly
and you can set it to loop or play start
to finish and literally that content
will just go off on the strings here and
just play it in the order you dean and
if people jump into the stream those
jump in wherever the content is played
to at that point
so GTFS publisher this is a tool that
ships with Mac OS 10 server it was
brand-new as a Mac OS 10 server version
10.3 it is included with tiger server of
course but this version sports a highly
revamped UI much improved very very nice
very elegant it gives you remote media
file management so instead of doing the
process that you just saw me do on the
server on the server way open to me if I
I hinted it and I copied it to the
machine and if I'm not on the server if
I want to add my machine I have to find
a way to like FTP or you know set up an
AFP server on that quick time students
or a copy the file over quick time the
publisher tool circumvents that you can
launch that on the admin machine take
your files drop them on the server and
it's much more seamless integration with
the server as automatic in seeing a
webpage preparation you can string
playlist control playlist management as
I mentioned you can edit the annotations
which is some of the copyright and
details that go along with a movie like
the title you know copyright who
authored it things like that and of
course includes some UNIX tools so I'd
like to introduce John Anderson who is
an engineer from Makela 10:13 who worked
on publisher and I like to have them
deuced a quick demo of publisher there's
John hopefully this is on so I'm here to
demo QuickTime streaming server
publisher as Victor said and a little
bit more into what's going to be in the
version to a publisher one of the major
things that we're adding as well is
Apple script support so you can be able
to control this via Apple script if you
already have workflows and theoretically
from from automatic as well so that'll
be great so what I've done is launched
publisher and of course since I've
already logged in all of my information
is filled in for me from my keychain so
I'm just going to go ahead and click
connect now of course I'm connecting to
a local machine here but I can connect
from any machine that's accessible from
the network and what I'm going to do is
I'm going to take Victor's piece of
content here now this is not hinted at
this point
so I'm just going to drag it up to the
library and that will upload the movie
put it in the proper streaming folder
and it will hint the movie as well
automatically now if you look at here I
have some settings that are new to
QuickTime streaming server publisher -
and this is something that allows you to
choose if you're binding the streaming
server to multiple IP addresses in the
server admin tool then you can actually
choose which IP address that you want
this to serve from same thing for web
server so if you have multiple virtual
host sites you can choose which site you
want your web pages to go onto so what
I'm going to do here is I'm going to
click on this movie and I'm going to say
I want to publish this movie to the
QuickTime streaming server I'll hit
apply so this movie is now available for
streaming and it will automatically grab
the poster image which the first frame
is black so that's why it's stuck - but
I could also choose a custom image if I
wanted to
making playlists is also very easy with
a publisher all you have to do is click
the little plus sign down here and take
your files and drag them right to the
playlist so this is this interface is
very similar to iTunes then you can
choose you know whether you want this to
be looped or not whether you have to be
weighted random and weighted random
means that if you have more than one
file you can give files different weight
and it will play them more often or less
often according to that way the other
thing that we can do here is if I go
back to the library and click on the
file you can see I can edit the
annotations right from here and the kind
of neat thing is that as Victor said you
need to do the hinting last after you
make any changes so if you change these
annotations from here it will actually
rehan the movie when it's done so it
saves you the trouble of downloading the
movie making the changes and uploading
them again and if you scroll down here
you can see some settings for how you
want to embed the movie in the page and
for example you can have a click on that
you can have the user click on the movie
and have it open in the QuickTime Player
you can have it embedded in the page
itself and depending on those settings
it will actually give you HTML so you
can copy and paste or drag and drop into
BBEdit or Dreamweaver or whatever your
favorite HTML editor is and the other
thing that we can do is we can make web
pages so I can create a page just like a
creative playlist and drag files to it
and we'll actually use an XSLT web
template on the server to take that HTML
that we saw in the field earlier and
insert it into a page so that you can
automatically create web pages of
content without having to ever enter an
HTML editor at all so that's publisher
excellent publishers amazing tool
definitely is extremely helpful thank
you John
so onto the third type of method for
presentation on the streaming server
like I said the start of this session
it's really at what often drives people
to inquire about streaming server in the
first place live streams the only way to
get an event or a happening or a press
conference or you know earnings
announcement delivered to your intended
viewers as it happens is using live
streaming you can't do this using the
mechanism I mentioned previously which
is progressive download watching those
movie trailers that's pre stored
contents it's been already authored and
mastered in place there it's content
that happened and was filmed in the past
this is absolutely live there is a few
seconds delay of course to film this the
footage transcoded and bring it to the
server but it's effectively live for
your users it requires a use of live
encoding software for us that means
QuickTime broadcaster there's other
choices out there I would encourage you
to check out Apple comm toward slash
QuickTime go and check out the tools
area there are there is a streaming and
live encoding area where you can check
out some excellent third price tools let
you do things like multiple cameras add
text you know wipes effects broadcaster
is a free from Apple just baseline good
live encoder get you going one camera
get you started with low cost you can
connect any easy equipment you want and
of course your computer has to support
those connectors using cards or whatnot
the most common way we tend to see even
with more professional setups is what
I've got here on stage which is a DV
camera with a fire are jacked on it and
that's connected to a firewall port on
on the on the live encoder machine
and that's how the source gets gets done
I've seen large-scale strainings where
they have five $10,000 firing out video
camera with fire on and they've still
got the same type of setup as I have it
just got better lenses and optics and
equipment and much better camera
operator - so same kind of system exists
on large-scale events you want to
typically dedicate an individual machine
to do the live encoding so you're going
to have a live encoder box this
shuttling data to a server then that's
shuttling data to your clients right
it's a little bit different than the
original diagram for the live stream
mpeg-4 audio and video streaming
required g4 or greater because of the
computational expense of those codecs in
order to do that that type of encoding
on the fly' in real time you need a bit
of horsepower so pickup up power mac g5
if you want to do any kind of any kind
of mpeg-4 based AC based streams the
last thing I should note is Apple uses
this stuff for our live events now we do
at a larger scale of course because we
have 50,000 100,000 people show up for
for some mackerel keynotes but we use
this stuff if you you're not already
where we do quarterly announcements for
financials and that system uses many of
the tools that I'm showing you today I
certainly QuickTime streaming server so
the setup is is quite simple we've got a
video camera in this case I'm going to
say that we're going to do a large-scale
event because I have a separate machine
as you can see that power book up top
which is my live encoder box it's a
dedicated g4 or greater box it's doing
taking the video in its coding it it's
hinting it and it's sending it to in
this case the g5x serve so that live
encoders can be quite busy right very
very busy and the xix er g5 of course is
going to be sending the content to the
client so keep that in mind let's do a
demo and I'll kind of talk through some
of the different areas to do with a live
set up home use Maya nicely set up
camera here
it's going to turn my camera on my front
row guys will be my unvoluntary talent
so in the applications folder we have
Quicktime broadcaster again it's
included with the stringing server
excuse me it's conclude with Mac os10
server we launched it very simple tool
one window you've got your preview I
will plug in my camera and we'll have a
preview there are a couple controls down
below and you have to relaunch it's out
there we go
so you just have a preview up top of a
broadcast button recorded disc some
settings and that's it
so if you wanted to just plug and go you
can easily just use this interface of
course showing details will expand to
give you more options you can see
there's an audio video and network tab
right in order to perform broadcast
there is a little bit of pre-work we
need to do before the session started I
actually went into server admin which I
showed you at the start and I went into
an area where you can configure
passwords and because I want to control
access to who can broadcast content to
my streaming server I want any Joe Schmo
and my company to be able to do that
I set a password that will control the
inputs I just don't want any live
encoder to be able to send content
through my stream sir so I had a control
points all into that in just a moment
the defaults here you have some presets
available they are based on the
connection speed that your users are
going to be on so if you're on modems I
select modem presets will use a land
setting since we're in a wired LAN here
you can select the source where the
audio is coming from I think I'm going
to pick the DD audio first two channels
I believe we set the gain for the
appropriate options there's some codec
options here that are available these
are very much the same that you see when
you're exporting any QuickTime movie
there is pac session information but
generally you don't have to make any
changes that especially if you're just
getting started with streaming these
defaults are perfectly suitable you also
note that you can enable and disable the
video and/or audio so you can have an
audio only streams
or videos only stream or both right of
course if you're doing an earnings
announcement for your company likely
going to be audio only
so just disable the videos tab all your
going to broadcast is audio so switching
to video tab I'm going to select I'm
going to select land low motion that's
kind of suitable for this situation is
one of the presets it notes the source
so I have a fire our camera the Sony VCR
PC 100 just pretty simple camera pulls
that information from from the firewire
frameworks we can set the size of the
video three can explai by 240 is a good
starting point especially because I'm
going to be streaming on my wired LAN
here if you're streaming to a modem you
want to set that size down to something
like 176 by 144 or something in that in
that range we can pick the codec mpeg-4
is a good choice you can set the quality
you want
I like medium set the frames per second
I'll leave that as default since you
have a fairly generous network here when
we get to the network tab so if you're
just starting with streaming you
literally could just pick one of the
presets for audio on the presets for
video skip right to the network tab is
really the only place you have to do any
real work to get your strangers at least
into testing mode you can save preset
here there are none creative because of
course each network is different and all
we want to do is determine how we want
to transmit how we want to announce the
details of this broadcast I should point
this out QuickTime broadcaster does
something very very useful
call it use the announce protocol and
what that means is when you fire up a
brand new stream a small text file is
created it's just a description of the
stream that's called an SDP file it's
one of those standards that we talked
about - the open standard along with RTP
RTS be that file using the announce
protocol will automatically be sent to
the streaming server so in this case I'm
using the same machine to do encoding
and the streaming but if it was a
separate set up like I showed on the
diagram just a moment ago quits on
broadcaster will automatically push that
FTP file to the server extremely helpful
I can't tell you because again you using
the slightly older format which is a
manual manual unicast you end up having
copy files to the streaming server using
FTP or AFP you have to use some sort of
file protocol or sneakernet to like run
that FTP file over to the streaming
server and drop in the right folder
announced will automatically push that
required file there let me use I'm use
the announced feature here I've got the
host name just using that I'm going to
call it you know
intro to queue TSS Oh actually I'll
answer that question at the at the Q&A
has that sound just we can get it on the
on the mics now username and password
remember I did some pre-work I said I
went into the server admin I went to the
passwords area and I set the username
and password I'm going to answer that
here so that not just any Joe Schmo and
can use my string server as a live feed
I just I just crashed out so we'll just
restart that step when you just go back
and get us back to where we were we're
going to use music video so we had our
camera trough sorry about that
I'm just going to fax where we were my
apologies when camera turns off after a
few minutes I want music excuse me I
want music
I want my motion when you use custom
unique ask you just a slow call call
this intro to cube TFS occult my
username is admin my password is super
secret I can set a buffer delay you can
set that to any value if you're
streaming to your corporate network
which is all wired Ethernet you can set
that value a little lower there is a
built-in default of two to three seconds
even though if you set this to zero it
will still be 250 seconds
so typically 4 to 5 seconds of a little
bit of buffer let your clients queue up
the content on the other other end if
you have if you're broadcasting
something like a concert or a remote
event and you have your live encoder at
that remote event because of course the
camera has to be there as well
you can use a brush you can use
broadcast over tcp/ip that just means it
will do a better job of guaranteeing
that the live encoder will send the
content in its complete form to the sir
will not will not choose that here it's
not we have a wire LAN and key TSS of
course I'm the author all right I'll
just save that as a preset just in case
mm-hmm
call it Q TSS click okay and if all goes
well I should be able to just take the
broadcast button and you notice that in
the preview window it said starting
broadcast and now it's broadcasting and
it gives you some status underneath that
preview area it's a little bit small
just hide these details and literally
your live encoder all it has to have is
just that small window up that's enough
to perform the live encoding duties now
I've got a Power Mac g5 dual two
gigahertz here so it's got lots of
horsepower so I'm running the strings
around the same box so now watch that
content like that normally your viewers
would go to a web page that you've
created with a link to the screen but if
we switch over to computer - I'll hide
our demo I'll bring up the QuickTime
Player
now I'll go again open URL and new
player remember this is our kind of IT
admin quick way to see if our stream is
working if you remember I named the
stream I named the string into intro to
cue TSS so to pick up a live stream it's
quite simple when you use the same
address of my string server now notice
what's missing in that URL an extension
so you don't need to enter an extension
for a request for a live stream it's
just understood that dot SDP that real
small file that we that's created by
broadcaster and automatically pushed to
the server it's understood that that is
what you're requesting when you type in
just the filename phone's extension so
if I hit OK
we now have a live stream playing back
from our client off our server using
this everyone automatically starts
dealing stuff around the camera there's
roughly a five to eight second delay
probably but you can see that we're
watching a live stream
now just like broadcast radio they have
a six second delay like I said at the
start of the presentation live
broadcasts there's a bit of a delay
right it depends on what's happened
there might be under traffic and I think
I've set the buffer at five seconds so
you get eight seconds of delay so the
optimal situation is to run a live
encoder on a separate machine because
this box is running a couple services
and strings are and live encoding so
it's doing a bit of hard work so keep in
mind your viewers at the other end won't
won't see this delay they won't know
because they're not acts you know people
don't sit in the radio broadcast booth
and listen to the answer right they're
out in their cars or driving they don't
know there's six seconds of delay
effectively it will be live to them
right so that's a live lots of live
stream and literally within five ten
minutes you can set one up turn your
shooting server on open up broadcaster
plug-in any consumer camera certainly
with fire wire on it you ready to go
okay can we switch back to slides
so for more information there's an
excellent PDF guide you can pick up it's
the down stream server administrator
guide with QuickTime streaming server
you get the QuickTime streaming server
administrator guide excellent PDF which
documents several features how to set up
the server in more detail you also go to
apple.com forward slash quick times for
slash products for /q TSS there's all
the list information and links to
downloads for Darwin updates for the Qt
SS of course if you're on more on the
development side because of course the
source code for the streaming service
available if you do more development we
will gratefully accept source code
suggestions and changes you can submit
back to Apple after you download the
source code you can check out the two
developer links there at the bottom of
the screen for more information on that
reference library I'll loose up forearm
owner to the the training group used to
offer a QuickTime streaming server
course it was the one that I wrote that
Steven mentioned at the start of the
session it no longer is in current
circulation if you contact the fine
folks at the technical training group at
trained calm or training.com and request
it it would be a nice way to see a
revival of that course it's a three-day
classroom taught course with examples
and exercises you need to work through
and there's theory about bandwidth
calculations and saturation and live
event planning you know you can receive
a manual that's 200 250 to 300 pages of
content you can take with you an
excellent class but like I said it's
currently not in circulation so I
encourage you to contact the the
technical training folks at a trained
dot-com and ask for it so I'd love to
see it come back especially in light of
the the cellphone stream we demonstrated
earlier fabulous book by Steven gully
called quick time for the web excellent
book which is a general reference on
quick time including streaming we've got
a stream media Bible and the engineering
task force which is the standards that
which describe how RTP RTSP are supposed
to function I'll jump I'll jump back
this in a moment
there's a couple of knowledgebase
articles which are extremely helpful if
you forget your password for your
strings for how to reset it there's a
description of log access format the
streaming server logs over 40 parameters
for every per time stream is requested
you know how many bits they watched how
many bits they lost what they watched
when they watched it all those details
and several more parameters are captured
and the binding on how to bind the key
TSS server to a particularly Ethernet
interface one or the other or both is
described in the last article so through
the contact game royalties Stephen tone
introduced at the start of the session
of course we're going to do a QA in a
few moments can ask questions about the
information I just presented