• 1
  • 12
  • 13
  • 14(current)
  • 15
  • 16
  • 20
[Request] TVNZ OnDemand
Hi mate any further updates/progress?
Reply
Just wanted to say I LOVE this plugin. Even though it's not all working right now, just the fact that TV3 works is awesome. Cheers for all the hard work, and I hope you're able to get TVNZ up and running soon!
Reply
Just incase anyone wants it, I designed a background for TV3. I tried to recreate the look of the ondemand website.

https://picasaweb.google.com/lh/photo/QN...directlink
Reply
Have just found this post. Good to know it is not my system that is causing TVNZ OnDemand from not working. Looking forward to a fix.
Reply
gatekepa, I'd probably use your background - except I can't for the life of me work out how to download the full resolution image from Picasa!
Author of the NZ OnDemand and ZoneMinder addons, and caretaker of the pyamf script. Contributor to fanart.tv, TheMovieDB and TheTVDB.
Reply
I've just released a version of the NZ OnDemand plugin for Eden (sorry everyone for the extreme delay!). I had to disable TVNZ, as I couldn't get the BrightCove streams working, but...

This morning I found a great little add-on for Firefox called Flash Firebug. This add-on allows me to view the AMF requests and responses between Firefox and both TVNZ's full OnDemand site and the PS3 site. Given that I can now see how my AMF requests need to be formatted to be sent to the BrightCove server, I predict that it shouldn't be too long before I can release a new version of the plugin with TVNZ re-enabled.
Author of the NZ OnDemand and ZoneMinder addons, and caretaker of the pyamf script. Contributor to fanart.tv, TheMovieDB and TheTVDB.
Reply
I'm now very close to getting TVNZ working again. I can now extract the RTMP stream URL, but I've hit a snag with SWF Verification. This part is where RTMPDump pretends to be the flash player by a) downloading the player, b) calculating its size and hash, and c) sending the results back to the RTMP server as verification.

Unfortunately, TVNZ seem to be using Type 2 verification, which isn't supported by RTMPDump. I spotted this issue months ago, but hoped that it would be fixed in short order. As things are, here's the error I'm currently receiving:

Code:
HandleCtrl: SWFVerification Type 2 request not supported! Patches welcome...

Now, there's a version of librtmp that may fix this issue:

http://supercloudtv.com/librtmp.html

Once I replace my Windows DLL with this new version, I get:

Code:
HandleCtrl: SWFVerification Type 2 request not supported, attempting to use SWFVerification Type 1! Patches welcome...

From what I've read, this is stating that although librtmp has received a type 2 verification request, it's going to just ignore it and try a type 1 verification instead. This is because certain providers allow fallback to the old verification method. I don't know whether this'll work for TVNZ, and haven't got it working yet.

This is all complicated by the fact that I'm concurrently trying to figure out the correct URL for the player to use for verification. URLs I'm trying are:

http://admin.brightcove.com/viewer/us201...Player.swf
http://c.brightcove.com/services/viewer/federated_f9
http://tvnz.co.nz/stylesheets/ps3/entert...3Flash.swf

I'll keep looking into the Type 2 verification, and see what (if anything) other people have done with their plugins. There's also an as-yet unexplored part of the full site AMF response that's called IOSRenditions. This may have non-RTMP streams in it, and I'm guessing that it's for iPads (I'll have to have a play on the TVNZ OnDemand site on my iPad later, to see if it works or if it's an unreleased feature). the only issue here is that I don't have the AMF request for the full site working yet in my plugin (just the PS3 site so far).
Author of the NZ OnDemand and ZoneMinder addons, and caretaker of the pyamf script. Contributor to fanart.tv, TheMovieDB and TheTVDB.
Reply
Here's an IOS rendition:

https://secure.brightcove.com/services/m...b0df95014a

The file linked to is an Apple m3u8 container, which contains lots of links to small .ts files (as IOS devices like to play streaming media in small chunks):

Code:
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-KEY:METHOD=AES-128,URI="https://secure.brightcove.com/services/mobile/streaming/index/keyfile?assetId=1846236240001&segmentIndex=1&expiration=1348556340000&token=4921d32c8a2eed45d923259b905433d55aa0be05"
#EXTINF:11,
http://tvnz-pd.brightcove.com.edgesuite.net/963482467001/2012/09/1846236240001/963482467001_1846236240001_5a2359c3e4f549ffb4853332ad126e8c.ts?
#EXTINF:10,
http://tvnz-pd.brightcove.com.edgesuite.net/963482467001/2012/09/1846236240001/963482467001_1846236240001_a6e79061865745749fb21d9ed73043c8.ts?
#EXTINF:10,
http://tvnz-pd.brightcove.com.edgesuite.net/963482467001/2012/09/1846236240001/963482467001_1846236240001_cf471a63097a46429207988cb6aa0fed.ts?
#EXTINF:10,
http://tvnz-pd.brightcove.com.edgesuite.net/963482467001/2012/09/1846236240001/963482467001_1846236240001_75453f4a356a46ac971b930ea73aa9b0.ts?
#EXTINF:10,
http://tvnz-pd.brightcove.com.edgesuite.net/963482467001/2012/09/1846236240001/963482467001_1846236240001_c8f50890450a44f78b52245ed7be344c.ts?
#EXTINF:10,
...

Unfortunately, there currently seem to be issues in XBMC with m3u8 files in general (something to do with FFMPEG support), and additional problems with HTTPS served m3u8 files (and both the m3u8 file and keyfile index links within the m3u8 are HTTPS). I also don't seem to be able to get individual streaming or downloaded .ts files to play directly in XBMC.

I'm starting to get the feeling that TVNZ don't want my plugin to play their streams, but hopefully soon either RTMP SFWVerification Type 2 support or m3u8 support will be fully implemented (in RTMPDump and FFMPEG respectively) and added to XBMC. Either that, or I'll work out some way of downloading the m3u8 file and converting the links inside it into a usable form for XBMC.
Author of the NZ OnDemand and ZoneMinder addons, and caretaker of the pyamf script. Contributor to fanart.tv, TheMovieDB and TheTVDB.
Reply
Thanks Mark for all your effort in continuing to keep this maintained.

Bad news about TVNZ, guess they are going to keep on top off the latest systems that are impossible to bypass.
Interesting about what you discovered with IOS references, technically no reason why they don't offer this so hopefully something is coming soon. Then it may be possible to use an IOS device to AirPlay shows to XBMC which would at least be an alternative and easier than falling back to a browser to watch stuff.

ChoiceTV have started an on demand service. Not a lot of stuff on there at moment but maybe they will add more over time. This works via HTML5 (I think) on iPad so I can AirPlay to tv quite easy but maybe this can be added to the plugin if it's easy enough and you have time / motivation.

http://www.choicetv.co.nz/on-demand

Cheers

Dave

Reply
Thanks for pointing out the Choice TV On Demand service, Dave - it looks like it'll be pretty easy to do, so I'll try to add it tonight.
Author of the NZ OnDemand and ZoneMinder addons, and caretaker of the pyamf script. Contributor to fanart.tv, TheMovieDB and TheTVDB.
Reply
(2012-09-25, 08:07)markhoney Wrote: I'm starting to get the feeling that TVNZ don't want my plugin to play their streams, but hopefully soon either RTMP SFWVerification Type 2 support or m3u8 support will be fully implemented (in RTMPDump and FFMPEG respectively) and added to XBMC.

As an RtmpDump developer, I can say that to my knowledge no one is even working on the SwfVerification Type 2. Howard had been working on OpenLdap for some time, and KSV has taken a break from RtmpDump development in light of the fallout over Handshake 10 and has been focusing on AdobeHDS.

On related note mark, can you give more info about FlashFirebug? Can you get RTMP parameters through this? If so how?
Reply
svnpenn, thanks for the info about RTMPDump - a pity that the project has stalled.

My hope now rests on someone working on HTTPS m3u8 streams for FFMPEG or elsewhere in XBMC. From what I can see, it looks like the EXT-X-KEY line of the m3u8 contains a URL which links to a time limited decryption key, and that the set of .ts URLs following this key are all encrypted and require the key to decrypt them. This is why I can't play the .ts streams in XBMC/VLC/etc when I download them - I'm not decrypting them at all, so they look like garbage to media players.

I used Flash Firebug to have a peek at the AMF request and response between the browser and BrightCove's server, as I needed to format the AMF requests from my plugin properly to get a useful response back from the server that contained the RTMP URLs for the stream. Once I could see the correct format for the request in Flash Firebug, I checked the source HTML for the variables I needed to make a proper AMF request. For the videos that my plugin plays, it turned out that the only dynamic variable I needed was for the video ID - all the other variables are fixed for the publisher (publisherID, experienceID, etc). I then used the pyAMF package for XBMC to generate the required AMF request and process the response. The response contains a set of RTMP URLs for different stream qualities (or would do if the verification worked!), which my plugin would then use to play the stream.
Author of the NZ OnDemand and ZoneMinder addons, and caretaker of the pyamf script. Contributor to fanart.tv, TheMovieDB and TheTVDB.
Reply
digidave, I've just added ChoiceTV and submitted the new version via the mailing list. I guess it should be in the Official Repository within the next 24 hours or so, although I've found that it normally only takes a couple of hours for the guys who look after the plugins to get them uploaded and mirrored.

I've tested it, but let me know if you find any issues.
Author of the NZ OnDemand and ZoneMinder addons, and caretaker of the pyamf script. Contributor to fanart.tv, TheMovieDB and TheTVDB.
Reply
(2012-10-04, 10:46)markhoney Wrote: I used Flash Firebug to have a peek at the AMF request and response between the browser and BrightCove's server

Let me more clearly ask.

Can you use Flash Firebug as a substitute for say, RtmpSrv or RtmpDumpHelper, in order to retrieve RtmpDump parameters? For example, run a video, look at RTMP parameters found in Flash Firebug AMF, then use those parameters in RtmpDump command?
Reply
Yes, you can use Flash Firebug to find out RTMP URLs - at least in the case of BrightCove's streaming media servers. However, this isn't a method of sniffing RTMP URLs in network traffic like RtmpDumpHelper or URLSnooper do. This method is more akin to scraping HTML pages to find out an RTMP URL.

AMF is a format for sending messages between the client (Flash) and the server - think of it as similar to json or xml, but it's proprietary (although it's now been opened up by Adobe) and binary. Brightcove use this method of messaging in their Flash media player to request RTMP URLs and other stream details from their servers. Once you have sent a correctly formatted AMF request for information about a streaming video to the server, it returns an AMF response that contains details such as a list of countries the media can be played in (geo locking), a description of the video and a list of RTMP URLs for different stream bitrates. For more info, have a squiz at the Wikipedia page:

http://en.wikipedia.org/wiki/Action_Message_Format

So, in summary, for streaming services that use AMF messaging to supply the RTMP URLs from the server to the client, Flash Firebug can help you to view the AMF response from the server and grab the RTMP URLs manually. I, however, used Flash Firebug to work out how to format my AMF requests to the server, and now my plugin can send requests and receive a response from which I can extract useful RTMP URLs - using the pyAMF plugin to talk with the server.
Author of the NZ OnDemand and ZoneMinder addons, and caretaker of the pyamf script. Contributor to fanart.tv, TheMovieDB and TheTVDB.
Reply
  • 1
  • 12
  • 13
  • 14(current)
  • 15
  • 16
  • 20

Logout Mark Read Team Forum Stats Members Help
[Request] TVNZ OnDemand2