Hulu Plugin Development Thread - Developers only!

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
Jopplehead Offline
Member
Posts: 53
Joined: Jan 2010
Reputation: 0
Post: #251
Deleted.
(This post was last modified: 2010-08-18 04:26 by Jopplehead.)
find quote
BlueCop Offline
bipedal omnivore
Posts: 1,657
Joined: May 2004
Reputation: 70
Post: #252
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.
find quote
keeganl Offline
Senior Member
Posts: 134
Joined: Jul 2008
Reputation: 0
Location: Lafayette,LA
Post: #253
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.
find quote
BlueCop Offline
bipedal omnivore
Posts: 1,657
Joined: May 2004
Reputation: 70
Post: #254
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.
find quote
BlueCop Offline
bipedal omnivore
Posts: 1,657
Joined: May 2004
Reputation: 70
Post: #255
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.
(This post was last modified: 2011-01-12 23:43 by BlueCop.)
find quote
thedamner Offline
Junior Member
Posts: 2
Joined: Jan 2011
Reputation: 0
Post: #256
I'm interested in helping anyway I can. I've noticed just about every tool using Hulu just recently broke.
find quote
BlueCop Offline
bipedal omnivore
Posts: 1,657
Joined: May 2004
Reputation: 70
Post: #257
thedamner: They use HMAC signatures to get the smil files now. They also switched up some parameters like using the content_id rather then pid.
find quote
thedamner Offline
Junior Member
Posts: 2
Joined: Jan 2011
Reputation: 0
Post: #258
Ahh...any idea when if your going to submit new code I'd love to take a look at it. I'm just starting to get a good grip on how it works.

Thanks.
find quote
BlueCop Offline
bipedal omnivore
Posts: 1,657
Joined: May 2004
Reputation: 70
Post: #259
already committed the updated code to my repo.
find quote
ChinaXBMCer Offline
Junior Member
Posts: 3
Joined: Jan 2011
Reputation: 0
Post: #260
Any chance you can incorporate an X-Forwarded-For http request header spoof like you did the Daily Show plugin for those of us outside the US?

http://forum.xbmc.org/archive/index.php/t-79148.html

Not sure how easily you could use Dimmuxx's fix for the Daily Show plugin, but it went like this:

Quote:Change the following:

req = urllib2.Request(url)
req.addheaders = [('Referer', 'http://www.thedailyshow.com/videos'), ('Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)')]

to

txdata = None
txheaders = {
'Referer': 'http://www.thedailyshow.com/videos/',
'X-Forwarded-For': '12.13.14.15',
'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US;rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)',
}
req = urllib2.Request(url, txdata, txheaders)

Right now with a few ports blocked and the Firefox Modify Headers addon, I can watch Hulu abroad through Firefox - would love it to work in XBMC as well.
find quote
Post Reply