In this post, I will provide step-by-step instructions for retrieving videos and Silverlight applications that you had previously hosted on the Microsoft Silverlight Streaming by Windows Live Beta, which is being discontinued.
1. Connect to your SLS site by going to http://silverlight.live.com
2. Login with your Windows Live ID. You should see a screen like this one:
3. Click on Manage Account. Keep this window open because you will need the Account ID and the Account Key.You should see the following:
4. Now you need to attach the SLS service so that it can be accessed like a drive. First, go to the Start button and select Computer. You will see:
5. Click on Map network drive. You will see a dialogue box like this one:
In the Folder field, enter the following:
\\silverlight.services.live.com@SSL\DavWWWRoot\<AccountID>\
<AccountID> should be replaced by the Account ID displayed in step 3 above.
Make sure that the Connect using different credentials box is checked and then click Next.
6. You should see the following Windows Security dialogue box:
In the User name field, enter the same Account ID that you entered in step c above.
In the Password field, enter the Account Key that was displayed in step 3 above.
Important note: if you select the Account Key that was displayed in step 3 above by double clicking on it and copying it to the clipboard, there’s a very good chance that what you’ve copied will include a trailing whitespace. Verify this by pasting it into a visible text field somewhere (e.g. browser address bar). You do not want there to be a trailing whitespace or the authentication in this step will fail.
Check the Remember my credentials box if you like and click OK.
7. Assuming all went well, you should now see a file window that looks something like this:
These files represent all the content that you have stored in your SLS account.
8. Anything that you want to save should be copied locally. It is probably easiest to create a folder on your Desktop, open it, and drag the folders that you want to keep from the SLS drive to your local folder. For this example, I will just copy across the mixlogo folder.
9. Open the local copy of the folder you just copied. In my case, its contents look like this:
There are quite a few files here, but we only care about the media file, which is called mixlogomotion.wmv. Note that if you had used the Upload video feature in the SLS web interface, your folder may simply contain the WMV file and nothing else.
10. Now you have the media file stored locally. The easiest way to get this file up on Azure is to re-encode using Expression Encoder by following the steps in this post. Note that you can use the Apply Source Encoding Settings presets in Encoder if you’re happy with the compression do not wish to transcode.
Thanks go to Tim Heuer for pointing this out (and providing this workaround).
In the posts on hosting a Silverlight video player on Windows Azure, Firefox users will find that the embedded player looks like this when displayed in Firefox:
Two things need to be changed in order to fix this.
Change the iframe that is generated by the Expression Encoder Windows Azure Blob Storage Plug-in:
By default, the iframe generated by Expression Encoder looks like this:
<iframe src="http://slvideo.blob.core.windows.net/sllaunch/Default.html" Width="500" Height="283"></iframe>
To remove the recessed style, frameborder=”0” must be added to it:
<iframe src="http://slvideo.blob.core.windows.net/sllaunch/Default.html" Width="500" Height="283" frameborder=”0”></iframe>
Change the default.html that is generated by Expression Encoder:
When you create a Silverlight player with Expression Encoder, a default.htm file is generated. This file is automatically uploaded to your Azure storage account by the Windows Azure Blog Storage Plug-in. The scroll bars shown above are created by this line in the standard default.html, which are normally used for navigation history. We don’t need this for our purposes. Here are the step-by-step instructions.
1. Download and install CloudBerry Explorer for Azure Blob Storage (a Windows application).
2. Start CloudBerry and you will be prompted to enter your name and email address to register it. You will receive a key by email, which you must paste into the application. You will then see this screen:
3. Go to the File menu and select Azure Blob Storage Accounts.
4. Click on the Add button in the Account Registration dialogue that appears.
5. The Add New Azure Blob Storage Account dialogue appears. You will need to enter a display name (this can be anything you like), the Azure storage account name and the Azure shared key. For information on what these are, refer to this post. Your storage account name is the AccountName and the key is the SharedKey. Click OK and then Close in the Account Registration dialogue.
6. Back on the main program screen, click on the drop down next to Source. You should see something similar to this:
7. Select the Azure storage account name (in my case slvideo) and a list of the containers in your account will be displayed below. Double lick on the one you want to use (in my case sllaunch) and you should see something like this:
8. In the pane on the right hand side of the application, find a suitable location on your computer to copy the Azure file. I picked C:\TEMP.
9. Now select Default.html in the left hand pane and drag it to the right hand pane, and click Yes in the confirmation dialogue.
10. Now start Notepad and open the file that you just copied (in my case c:\temp\default.html).
11. In notepad, search for iframe by pressing Ctrl+F and typing iframe in the search box. You will see the following:
12. Select everything on the line beginning <iframe up to and including </iframe>
13. Delete this selected area and you should be left with:
14. Save the file and exit Notepad.
15. Back in CloudBerry, click and drag Default.html from the right hand pane to the left hand pane to copy it back to the Azure storage service. You will need to click Yes to the copy dialogue and Yes to the overwrite warning dialogue box.
16. You can now exit CloudBerry.
Now when you refresh the page in Firefox, you should see the player render correctly.
In this post, I will describe how to use Windows Live Writer to embed a Silverlight video into a blog post. You will need: (1) an active Windows Azure subscription, (2) an active Windows Azure storage service, (3) a Silverlight video player application with video hosted on Windows Azure, and (4) Windows Live Writer installed.
The top-level post with a table of contents to all the related posts is here.
1. Go to http://gallery.live.com/liveItemDetail.aspx?li=f84d87b9-e284-4691-aa90-2d628e67af6f&bt=9 and download the Insert from Windows Azure Storage plug-in for Windows Live Writer.

Follow the prompts to download and install the plug-in.
2. Start Windows Live Writer and locate the Azure Blob Item plug-in.

3. The Insert Azure Blob Item dialogue will appear.

You will need to enter the publishing endpoint, the access key and the CDN endpoint (if used). This information can be obtained from the Windows Azure Developer Portal.

4. Click on Refresh, and you should see a list of containers in your Azure storage account. If you have been following the examples, the only one you will see is called “foo”. Select “foo” and you will see the contents of this container.

If you click on Default.html, you will see the Silverlight application appear in the preview window.

You can now either embed the player directly into your blog post, or link to it. You can also use the CDN endpoint (if it has been enabled) by checking the “Use CDN” checkbox. Click on Insert to continue.
5. In Windows Live Writer, you will see the Silverlight application appear on the writing page.

The Windows Security Warning (which may appear several times) may safely be dismissed by clicking Yes. If you click No, the Silverlight application will not be displayed within Windows Live Writer, but will still be published to your blog if you click Publish.
You can resize the embedded player by clicking and dragging and can configure the plug-in settings in the plug-in panel that appears when the embedded player has focus.
When you publish your blog post, readers will see a seamless post containing your text, hosted on your blog, and an embedded Silverlight player, hosted on Windows Azure.
FIrefox users should note that at the moment, when you insert the iframe, Firefox will display the player with a recessed look and with scroll bars. See this post for information on how to fix this. IE and Safari are unaffected.
In this post, I will describe how to use Microsoft Expression Encoder 3 to encode and publish a Silverlight video player to a Windows Azure storage account. You will need: (1) an active Windows Azure subscription, (2) an active Windows Azure storage service and (3) installed Microsoft Expression Encoder 3.
The top-level post with a table of contents to all the related posts is here.
1. Download the Windows Azure Blob Storage Publisher for Expression Encoder, which is located on Codeplex. You will need to agree to the Microsoft Public License in order to download it. Save the WABSPublisherbeta2.zip file somewhere that you will be able to find it easily (e.g. your Desktop).
2. Go to the download ZIP file and open it. You will see two DLLs and these are the only two files that we care about.

3. Now locate your Expression Encoder installation directory. This is usually "C:\Program Files\Microsoft Expression\Encoder 3”. The easiest way to find out if you are running Windows 7 is to click on the Start icon and type “expression encoder” into the search box. Then right click on “Microsoft Expression Encoder 3.

Select Properties and the click Open File Location.

4. In the Expression Encoder folder, open the Plugins folder. Now drag the two DLLs from the download ZIP archive to the Plugins folder.
You may need to provider Administrator permission to carry out this operation.
The Windows Azure publishing plug-in is now installed into Expression Encoder.
5. Now start Expression Encoder and import a video for encoding. Select a suitable encoding preset.

6. Click on the Output tab and select a Silverlight player template.
7. Go down to the Publish section. In the Publish To field, you should see “Windows Azure Blog Storage” as being available. Select this publishing point.

8. You will be shown the publishing plug-in settings and will need to enter information about your Windows Azure storage account. You can obtain this information by going to the Windows Azure Developer Portal and clicking on the project name and storage that you created.


AccountName is the public storage account name and is the part of the endpoint before .blob.core.windows.net. In my example, the endpoint is http://dsvideo.blob.core.windows.net, so the AccountName is dsvideo.
SharedKey is the Primary Access Key.
Endpoint is the fully qualified endpoint, which in my example is http://dsvideo.blob.core.windows.net
Container is whatever you want the container for the video to be called (like a directory).
An important point here is that this container name should be all lower case and not contain any special characters, or will you see an "out of range" error. [Thanks to Kip from liveside.net for pointing this out.]
9. Ensure that the Publish after encode box is checked.

10. Encode your video by clicking the Encode button. Once the video has been encoded, the Silverlight application should get published to your Windows Azure account. In the Publish section, you can click on Refresh to see the list of published containers in your Azure account. This should contain the name of the container that you just published. You can click on preview and a thumbnail version of the Silverlight application will playback. Under the thumbnail, you will see the URL of the application.

The URL follows the format: endpoint/container/Default.html.
If you click on the Code tab, you will see HTML code required to insert an iframe to call the player. You can use this code to embed the player on a website or blog.

If you click on the CDN button, you will see that the endpoint is replaced with the CDN endpoint.
Now you are ready to embed your Silverlight video into your web page or blog. In the next post, I will describe how to use Windows Live Writer to embed a Silverlight video into a blog.
FIrefox users should note that at the moment, when you insert the iframe, Firefox will display the player with a recessed look and with scroll bars. See this post for information on how to fix this. IE and Safari are unaffected.
In this post, I assume that you have already provisioned a Windows Azure account and have an active subscription. Step by step instructions for doing this are provided here.
The top-level post with a table of contents to all the related posts is here.
1. Go to www.azure.com and click on Account.

1. You will be taken to the account information screen. For our purposes, we are only interested in the Windows Azure services (versus SQL Azure and AppFabric). Click on “Go to the Windows Azure Developer Portal”.
![clip_image002[4] clip_image002[4]](http://blogs.msdn.com/blogfiles/david_sayed/WindowsLiveWriter/SettingupWindowsAzureforvideostorage_968E/clip_image002%5B4%5D_thumb.jpg)
2. You will now be prompted to create a developer portal account. Read the privacy statement, then click on the I Agree button to continue.

3. Your account will be created and associated with your Windows Live ID. Click on Continue.

4. You will now be taken to the Windows Azure developer portal, which shows a summary of your projects. The only active project will be the one that was created as part of the service provisioning in the previous post. Click on this project (in my case RockOn).

5. Click on New Service.

6. You will now see the service creation wizard. Click on Storage Account.

7. Now enter a name for the service and optionally a description. Then click Next.

8. Now you will specify the storage account information. First, you must pick the public name for your storage account. This is essentially a domain name and must be globally unique. You should enter a public name candidate and then click the Check Availability button to make sure that it is not taken. In this example, I am calling the storage account dsvideos. Its fully qualified public domain name will be dsvideos.blob.core.windows.net. Second, you must select a storage affinity group. This is simpler than it sounds. If you are in the US, pick Anywhere US. Click Create to continue.

9. Your storage service has now been created and you are shown a summary screen. You are shown the endpoints, which are the publically accessible storage locations, the access keys and the physical location of the cloud. You may also choose to enable content distribution network (CDN) functionality, which is currently in CTP and also map your storage endpoint to a custom domain. For video use, enabling CDN functionality is useful.

If you enable CDN functionality, you will receive an informational dialogue box stating that the change may take up to 60 minutes to propagate.

Once you click OK, you will be returned to the summary page. You will see two changes after CDN functionality has been enabled: a CDN endpoint is defined and is also shown as a separately configurable endpoint in the custom domains section.

Now we are ready to move onto
uploading video to the Azure storage service.
In this post, I will show you how to sign-up for Windows Azure. To complete this, you will require: a physical address, a telephone number, a Windows Live ID and a valid credit card.
The top-level post with a table of contents to all the related posts is here.
1. Go to www.azure.com – it will resolve to http://www.microsoft.com/windowsazure/ but I find it easier to remember.

2. Windows Azure is a paid service, which means it costs money to use it. There are essentially two pricing models: pay-as-you-go or commitment. Hover over the Pricing tab and select Offers from the drop-down menu to view the pricing packages.

3. Pick a suitable package for your needs and click the Buy button. I picked the Windows Azure Platform Introductory Special, since it is a no commitment pay-as-you-go plan and is free until the end of January 2010.

4. The purchase is processed through the Microsoft Online Services Portal, which is another website that loads automatically. You will need to select your location and proceed through the pretty straightforward wizard.

5. You will need to sign in using your Windows Live ID. The Sign in link is a little concealed – see below.

6. Enter your Windows Live credentials and sign in.

7. Next, you will be presented with a four step wizard in which you will need to enter (1) your contact information, (2) your company information and (3) your service usage address. First your contact information (fields with a red asterisk are required):

8. After clicking Next, you will see the company information form:

9. Next comes the service usage address. This may be different to your contact information and determines which services are available to you and the tax calculation. It is important to note that once selected, the country or region can never be changed.

10. Finally, a confirmation screen appears. Click Close to return back to the Microsoft Online Services Portal services page.
11. On the Microsoft Online Services Portal services page, click Windows Azure Platform in the Services Filter.

12. A list of Windows Azure services will be displayed. As I said in step 3, I will pick Windows Azure Platform Introductory Special. Click on the Buy Now button to place the package in your shopping cart.

13. Your shopping cart will be displayed. You must check the acknowledgement box in order to proceed to the checkout. Once you have read and acknowledged the information, click the Checkout button. Note that on this screen, you have an opportunity to change the service usage address. As stated in step 9, the region or country cannot be changed.

14. This is part where we take your money! You will most likely not have a credit card setup in the Microsoft Online Services Portal and will need to add one by ensuring that the button next to New credit card is selected and then click on Next.

15. For security, you need to sign in again to enter your credit card information.

16. Once signed in, you are presented with a four step wizard in which you must enter your credit card account information, read and accept the agreement and review your order. For US customers, Visa, Master Card, American Express and Discover are all valid forms of payment. Acceptable forms of payments in other regions may vary. Once you have entered the required information, click on Next.

17. You will then be presented with the Microsoft Online Subscription Agreement, which you should read. In order to accept it, you must check the box, enter your full name and (optionally) your job title. Once you have done all this, click on I Accept.

18. Now you must review your order. Click Confirm Order to continue. Note that if you click Cancel, you will be taken back to the shopping cart screen and will need to start the checkout process all over again, however, your credit card information will have been saved.

19. Finally, you are presented with the confirmation screen where your order confirmation number is displayed. You will receive a copy of this information by email. This concludes the payment aspects. Now the service must be activated. Click on Proceed to activation to continue.

20. The service activation has four steps. In it, you will name your subscription and set the administrative contact. First, enter a subscription name. This is primarily used to identify your subscription on your bill. Once you have entered a name, click Next.

21. Next, enter the administrative contact information. These fields are pre-populated with the contact information entered for the service usage address. Click on Next to continue.

22. The service activation summary is displayed. Nothing to do here except click on Finish.

23. Finally, a confirmation screen is displayed. Click on Close to continue.

24. The Microsoft Online Services Portal is displayed with a list of your subscriptions. The one that you just setup will appear here with “Activation in Progress” as its status. After a few moments, you can refresh this page and the subscription status should be “Active”.

Now you’re ready to move on to setting up Windows Azure for storing your videos.
This is going to be a series of long posts. With Silverlight Streaming (silverlight.live.com) being discontinued, I thought I’d write up the detailed steps required to host videos using Windows Azure. Since many people who host videos using Silverlight Live Streaming are not technical or development-inclined and rely on the Expression Encoder and Windows Live Writer plug-ins to automate the publishing process, I wrote these posts to suit that audience. In other words, if you can read, understand and follow the steps below, you will be able to host videos on Windows Azure. So don’t be put off by the length and wordiness of these posts – I tried to be explicit to the point of stating the obvious!
Please note that despite its name, Silverlight Streaming was in fact delivering content through progressive downloads. The Azure model is no different. If you are looking for a true streaming approach (e.g. Smooth Streaming), you will need to look at one of our CDN partners.
There are four posts:
- Provisioning Windows Azure – how to sign up for and set up a Windows Azure subscription.
- Setting up Windows Azure for video storage – how to create a storage account.
- Creating and publishing a Silverlight video to Windows Azure – how to use Expression Encoder to encode and publish a video to Windows Azure.
- Embedding a Silverlight video in a blog – how to use Windows Live Writer to embed a Silverlight video hosted on Windows Azure in your blog.
Once you have completed the steps in all four posts, you should be able to embed a Silverlight video player in a blog post like the one below:
Credit for all of this goes to a number of people including Saeed Akhter in the Windows Azure team, James Clarke in the Expression team and Tim Heuer. All I’ve done is to synthesize the information that they already put out there.
After a short break, I’m pleased to offer up the latest Silverlight podcast. This time, the topic is accessibility – what it is, why it is important, how to do it in Silverlight and what the implications are for rich media such as video. It features Sean Hayes who is with Microsoft’s Accessibility Business Unit.
I apologise for the poor audio quality - I’m afraid I screwed up when I placed the microphone in my office (too near a computer fan). I tried what I could to clean it up and there’s a transcript available for download.
As always, there are two versions: Enhanced AAC for iPods (includes pictures) and plain MP3 for everything else. This time, I’m also trying something new and embedding a Silverlight player that should play the podcast directly from this post. The two previous podcasts are also in the embedded player - just scroll down in the player to listen to them.