/usr/share/perl5/FlashVideo/Site/Globaltv.pm is in get-flash-videos 1.25~git2012.06.27-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | #################################
# GlobalTV Canada
#
# first alpha plugin version
#
# Input URL should be
# http://www.globaltv.com/$show/video/full+episodes/$clip/video.html?v=$contentID
# where
# $show show name
# $clip section
# $contentID numeric ID
# Stavr00
#
# TODO: fetch all clips for a show
#
package FlashVideo::Site::Globaltv;
use strict;
use FlashVideo::Utils;
use strict 'refs';
sub find_video {
my ($self, $browser, $embed_url, $prefs) = @_;
my $pid;
if ( $browser->content =~ /pid:\s+"([^"]+?)"/ ) {
$pid = $1;
}
debug "PID = " . $pid;
die "PID not found." unless $pid;
$browser->get("http://release.theplatform.com/content.select?pid=$pid&mbr=true&Embedded=True&Portal=GlobalTV&Site=global_prg.com&TrackBrowser=True&Tracking=True&TrackLocation=True&format=SMIL");
my $xml = from_xml($browser->content);
#
# Traverse SMIL XML
#
my $maxres = $prefs->quality->quality_to_resolution($prefs->{quality});
my $sw;
my $vid;
my $title;
my $url;
my $rate = 0;
my $res;
debug "Enumerating all streams ...";
foreach $sw (@{ $xml->{body}->{switch} }) {
if ($sw->{ref}->{src} =~ /^rtmp\:\/\// ) {
$title = $sw->{ref}->{title};
debug "TITLE = " . $title; # short title, not very useful
}
if ( ref($sw->{video}) eq "ARRAY" ) {
foreach $vid (@{ $sw->{video} }) {
my $t = $vid->{src};
if ( $t =~ /^rtmp\:\/\// ) {
my $w = $vid->{width};
my $h = $vid->{height};
my $br = $vid->{'system-bitrate'};
debug ' '. $t ." ". $w . 'x' . $h ."/". $br;
# don't look at width # ( $w <= @$maxres[0] )
if ( ( $br > $rate ) && ( $h <= @$maxres[1] ) ) {
$rate = $br;
$url = $t;
$res = $w .'x'. $h .' '. int($br/1024) . 'kb/s';
}
}
}
}
}
info 'Stream selected: ' . $url . ' ' . $res;
# extract filename from URL
$url =~ /([^\/]+\.mp4$)/;
$title = $1;
# pass it over to rtmpdump
return {
rtmp => $url,
flv => title_to_filename($title)
};
}
1;
|