[rtmpdump] iPlayer flash streams no longer working

Bill Boughton murble-rtmpdump at yuri.org.uk
Fri May 21 15:44:28 CEST 2010


> > Please read your debug output and think about what it means before posting to 
> > the list. Your playpath is clearly a concatenation of several different 
> > streams, each at different bitrates. A playpath should specify only a single 
> > stream. Fix your script to parse this out and choose one specific path.
> 
> Yeah, I spotted that and wondered. But of course I _do_ have to specify
> an identical SwfUrl twice on the command line, so I wasn't _sure_ that
> the duplication was necessarily wrong.
> 
> I did try reducing the playpath to look more sensible, but without
> success; I'll try again. Thanks for confirming that I'm probably looking
> in the right place.

I fixed this yesterday http://www.yuri.org.uk/~murble/get_iplayer.txt
the diff is very trival:

THey simply moved the auth string to the app path atleast with the limelight
CDN, the Akamai stuff is still broken.

--- get_iplayer.txt     2010-05-21 13:24:37.000000000 +0200
+++ get_iplayer-orig.txt        2010-05-11 20:00:34.000000000 +0200
@@ -5865,12 +5865,12 @@
                # Limelight CDN
                } elsif ( $cattribs->{kind} eq 'limelight' ) {
                        decode_entities( $cattribs->{authString} );
-                       $conn->{playpath} = $cattribs->{identifier};
+                       $conn->{playpath} = "$cattribs->{identifier}?$cattribs->{authString}";
                        # Remove offending mp3/mp4: at the start of the identifier (don't remove in stream url)
                        ### Not entirely sure if this is even required for video modes either??? - not reqd for aac and low
                        # $conn->{playpath} =~ s/^mp[34]://g;
                        $conn->{streamurl} = "rtmp://$cattribs->{server}:1935/ondemand?_fcs_vhost=$cattribs->{server}&auth=$cattribs->{authString}&aifp=v001&slist=$cattribs->{identifier}";
-                       $conn->{application} = "$cattribs->{application}?$cattribs->{authString}";
+                       $conn->{application} = $cattribs->{application};
                        $conn->{tcurl} = "rtmp://$cattribs->{server}:1935/$conn->{application}";



cheers

bill
-- 
Bill Boughton           <bill at boughton.de>


More information about the rtmpdump mailing list