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+partp8x8+partb8x8 -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 200k -maxrate 96k -bufsize 96k -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect 320:240 -g 30 -async 2 <output file>
Segment Video For Http Streaming
Now you have a complete video but you don't want to toss the entire thing up or you wouldn't be reading about HTTP streaming. What you need is a way to segment the video stream into smaller chunks. You can download Apple's segmenter
Publishing Iphone .TS Video and Making Playlist Segment via ASP.NET Media Handler Pro
Below sample code will help you to publish .ts (video/MP2T) video and create .m3u8 (application/x-mpegURL) segments via segmenter tool.
[code]MediaHandler media = new MediaHandler();
&
complete story