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