Hulu Plugin Development Thread - Developers only! - Printable Version
+- XBMC Community Forum (http://forum.xbmc.org)
+-- Forum: Development (/forumdisplay.php?fid=32)
+--- Forum: Python Add-on Development (/forumdisplay.php?fid=26)
+--- Thread: Hulu Plugin Development Thread - Developers only! (/showthread.php?tid=45888)
- maruchan - 2010-08-09 15:15
What does the URL of a Plus stream look like? Is it possible to guess/create the URL based on information we already have? I ask because, if you look at a series XML listing, there are a couple of nodes that let you know if Plus content is available:
So, even if HuluDesktop hasn't been updated to include Plus content, is it possible, using the PID, EID, or ID, to put together the Plus URL? Obviously you'd still need the proper cookie as well.
- BlueCop - 2010-08-09 15:50
hulu plus has 3 content tiers. Different content available in each tier. Mobile is of course iphone, android etc. TV is PS3 streaming(and i assume 360, wii ect if it comes). Then there is web where everything is available.
those 'has plus' tags just signify which tiers the content is available in.
which url do you mean? pretty much everything is exactly the same except you need to the right cookies to get the hulu plus smil.
I thought you needed the hulu sessionid in the rtmp url but that isn't actually required even though the real hulu client uses it.
I haven't looked closely has the huludesktop feeds yet. I will do that now.
I have an iphone running the hulu plus app that I am setting it up through a proxy today to take a look at what listings it grabs.
found several feeds for hulu plus used by the iphone. They are just different feed numbers.
- thebitjockey - 2010-08-09 20:16
BlueCop Wrote:I am using google code.
Hope you don't mind, I added this to the Unofficial Repositories Wiki Page.
- sethjvm - 2010-08-10 05:46
I appreciate your work on this BlueCop. I don't know how you stay motivated to do this when it seems like every time you figure out what Hulu is doing, they change what they do and you need to fix it.
- vinaykagarwal - 2010-08-11 14:45
highlandsun Wrote:Unfortunately the rtmpdump command line doesn't accept the same syntax that librtmp uses. You have to use --swfvfy etc., not swfurl= ...
I read the man page carefully and came up with this command
But I still get this error
- BlueCop - 2010-08-11 15:09
I got full listings for plus content working using the huludesktop feed numbers. I needed to add some new parameters to get complete listings.
I have been mapping out various xml feeds with a couple scripts. I am trying to figure out what they all are. active ranges for the curious (1-4,133-150,6586-10407)
These feeds can be extremely useful for listing content in various ways. I will try to post my feed findings when complete.
sethjvm: don't thank me. thank highlandsun and rwparris2. I just like to tinker. they have done all the heavy lifting for us.
vinaykagarwal: doesn't the get flash videos script already do much of what you are attempting? why not just compare the output from it to what you are getting with your code. also the rtmp urls are time sensitive and will expire after a period of time. so don't store results and try to reuse them.
- highlandsun - 2010-08-13 01:51
BlueCop Wrote:Thanks maruchan!
No objection from me. I've got no further interest in hulu now, anything I used to watch there is available sooner on other sites.
- thebitjockey - 2010-08-13 18:37
highlandsun Wrote:anything I used to watch there is available sooner on other sites.
Oh come on, you can't say that without shareing
- highlandsun - 2010-08-14 00:56
sidereel.com is a pretty good tv episode search site. Most of the videos they list are from megavideo.com. megavideo.com is certainly familiar for most folks already, I think.
- vinaykagarwal - 2010-08-14 13:22
highlandsun Wrote:sidereel.com is a pretty good tv episode search site. Most of the videos they list are from megavideo.com. megavideo.com is certainly familiar for most folks already, I think.
Is there a plugin that downloads from megavideo?
- Jopplehead - 2010-08-17 06:27
- BlueCop - 2010-08-28 09:00
I just commit an updated hulu plugin to my repo. It lists all hulu plus content right now. I am working in filtering this out for non plus members. I removed all the old rss feeds and listings. I tried to simplify by using other available feeds. Subtitles don't work right because I am not sure how to assign a list item a subtitle file when returning with setresolveurl. I added Auto quality for 720p streams. Non plus member should be able to play the non plus content listed.
I am working of full subscriptions and queue support integrated in the plugin. Since I removed rss stuff the old subscriptions and queue are missing here. I am adding them back using a different method and will have full access and not the the first 20 items. Sorry for moving slow on this.
Highlandsun: they seem to be adding 1000kbit streams again for a few weeks some shows seemed to only have 650kbit but their new episodes don't seem to suffer from this.
- keeganl - 2010-09-22 16:32
I have to start of by saying WOW. Thank you guys for putting in the time to have this work and work quite well. The video is incredible and doesn't suffer from the stutter issues in Linux that Hulu Desktop and Boxee do, so thank you again. I have a question about control options. As I am unfamiliar with skinning, I'm not sure if this is a plugin control or if it's a skinning control, but when watching a video from Hulu, if you press chapter skip forward or backward, the video locks up. The fast forward and rewind seem to work just fine, but I guess since there are no chapters in these videos, it confuses the video player. My question is this, is there a way to block the chapter forward and chapter back command when watching videos from this plugin?
Another possible suggestion is, Some of the shows are pulled from Hulu as only the episode name. Is it possible to cross-reference the show Title and the episode name in the TVDB and pull all the extra information for that episode? That would be incredible.
Don't let my comments fool you, I greatly appreciate the work being put in to this project and will enjoy it as long as I can.
- BlueCop - 2010-09-22 16:40
keeganl: This is more a development thread and not a support thread. if you wouldn't mind posting to my repo thread because it is easier to manage.
This thread was more used for development talk but I have taken over development myself.
Any problem reports need xbmc version and logs from when the problem is happening is possible. I can't comment on the problem you are experiencing with skip because I don't have that problem.
I need specific examples of what episodes you are talking about. It is most likely a bug in my naming system because most everything has full meta data from the feeds. So please refer to specific examples and not generalities.
- BlueCop - 2011-01-12 20:39
So hulu has rolled out a new system. (I just noticed a new hulu job posting yesterday for a senior security administrator by the way)
I have been working on updates for the new security on the grabbing smil files. They are now signing requests with code in sec_as3.swf
I have it mostly figured out but I can't get a look at the signing code in sec_as3.swf
video_id = content id of video
v = sec_as3.swf version
ts = ? (seems to be a constant)
np = ? (seems to always be 1)
vp = ? (seems to always be 1)
device_id = computerGUID
pp = distroPlatform
dp_id = partner
bcs= signature generated by generateSignatureToCSEL in sec_as3.swf. It uses a sorted list of parameters to generate this signature.
So I have tried to steward the plug-in and keep it functional but I am at a wall here.
My only option I know to move forward right now is to attempt to guess the signing method because if I decompress the sec_as3.swf with flasm then I can see some keys in the clear in a hex editor. I also can get many function names so know the standards used. I am pretty sure they use http://code.google.com/p/as3crypto/ for their crypto so that limits the possible algorithms. attempting to load any of the action script from sec_as3.swf crashes everything I have tried so far. I tried various trials for commercial flash decompilers too.
any input or help is greatly appreciated.
Update: just did some testing and the smil encryption is still the same. So really the only thing missing is the generateSignatureToCSEL way to make signatures. (which I think means generate signature to content selection)
Update 2: Success!! after some guidance I was able to replicate the signing. I just have to implement the changes in hulu addon now and we should be set.