Mix 11 Videos - Download them all with RSS
Such a fun time was had at Mix 11 this last week in Vegas. I only saw a few talks as I was busy presenting, but now as I sit at home on my first day back, I say to myself, Self, how can I get all the Mix videos at once?
First, you can watch all the videos online at http://channel9.msdn.com/Events/MIX/MIX11
Second, you can get them via RSS. Most major browsers are hiding the RSS button these days, but the discovery metadata is all still there. In IE9, for example, if you show the Command Bar, you can see the RSS Feeds for the Mix site:
What's all this awesomeness? Oh, yes, it's the Mix talks via RSS with enclosures, just as you've always wanted. Now you can list the thousand ways that you might retrieve these lovely files and abuse Microsoft's bandwidth while hoarding knowledge on your multi-terabyte personal SAN.
Direct links to the Mix RSS feeds that include Enclosures:
- Mix 11 Default RSS
- Mix 11 MP4 Low RSS
- Mix 11 MP4 High RSS
- Mix 11 WMV RSS
- Mix 11 WMV High RSS
- Mix 11 MP3 Audio RSS
So now you can get them with iTunes or Zune, or PowerShell, 'cause that's bad-ass. Yes, you can use Curl also, nyah.
$feed=[xml](New-Object System.Net.WebClient).DownloadString("http://channel9.msdn.com/Events/MIX/MIX11/RSS")
foreach($i in $feed.rss.channel.item) {
$url = New-Object System.Uri($i.enclosure.url)
$url.ToString()
$url.Segments[-1]
(New-Object System.Net.WebClient).DownloadFile($url, $url.Segments[-1])
}
Or, you can subscribe in iTunes from Advanced|Subscribe to Podcast, assume, of course, you want iTunes in your life.
Or, in Zune (which is a good Podcast Downloader even if you don't have a Zune) you can go to Collection|Podcasts and click Add A Podcast:
Another nice, lightweight Podcast Download is the Open Source "Juice!" from http://juicereceiver.sourceforge.net/
Go get them! Here's the presentations that Web Platform and Tools Team (ASP.NET, IIS, etc) presented:
- Knockout JS: Helping you build dynamic JavaScript UIs with MVVM and ASP.NET
- Deconstructing Orchard: Build, Customize, Extend, Ship
- Pragmatic JavaScript, jQuery & AJAX with ASP.NET
- Scaffolding – ASP.NET, NuGet, Entity Framework Code First and More
- An Overview of the MS Web Stack of Love
- ASP.NET MVC 3 @:The Time is Now
- Bigger, Faster, Stronger: Optimizing ASP.NET Applications
- Web Forms: Reports of my Death are Greatly Exaggerated
Enjoy!
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
About Newsletter
When we encode videos directly for Channel 9, we store the size as we upload them, but in this case we do the upload from the event and then just get back a list of URLs without sizes. Seems better to get them online with a size of 1.0, than wait until we can write a script to update all the sizes.
$wc = New-Object System.Net.WebClient
([xml]$wc.DownloadString("http://channel9.msdn.com/Events/MIX/MIX11/RSS/wmvhigh")).rss.channel.item |
? { $_.GetElementsByTagName("enclosure") } |
% { [uri] $_.enclosure.url } |
% { Write-Host $_; $wc.DownloadFile($_, $.Segments[-1]) }
when I paste the MP4 links into iTunes for windows using the advanced | subcribe to podcast, it only picks up the mixx 11 Day 2 keynotes for either resolution. when I right click and ask to get more episodes itunes doesnt seem to find any more of the good content. Does your instructions assume Mac?
version of itunes: 10.2.2.12.
link I used:
http://channel9.msdn.com/Events/MIX/MIX11/RSS/mp4
Really hoping to watch these as I can never get budget to travel to Vegas...
HTML5/CSS3 Boot Camp
Design, Content, Code: Start-to-Finish
Silverlight Boot Camp
Cloud Computing with the Windows Azure Platform
jQuery Boot Camp
HTML5 Canvas Mastery
Windows Phone 7 Boot Camp
Silverlight for SharePoint Boot Camp
Agile .NET Cloud-Deployment with Git
WomenInTech with LegoSeriousPlay
=(
Some owners of Android may find that their Android phone will not play the channel 9 WMV or MP4 videos. One reason may be, that even though the videos are mp4, they are encoded using the Microsoft VC1 encoding.
Some of you who purchased Expression Blend will have thought, that it will be easy to simply re-encode the mp4 file using H264 with Expression Encoder. Unfortunately this is not going to work. You will need Expression Encoder Pro version to do this.
Luckily, Samsung supplied a program with their mobile phone called Kies which will convert either the mp4 or the wmv files to an mp4 encoded version which does work on an android phone. You should be able to download this program for free on the Samsung website.
It would be useful for many developers, who have Android devices, if Channel 9 would encode the MP4 videos using H264. Unless, of course, they wish to simply inconvenience developers who purchase Android devices.
Do you know if there is any rss feed for slides also?
This is quite confusing. But downloading all MP4 from iTunes works like a charm.
Thx
Simone
$file = $url.Segments[-1]
if (! (Test-Path $file))
{
$url.ToString()
(New-Object System.Net.WebClient).DownloadFile($url, $file)
}
I've put the complete sample-code on my blog.
function MIX11Download (
[parameter(Mandatory=$true)]
[string]
$TYPE
) {
$validtypes = "wmv","wmvhigh","mp4","mp4high","zune","mp3";
if ($validtypes -notcontains $TYPE) {
throw New-Object ArgumentException("Valid types to download are: " + ($validtypes -join " "));
}
$client = New-Object System.Net.WebClient;
[xml]$feed = $client.DownloadString("http://channel9.msdn.com/Events/MIX/MIX11/RSS/" + $TYPE);
$root = $home;
$root = [IO.Path]::Combine($home, 'Downloads');
$root = [IO.Path]::Combine($root, 'MIX11');
$root = [IO.Path]::Combine($root, $TYPE);
mkdir $root;
$feed.rss.channel.item | ?{$_.enclosure.url} | %{
$url = New-Object System.Uri($_.enclosure.url);
$name = $_.Title;
[IO.Path]::GetInvalidFileNameChars() | %{$name = $name.Replace($_, ' ')};
$newfile = [IO.Path]::Combine($root, $name + [IO.Path]::GetExtension($url.Segments[-1]));
if (-not [IO.File]::Exists($newfile)) {
"{0} => {1}" -f $url, $newfile
$client.DownloadFile($url, $newfile)
}
}
}
Happy downloading.
I'm trying to use juice to download the WMV and WMV high videos but I'm getting an error? Do you know if there is something with those feeds?
Thanks
Comments are closed.