App-get_flash_videos
view release on metacpan or search on metacpan
get_flash_videos view on Meta::CPAN
if(my @plugins = get_installed_plugins()) {
debug @plugins . " plugin" . (@plugins != 1 && "s") . " installed:";
debug "- $_" for @plugins;
} else {
debug "No plugins installed";
}
}
if($^O =~ /MSWin/i) {
$opt{filename} = Encode::decode(get_win_codepage(), $opt{filename});
binmode STDERR, ":encoding(" . get_win_codepage() . ")";
binmode STDOUT, ":encoding(" . get_win_codepage() . ")";
} else {
$opt{filename} = Encode::decode("utf-8", $opt{filename});
binmode STDERR, ":utf8";
binmode STDOUT, ":utf8";
}
my (@urls) = @ARGV;
@urls > 0 or die USAGE;
# Search string can either be quoted or unquoted (for ultimate laziness)
my $search;
if ( ((@urls == 1) and $urls[0] !~ m'\.') or
( (@urls > 1) and ! grep /^http:\/\/|^[\w\-]+\.[\w\-]+/, @urls)) {
$search = join ' ', @urls;
lib/FlashVideo/Downloader.pm view on Meta::CPAN
}
}
my $video_fh;
if($file eq '-') {
$video_fh = \*STDOUT;
} else {
open $video_fh, $mode, $file or die $!;
}
binmode $video_fh;
$self->{fh} = $video_fh;
info "Downloading $url...";
if ($offset) {
$browser->add_header("Range", "bytes=$offset-");
}
my $response = $browser->get($url,
':content_cb' => sub {
my ($data, $response) = @_;
lib/FlashVideo/Downloader.pm view on Meta::CPAN
# Shell escape the given filename
$file =~ s/'/'\\''/g;
return "'$file'";
}
sub check_file {
my($self, $file) = @_;
open my $fh, "<", $file;
binmode $fh;
my $data;
read $fh, $data, 16;
return $self->check_magic($data);
}
sub check_magic {
my($self, $data) = @_;
# This is a very simple check to ensure we have a media file.
lib/FlashVideo/Utils.pm view on Meta::CPAN
# Ensure the end time for the last subtitle is correct.
$subtitles[$count - 1]->{end} = $last_proper_sub_end_time;
# Write subtitles
open my $subtitle_fh, '>', $filename
or die "Can't open subtitles file $filename: $!";
# Set filehandle to UTF-8 to avoid "wide character in print" warnings.
# Note this does *not* double-encode data as UTF-8 (verify with hexdump).
# As per the documentation for binmode: ":utf8 just marks the data as
# UTF-8 without further checking". This will cause mojibake if
# ISO-8859-1/Latin1 and UTF-8 and are mixed in the same file though.
binmode $subtitle_fh, ':utf8';
$count = 1;
foreach my $subtitle (@subtitles) {
print $subtitle_fh "$count\n$subtitle->{start} --> $subtitle->{end}\n" .
"$subtitle->{text}\n\n";
$count++;
}
close $subtitle_fh;
utils/uncompress-flash.pl view on Meta::CPAN
#!/usr/bin/perl
# http://board.flashkit.com/board/archive/index.php/t-283660.html
use strict;
use Compress::Zlib;
my $file = shift;
-f $file or die "Usage: $0 file > output\n";
open my $fh, "<", $file or die $!;
binmode $fh;
my $body;
read $fh, $body, -s $file;
die "Doesn't look like compressed flash to me..\n" unless 'C' eq substr $body, 0, 1;
substr($body, 0, 1) = "F";
print substr $body, 0, 8;
print uncompress(substr $body, 8);
( run in 0.314 second using v1.01-cache-2.11-cpan-3cd7ad12f66 )