SVN: toys/rsget.pl/Video/SouthParkStudios
sparky
sparky at pld-linux.org
Sun Jul 25 17:47:22 CEST 2010
Author: sparky
Date: Sun Jul 25 17:47:22 2010
New Revision: 11706
Modified:
toys/rsget.pl/Video/SouthParkStudios
Log:
- finished, use rtmp magic to get swf information
- WARNING: rtmp may render rsget.pl unresponsive, use at your own risk
Modified: toys/rsget.pl/Video/SouthParkStudios
==============================================================================
--- toys/rsget.pl/Video/SouthParkStudios (original)
+++ toys/rsget.pl/Video/SouthParkStudios Sun Jul 25 17:47:22 2010
@@ -8,38 +8,36 @@
name: SouthParkStudios
short: V:SouthParkStudios
web: "http://www.southparkstudios.com/"
-uri: qr{southparkstudios\.com/episodes/\d+}
-uri: qr{comedycentral\.com/global/feeds/entertainment/media/mediaGenEntertainment\.jhtml\?uri=mgid%3Acms%3Aitem%3Acomedycentral\.com%3A\d+&show=southpark}
-slots: max
-status: UNFINISHED 2010-07-23
+uri: qr{comedycentral\.com/global/feeds/entertainment/media/mediaGenEntertainment\.jhtml\?uri=mgid:cms:item:comedycentral.com:\d+&show=southpark}
+# limit slots bacause rtmp support is very bad
+slots: 3
+status: OK 2010-07-23
pre:
- require WWW::Curl::Easy;
-
- die "Your curl does not support CURLOPT_RTMP_SWF_*"
- unless WWW::Curl::Easy::CURLOPT_RTMP_SWF_HASH() != 0;
-
- my $curlopts = {
- WWW::Curl::Easy::CURLOPT_RTMP_SWF_HASH,
- pack ( "H*", "006d1932b84b25dccc63e582e5983bb5069332cc7dbbcf192d9fa058402e4cd4" ),
- WWW::Curl::Easy::CURLOPT_RTMP_SWF_SIZE,
- 530287,
- WWW::Curl::Easy::CURLOPT_RTMP_SWF_URL,
- "http://media.mtvnservices.com/player/release/",
- };
+ my $rtmpopts = " swfUrl=http://media.mtvnservices.com/player/release/?v=4.5.3 swfVfy=1";
start:
GET( $-{_uri} );
- m#<rendition cdn="limelight" .*? bitrate="1200">\s+<src>(rtmpe://.*?)</src>\s+</rendition>#s;
- my $file_uri = $1;
+ my $width = 0;
+ my $bitrate = 0;
+ my ( $size, $file_uri );
+ while ( s#<rendition .*? width="(\d+)" height="(\d+)" .*? bitrate="(\d+)">\s*<src>(rtmpe://.*?)</src>\s+</rendition>## ) {
+ if ( $1 > $width or ( $1 == $width and $3 > $bitrate ) ) {
+ $width = $1;
+ $bitrate = $3;
+ $size = "$1x$2 @ $3kbps";
+ $file_uri = $4;
+ }
+ }
+ ERROR( "file not found (this should never happen)" ) unless $file_uri;
my $fname = de_ml( $file_uri );
$fname =~ s#.*/##;
- INFO( name => $fname, quality => "720p" );
+ INFO( name => $fname, quality => $size );
undef $-{_referer}; # because URI cannot handle rtmp:
- DOWNLOAD( $file_uri, curlopts => $curlopts );
+ DOWNLOAD( $file_uri . $rtmpopts );
# vim: filetype=perl:ts=4:sw=4
More information about the pld-cvs-commit
mailing list