giavoni / get-flash-videos

Automatically exported from code.google.com/p/get-flash-videos
0 stars 0 forks source link

Hulu plugin: undefined ARRAY reference, line 160 (some videos) #300

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

get-flash-videos 
http://www.hulu.com/watch/268517/abc-world-news-with-diane-sawyer-mon-aug-15-201
1 --debug

What is the expected output? What do you see instead?

1 plugin installed:
- Hulu.pm
Downloading 
http://www.hulu.com/watch/268517/abc-world-news-with-diane-sawyer-mon-aug-15-201
1
-> GET 
http://www.hulu.com/watch/268517/abc-world-news-with-diane-sawyer-mon-aug-15-201
1
<- 200 text/html; charset=utf-8 (214738)
Trying to open plugin ~/.get_flash_videos/plugins/Www.pm
Trying to open plugin ~/.get_flash_videos/plugins/Hulu.pm
Using method 'hulu' for 
http://www.hulu.com/watch/268517/abc-world-news-with-diane-sawyer-mon-aug-15-201
1
Found Hulu CID: 40026324
Returning cached Hulu data
-> GET http://r.hulu.com/videos?content_id=40026324
<- 200 application/xml; charset=utf-8 (7670)
could not find ParserDetails.ini in /usr/lib/perl5/vendor_perl/5.10/XML/SAX
Found Hulu encrypted PID: NO_MORE_RELEASES_PLEASE_40026324
Decrypted Hulu PID: 'NO_MORE_RELEASES_PLEASE_40026324'
...
Hulu SMIL URL: 
http://s.hulu.com/select.ashx?video_id=50113171&v=850037518&ts=1294866343&np=1&v
p=1&pp=hulu&dp_id=hulu&bcs=eb2b1ae2b72b3efbc39fa7afc036c899
...

SMIL output: $VAR1 = [
          {
            'ref' => {
                     'src' => 'getPlaylist?nwid=55212&content=40026324&adType=&adsRatingOverride=&level=News%20and%20Information:SH012109720000&attr=[Daypart,Evening][ContentProvider,ABC%20News][Series,SH012109720000][Network,ABC%20News][ContentID,40026324][rating,Not%20Rated][AdModel,longform]',
                     'copyright' => '(c) hulu',
                     'title' => 'Lightningcast Ads - PreMidPost',
                     'no-skip' => 'true',
                     'tags' => 'pre,mid,post'
                   }
          },
          {
            'ref' => {
                     'tp:TMS_Series_ID' => 'SH012109720000',
                     'tp:seriesIdentifier' => 'world-news',
                     'tp:allowInternational' => 'false',
                     'tp:cpDvdPromoText' => '',
                     'tp:adRestrictionType' => '',
                     'copyright' => 'ABC News',
                     'tp:isMature' => '',
                     'tp:TMS_Program_ID' => '',
                     'tp:Daypart' => 'Evening',
                     'keywords' => 'stage, indiana, fair, collapse, weather, flood, snow, heat, collapse, perry, obama, campaign, warren, buffet, wealthy, rich, tax, politics, twin, shot, hockey, tan, addictive, acciction, abc, abcnews',
                     'tp:distributionPartnerNielsenId' => '1',
                     'tp:experimentId' => '1',
                     'tp:Series_Title' => 'ABC World News with Diane Sawyer',
                     'tp:siteChannelComScoreId' => '0110',
                     'tp:geocheckUrl' => '',
                     'tp:useStageVideo' => 'true',
                     'tp:Programming_Type' => 'Full Episode',
                     'tp:packageId' => '1',
                     'tp:disableMBRWorkaround' => 'true',
                     'tp:Episode_Number' => '163',
                     'tp:geoCheck' => 'allow',
                     'tp:Channel' => 'ABC News',
                     'tp:adTargetingId' => '',
                     'tp:Season_Number' => '2',
                     'tp:siteChannelPrimary' => 'News and Information',
                     'tp:endCreditsTime' => '00:00:00;00',
                     'tp:Promotional_Type' => 'non-promo',
                     'tp:thumbnailTime' => '00:00:00;00|58,4,599,right,16x9',
                     'tp:audioLevel' => '',
                     'abstract' => 'Stage Collapse: Mourners Return to State Fair; Rick Perry Takes on Obama',
                     'title' => 'Mon, Aug 15, 2011',
                     'tp:Ad_Model' => 'longform',
                     'tp:Frame_Rate' => '30',
                     'dur' => '1238040ms',
                     'tp:enableAdBlockerSlate' => 'true',
                     'tp:Aspect_Ratio' => '16x9',
                     'tp:BugImageURL' => '',
                     'tp:researchProgram' => '',
                     'tp:comScoreId' => '',
                     'tp:hasBug' => 'BR',
                     'tp:defaultBitrate' => '650_h264',
                     'tp:primarySiteChannelNielsenChannelId' => '71',
                     'tp:CP_Promotional_Link' => '',
                     'tp:CPIdentifier' => 'ABC News',
                     'tp:Primary_Category' => 'News and Information',
                     'tp:adType' => '',
                     'tp:fingerPrint' => 'csel3_prod_els15',
                     'tp:CP_Promotional_Text' => '',
                     'tp:Segments' => '00:13:20;21,00:15:50;19,00:18:00;08',
                     'tp:adTypePlus' => '',
                     'tp:Tunein_Information' => '',
                     'tp:distributionPartnerComScoreId' => '3000007',
                     'tp:secondarySiteChannelNielsenId' => '',
                     'tp:cdnPrefs' => '',
                     'tp:geoPrefs' => 'akamai,level3,limelight',
                     'tp:isEmbeddable' => 'True',
                     'tp:cpDvdPromoLink' => '',
                     'tp:siteChannels' => 'News and Information',
                     'tp:exclusivity' => 'classic'
                   }
          }
        ];

Error: Can't use an undefined value as an ARRAY reference at 
/loader/0x1577f58/FlashVideo/Site/Hulu.pm line 160.

...

What version of the product are you using? On what operating system?
get_flash_videos version 1.24 
Windows XP
Cygwin 2.738
Perl 5.10.1-5

Please provide any additional information below.
This is with the new hulu plugin.  Other Hulu videos download fine.  

Lines 158 - 160 read as follows:
debug "SMIL output: " . Dumper($data->{body}->{switch});
my @vids = @{ $data->{body}->{switch}[1]->{video} };

In fact, I can't find the 'video' key anywhere in $data (by tweaking the debug 
line).

Original issue reported on code.google.com by gd2s...@gmail.com on 16 Aug 2011 at 5:03

GoogleCodeExporter commented 9 years ago
The issue seems to be intermittent.  The video in question downloaded just fine 
today, without my changing anything.  Maybe a different server is involved?  
I'm not sure.  I'll post back if I get more info.

Original comment by gd2s...@gmail.com on 17 Aug 2011 at 1:20

GoogleCodeExporter commented 9 years ago
I don't know why, but when I try to download the video I get:
----
DEBUG: SendPlay, seekTime=0, stopTime=0, sending play: 
mp4:324/40026324/agave50183304_5833607_H264_1000.mp4
DEBUG: Invoking play
DEBUG: sending ctrl. type: 0x0003
rtmpdump: DEBUG: RTMP_ClientPacket, received: invoke 16419 bytes
rtmpdump: DEBUG: (object begin)
rtmpdump: DEBUG: (object end)
rtmpdump: DEBUG: HandleInvoke, server invoking <_onbwcheck>
rtmpdump: DEBUG: RTMPSockBuf_Fill, recv returned -1. GetSockError(): 11 
(Resource temporarily unavailable)
to read RTMP packet header
DEBUG: Closing connection.
DEBUG: Invoking deleteStream
Download failed, no valid file downloaded
Couldn't download any videos.
----

I've attached the full log.

Original comment by menachem...@gmail.com on 17 Aug 2011 at 7:45

Attachments:

GoogleCodeExporter commented 9 years ago
Strange.  I didn't even get that far (past your line 262).  You've got a 
'video' key which mine was critically missing.  It still may be the same issue, 
but it isn't behaving the same.

Nothing I did could fix the problem, but I haven't been able to recreate it 
since I posted the bug report.  Hopefully more clues will show up.

Original comment by gd2s...@gmail.com on 19 Aug 2011 at 7:31