Thursday, April 16, 2009

Overview of Live Smooth Streaming,Live Encoding and Streaming with Expression Encoder 2 – Part 8

This is my last part of Silverlight 3 Lap around Series,It is not that much related to core Silverlight 3 but it share same capabilities which Silverlight provides, I would like to thank you all for your wonderful response and feedback throughout the series, I will surely follow it in my upcoming articles. I know I missed out Deep linking,Effects and few more small things, but I kept it for future discussion.

There is lot of discussion going around in Media Industry about Silverlight Streaming,Recently MIX09 was big example, We all know next Olympics are going to be supported by Silverlight 3, But Olympics and all are big thing, How we can empower our day to day apps which uses streaming that I am touching upon now. I am sure those who are planning for streaming, this will be initial guideline for them. This post will not contain any code,this will be full of screenshots, since everything is getting done via IIS 7.0 and other few tools.

Smooth Streaming :

It is bit hard to represent each and every step here, So I would like to redirect you to IIS Smooth Streaming where you will find step by step guide, Advantages of it etc. [Note : I have use “Big Buck Bunny” example as reference for my “Bear” example and I have use same infra too]. It is necessary to have Live Smooth Streaming Plug-in in your IIS 7.0, once you installed that you find the necessary plug-in inside your IIS like this :

IISStart

After creating Publishing point there, you can import your media in encoder like this :

Bhalu Then in order to create series of “ismv“ files you need to choose following options and do necessary settings like this :

BhaluSettings

You can see that, I have chosen “Adaptive Streaming”  in profile and if you see carefully, Output Mode is IIS Smooth Streaming, so now save this job and encode, then you will have series of ismv files inside job folder, copy those to your wwwroot and you can generate manifest using pushencoder32/64 exe file on command prompt,make sure that time on prompt you fire that command from your virtual directory and use your publishing point like this :

pushencoder32 <Url of Publishing Point> <ism-file>

so it will be like :

pushencoder32 http://localhost/LiveSmoothStreaming.isml “Bear.ism”

Point to be noted here that “isml” is nothing but the publishing point we added on our IIS, So now for output I am using same HTML page of Big Buck Bunny but with different URL so as to display my Bear video like this :

Output1

You can see that I am entering “Bear.ism” as presentation name and I can choose template from Silverlight player option, well this is Smooth Streaming and output is like this :

 Output4

You will now see much more things like Frame Rate and Max Bit Rate which you can adjust too, see this :

Framerate2

FramRate1

This is how you can do Smooth Streaming using IIS 7.0 in easy way, Read more on article given on IIS site.

Live Encoding and Live Streaming : 

You must have seen some Live streaming going on in Silverlight player on several site, I know there are several mechanism to do it, One of which I came across and which I feel simple is now I am sharing with you, For this you need IIS in place with Microsoft Expression Encoder 2 with its Service Pack. Open new job in Encoder and you will find following screen :

Livebutton

Click on “Live encoding” button, you will be then looking at following screen :

LiveConsole1

For this Live streaming, I have used my built-in laptop camera, you have freedom to choose your device from following settings :

LiveConsole3

From Device Configuration you can choose device and from Output options you have either File Archive or Streaming, I have chosen “Streaming”, Right now since I don’t have any server with me so I am using Local IIS, you can choose and give your desired location for live streaming in “Location” option along with the port.Links in output panel will guide you for options, once you done with selecting video device you will see the input from camera like this :

Cam

StreamingOne

So once you select video device and done with necessary audio settings you can click on “Launch Preview” button, which will create a sample HTML page which will host a silverlight player in it and will stream it whatever is input from camera it will stream it and you will be able to see it in your browser, In reality if you choose location it will render in your website like this :

StreamingTwo

Hope you will try this out, I am much into Media and jazzy UI design, so if there any feedback or suggestions from you,please let me know, would like to explore that too.I am sure,those who never look at streaming capabilities of Silverlight, they will surely will try this out.Meanwhile I will soon come with lots of new experiments and stuff in Silverlight, so keep visiting here.

Vikram.

1 comment:

Luis said...

Hi,
can you please provide client code example? I've read all about smooth streaming tutorials, but none provide client side code.

Thanks and congrats for a great article
Luis