I present a WebResource extractor plugin for SBS on Demand (Australia only) http://www.sbs.com.au/ondemand/
* According to http://whirlpool.net.au/wiki/sbs_downloader the following feeds should be valid for this plug in.
* Events have lots of cycling bits. Clips are short bits of news stories and other short "clips".
* Programs are full episodes.
* URL desc tested
* http://feed.theplatform.com/f/dYtmxB/featured-programs-prod/?form=json contains featured programs Y about 19 items
* http://feed.theplatform.com/f/dYtmxB/section-programs/?form=json contains all programs videos Y maxes out at 100 items - but see note below
* http://feed.theplatform.com/f/dYtmxB/section-clips/?form=json contains all clips Y
* http://feed.theplatform.com/f/dYtmxB/section-events/?form=json contains all events videos Y
* http://feed.theplatform.com/f/dYtmxB/videos-lastchance/?form=json contains last chance videos Feed Not working - BadParameterException
* http://feed.theplatform.com/f/dYtmxB/featured-clips/?form=json contains featured clips Y
* http://feed.theplatform.com/f/dYtmxB/e16qKzBBHt4R/?form=json Full Eps and Clips combined Y maxes out at 100 items - but see note below
* http://feed.theplatform.com/f/dYtmxB/CxeOeDELXKEv/?form=json All videos on the site Feed not working - AuthorizationException
* These URLs should be added as a Web Resource under the Library > Online Sources Tab in the Serviio console
* You can encode a range of clips you want to retrieve in the URLs by adding "&range=1-9" to the end of the URL
* eg http://feed.theplatform.com/f/dYtmxB/fe ... &range=1-9
* Will return the first 9 programs in the featured-progams feed
* You can also limit the number items retrieved from the serviio console too - "Max number of feed items to retreive" setting
* The URLs without a range option appear to max out at 100 items. But you can get the next 100 items by adding a &range101-200
* to the end of them. There do not appear to be more than 200 items in a feed. eg &range190-210 only returns 10 videos
* SBS seems to offer 4 video qualities. Which makes us have to make a decision about what is medium quality when
* the user specifies medium quality.
* If the user says high quality this plugin serves up the highest quality available.
* If the user says medium quality this plugin serves up the first video with a resolution higher than the value specified in the
* MEDIUM_QUAL_IS_FIRST_RESOLUTION_ABOVE variable below. (Currently this is set to 1000K )
* If the user says low quality this plugin serves up the lowest resolution available if the LOW_QUAL_IS_THIS_INDEX variable below is set = 0
* Or if the user says low quality and the LOW_QUAL_IS_THIS_INDEX variable below is set = 1 then the plugin serves up the second lowest resolution
* It seems when running this with PreferredQuality.LOW [and LOW_QUAL_IS_THIS_INDEX =0 setting ] (on Xbox at least) that the device tries
* repeatedly to load the file and then only plays the audio.
* Might be something to do with how Xbox treats very low bit rate sources? Or how Serviio transcodes low
* bitrate sources.
Soon after the initial release of this plugin ( Sep 24, 2012) SBS changed to using Flash Media Manifest File Format (AKA .f4f format/ AKA Dynamic HTML Streaming) and the plugin stopped working.
As discussed on this thread Flash Media Manifest File Format is currently not supported by Serviio. So I figured this plugin would stay broken.
But then 6 Oct 2012 SBS changed something again and I noticed files available again without having to use the Manifest File Format. And so again I was able to get this plugin working.
7 Oct 2012 - version 0.1.5 uploaded. This is a bug fix version that fixes problems to do with preferred quality. Symptoms of the bug were many videos fail to play because a requested quality could not be found. Now if requested quality is medium and it can not find a video with quality above the MEDIUM_QUAL_IS_FIRST_RESOLUTION_ABOVE setting - it returns the highest quality available.