How to stream live video Dan Mahoney Systems Engineer ClickstreamTV

How to stream live video
Dan Mahoney
Systems Engineer
ClickstreamTV
dmahoney@clickstreamtv.com
catdude@gmail.com
dan@streemit.net
Streaming Blog: http://streemit.net
What do I mean by “stream live
video”?



You have some activity happening and you
want to share a view of that activity with
others, in near-real time
You want to do that sharing over the
Internet
I will be talking about Flash streams,
optionally QuickTime, but not Windows
Media
What do I need?

A computer (Linux, OS X, Windows)

Encoding software

A video source

An Internet connection

[Optionally] A streaming server

A player with which to display my stream
Computer requirements

Linux, OS X, or Windows machine

A fair bit of RAM (1 GB minimum)

A fairly speedy CPU


Enough disk space for your video tools and
any archive file you might capture
A GPU won't really help with encoding
Encoding software




Flash Media Live Encoder – free, not open
source, pretty popular. Windows and OS X.
Quicktime Broadcaster – free, open source
(sort of). Mac only, discontinued with Lion.
VLC – all platforms. Not as easy to use as
the other two but does the job.
Ffmpeg – all platforms, but mostly Linux.
Not super easy buy very powerful.
Commercial encoding software


Wirecast (Telestream) – around $500. Very
powerful and flexible, does camera
switching too. Windows and Mac.
VidBlaster – various prices, ranging from
$200 to stupidly expensive. Almost as
capable as Wirecast, needs more CPU
resources. Windows only.
Video source

USB or Firewire webcam

Vid cam with digital interface

Vid cam with analog output and a capture device on the
computer

Pinnacle Dazzle (Windows/Linux, USB)

Canopus ADVC series (Mac, USB & Firewire)

BlackMagic Intensity

Osprey card (PCI, PCI-x)
An Internet connection

Speed needs will depend on mode – direct
vs through a server

Dialup won't work!

Wireless tends to get flaky

We'll discuss bit rates and frame sizes a
little later
Video player

We need to put a player in a web page for
our end users.

Jwplayer

FlowPlayer

OSMF player
Why use a streaming server?



Streaming from PC limited by available
bandwidth and CPU resources
Streaming servers are purpose-built to
deliver streams
Additional features – autoarchive,
transcode for other devices, etc
Streaming servers

Services
DIY

LiveStream
(free)
Wowza (EC2 or
perpetual)

Ustream (free)

Justin.TV
(free)
FMS (EC2 or
perpetual)

ClickstreamT
V
(inexpensive)
Crtmpserver/Evos
tream
Erlyvideo
Red5
Self streaming



Uses a lot of
bandwidth
Demands a lot of
your computer
Can serve very
limited number of
viewers
Server streaming





Server/software optimized
for streaming
Usually have lots of
bandwidth available
Load down somebody else's
server
Can handle much larger
viewer loads
Run your own or pay for time
on a commercial service
Bit rate and frame size
Remember the bandwidth of your target audience. If you
have 100 Mbps pipe and encode a stream at 10 Mbps,
residential DSL customers will be SOL.
Also think about your audience's display size. If the
majority of your audience uses older Android devices, a
1080i stream won't make you very happy.
Device/codec choices
Device
Desktop
iOS device
Android (native)
Android (Flash)
VP6/Nellymoser
VP6/MP3 H.264/MP3
H.264/AAC
Works
No
No
?
Works
No
No
?
Works
Works
Works
Works
Works
Works
No
Should work
Gotchas


Older iPhones require audio be encoded as
stereo even if only one channel
Older iPhones and Androids require H.264
be configured for Baseline profile, level 3.0
or 3.1
Useful tools

Flash Media Live Encoder (http://www.adobe.com/products/flash-mediaencoder.html)

VLC (http://www.videolan.org)

Ffmpeg (http://ffmpeg.org)


Manycam (manycam.com) (does video switching, desktop, insertion of video
files and stills – Windows and Mac)
Rtmpdump (http://rtmpdump.mplayerhq.hu/)
Useful on-line tools




JWPlayer wizard- allows monitoring your video without having
to embed a player in a web page, and makes it easier to
embed a player in your web page.
http://www.longtailvideo.com/support/jw-player-setup-wizard
OSMF configurator – does the same thing, but using the Open
Source Media Format player.
http://www.osmf.org/configurator/fmp/
My streaming blog – I have tips on configuring and managing
streaming servers (mostly Wowza). Http://streemit.net
Or do it the easy way
If you don't want to have to mess with streaming servers,
just sign up for an account with ClickstreamTV
(http://www.clickstreamtv.net) and let us handle the server
details for you.

Live and on-demand streaming

Easy-to-use media control center

Manage video email campaigns

Pay per view accounts available

Basic accounts start at $59/month with a one-month free
trial