With iPhone OS 3 update came the ability to do live streaming. There are a few types of streaming and each requires a certain encoding and segmentation. In this example i am building stream using asp.net media handler pro, open source ffmpeg and segmenter utility.


Requirements

i: asp.net media handler pro


ii: open source ffmpeg utility


iii: segmenter


Steps

Publish video to iphone device


Supported Settings For Iphone

The supported bitrates for streaming are: 100 Kbps to 1.6 Mbps


The suggested bitrates for streaming are*: Low – 96 Kbps video, 64 Kbps audio


Medium – 256 Kbps video, 64 Kbps audio


High – 800 Kbps video, 64 Kbps audio


The iPhone screen size is: 480×320


Suggested ffmpeg command for encoding iphone video
ffmpeg -i <in file> -f mpegts -acodec libmp3lame -ar 48000 -ab 64k -s 320×240 -vcodec libx264 -b 96k -flags +loop -cmp +chroma -partitions +parti4x4+partp8...


You can use the following sample code to publish any format video to flash flv, mp4, vp8 webm, ogg vorbis, grab thumb in one step using ASP.NET Media Handler Pro.


Note: You need to download latest ffmpeg build with support of VP8 codec




Everyone who has visited YouTube.com in the past four years knows that you can embed video in a web page. But prior to HTML5, there was no standards-based way to do this. Every video you've watched on the web has been funneled through a third party plugin (QuickTime, RealPlayer, Flash).


HTML5 defines a standard way to embed video in a web page, using a


<video width="300" height="150"></video>
element.

Support for the <video width="300" height="150"> element is still evolving, which is a polite way of saying it doesn’t work yet. At least, it doesn’t work everywhere. But don’t despair! There are alternatives and fallbacks and options.


 Video Codecs: There are tons of video codecs. The three most relevant codecs are H.264, Theora, and VP8.