Looks like there may be alternative solutions now, but in case anyone cares about an update on how to download them via flvstreamer (they changed some stuff after my previous post and I don't seem to be being emailed updates to this thread).
1- You have to get the feedPID. Goto http://www.cbc.ca/video and view the source (View -> Page Source in firefox). Scroll down a bit and you will see a line like so
var feedPID = "<a while bunch of alphanumeric garbage>"; // <some more alphanumeric garbage>
The bit in the quotes is the feedPID.
2- Then you have to query cbc.feeds.theplatform.com to get the URL that returns the player information for the show you want. To do this you construct the following URL
where <feedPID> is replaced with the feedPID from above (without the quotes), <searchterms> is the comma separated list of words you want to search for (or you can use "&query=ContentCustomText|Show|<name>" if you know the name of the show), <seasonnumber> is the season number, <episodenumber> is the episode number, and everything is on one line.
3- This should uniquely locate your show and return you the URL in JSON format (it will be something like "http://release.theplatform.com/content.select?pid=<alphanumeric garbage>&UserName=Unknown&Embedded=True&Portal=All Content&Tracking=True").
4- Going to this URL, and it will return an XML document that has a "<url>...<break>...<url/> component to it (it will be something like "<url>rtmp://cp37429.edgefcs.net/ondemand/?auth=<alphanumeric garbage>&aifp=v0001&slist=netstorage<break>netstorage/<the name of the flv file></url>").
5 - Quickly run (you only have maybe up to 30s before the URL expires)
flvstreamer -y <PLAYPATH> -r <URL> -o <FILE>
where <PLAYPATH> is the bit after <break> minus the ".flv" extension from the url component, <URL> is the bit before the <break> from the url component, and <FILE> is whatever you want to save the stream as.
6 - Once it completes downloading, you can run
mplayer <FILE>
to watch it (or do whatever you do to watch .flv files).
PS: For what it is worth, there are actually a whole bunch of different items you can search on (that is what they query lines do) and information you can return (that is what the other lines do) in step 3. See the getReleaseList function and friends in the javascript running the CBC video sight at http://www.cbc.ca/video/js/CBCVideoFunctions.js for some more ideas.
Looks like there may be alternative solutions now, but in case anyone cares about an update on how to download them via flvstreamer (they changed some stuff after my previous post and I don't seem to be being emailed updates to this thread).
1- You have to get the feedPID. Goto http:// www.cbc. ca/video and view the source (View -> Page Source in firefox). Scroll down a bit and you will see a line like so
var feedPID = "<a while bunch of alphanumeric garbage>"; // <some more alphanumeric garbage>
The bit in the quotes is the feedPID.
2- Then you have to query cbc.feeds. theplatform. com to get the URL that returns the player information for the show you want. To do this you construct the following URL
http:// cbc.feeds. theplatform. com/ps/ JSON/PortalServ ice/2.2/ getReleaseList ield=show ield=seasonNumb er ield=EpisodeNum ber KeywordsSearch| <searchterms> ContentCustomTe xt|seasonNumber |<seasonnumber> ContentCustomTe xt|EpisodeNumbe r|<epsiodenumbe r>
?PID=<feedPID>
&contentCustomF
&contentCustomF
&contentCustomF
&field=URL
&query=
&query=
&query=
where <feedPID> is replaced with the feedPID from above (without the quotes), <searchterms> is the comma separated list of words you want to search for (or you can use "&query= ContentCustomTe xt|Show| <name>" if you know the name of the show), <seasonnumber> is the season number, <episodenumber> is the episode number, and everything is on one line.
3- This should uniquely locate your show and return you the URL in JSON format (it will be something like "http:// release. theplatform. com/content. select? pid=<alphanumeric garbage> &UserName= Unknown& Embedded= True&Portal= All Content& Tracking= True").
4- Going to this URL, and it will return an XML document that has a "<url>. ..<break> ...<url/ > component to it (it will be something like "<url>rtmp: //cp37429. edgefcs. net/ondemand/ ?auth=< alphanumeric garbage> &aifp=v0001& slist=netstorag e<break> netstorage/ <the name of the flv file></url>").
5 - Quickly run (you only have maybe up to 30s before the URL expires)
flvstreamer -y <PLAYPATH> -r <URL> -o <FILE>
where <PLAYPATH> is the bit after <break> minus the ".flv" extension from the url component, <URL> is the bit before the <break> from the url component, and <FILE> is whatever you want to save the stream as.
6 - Once it completes downloading, you can run
mplayer <FILE>
to watch it (or do whatever you do to watch .flv files).
PS: For what it is worth, there are actually a whole bunch of different items you can search on (that is what they query lines do) and information you can return (that is what the other lines do) in step 3. See the getReleaseList function and friends in the javascript running the CBC video sight at http:// www.cbc. ca/video/ js/CBCVideoFunc tions.js for some more ideas.