How to stream live video Dan Mahoney Systems Engineer ClickstreamTV

Transcription

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