/usr/share/perl5/FlashVideo/Site/Stickam.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 | # Part of get-flash-videos. See get_flash_videos for copyright.
package FlashVideo::Site::Stickam;
use strict;
use FlashVideo::Utils;
sub find_video {
my($self, $browser, $embed_url, $prefs) = @_;
my $perfomer_id;
if ($browser->content =~ /profileUserId=(\d+)/) {
$perfomer_id = $1;
}
else {
die "Can't get performer ID";
}
my $filename;
if ($browser->content =~ /userName=([^&]+)/) {
$filename = $1;
}
else {
$filename = $perfomer_id;
}
my $stream_info_url = sprintf
"http://player.stickam.com/servlet/flash/getChannel?" .
"type=join&performerID=%d", $perfomer_id;
$browser->get($stream_info_url);
if (!$browser->success) {
die "Couldn't get stream info: " . $browser->response->status_line;
}
my %stream_info;
foreach my $pair (split /&/, $browser->content) {
my ($name, $value) = split /=/, $pair;
# Special handling for server IP, as multiple can be specified.
if ($name eq 'freeServerIP') {
$value = (split /,/, $value)[0];
}
$stream_info{$name} = $value;
}
if ($stream_info{errorCode}) {
die "Stickam returned error $stream_info{errorCode}: $stream_info{errorMessage}";
}
my $rtmp_stream_url = sprintf
"rtmp://%s/video_chat2_stickam_peep/%d/public/mainHostFeed",
$stream_info{freeServerIP},
$stream_info{channelID};
return {
rtmp => $rtmp_stream_url,
flv => title_to_filename($filename),
live => '',
conn => [
'O:1',
"NS:channel:$perfomer_id",
'O:1',
],
swfhash($browser,
"http://player.stickam.com/flash/stickam/stickam_simple_video_player.swf")
};
}
1;
|