App-get_flash_videos
view release on metacpan or search on metacpan
get_flash_videos view on Meta::CPAN
}
exit 0;
sub download {
my($url, $prefs, $remaining) = @_;
$url = "http://$url" if $url !~ m!^\w+:!;
# Might be downloading from a site that uses Brightcove or other similar
# Flash RTMP streaming server. These are handled differently. Need to get
# the page to determine this.
info "Downloading $url";
my $browser = FlashVideo::Mechanize->new;
$browser->get($url);
# (Redirect check is for Youtube which sometimes redirects to login page
# for "mature" videos.)
if (!$browser->success and !$browser->response->is_redirect) {
error "Couldn't download '$url': " . $browser->response->status_line;
}
lib/FlashVideo/RTMPDownloader.pm view on Meta::CPAN
if(my $socks = FlashVideo::Mechanize->new->get_socks_proxy) {
$rtmp_data->{socks} = $socks;
}
my($r_fh, $w_fh); # So Perl doesn't close them behind our back..
if ($rtmp_data->{live} && $self->action eq 'play') {
# Playing live stream, we pipe this straight to the player, rather than
# saving on disk.
# XXX: The use of /dev/fd could go away now rtmpdump supports streaming to
# STDOUT.
pipe($r_fh, $w_fh);
my $pid = fork;
die "Fork failed" unless defined $pid;
if(!$pid) {
fcntl $r_fh, Fcntl::F_SETFD(), ~Fcntl::FD_CLOEXEC();
exec $self->replace_filename($self->player, "/dev/fd/" . fileno $r_fh);
die "Exec failed\n";
lib/FlashVideo/Site/Brightcove.pm view on Meta::CPAN
rtmp => "rtmp://$host/$app",
playpath => $file,
flv => "$filename.flv",
};
# Use sane filename
if ($d->{publisherName} and $d->{displayName}) {
$args->{flv} = title_to_filename("$d->{publisherName} - $d->{displayName}");
}
# In some cases, Brightcove doesn't use RTMP streaming - the file is
# downloaded via HTTP.
if (!$d->{FLVFullLengthStreamed}) {
info "Brightcove HTTP download detected";
return ($d->{FLVFullLengthURL}, $args->{flv});
}
push @rtmpdump_commands, $args;
}
if (@rtmpdump_commands > 1) {
lib/FlashVideo/Site/Tva.pm view on Meta::CPAN
# Part of get-flash-videos. See get_flash_videos for copyright.
=for comment
Uses TVA/Canoe-Specific way to get the brightcove metadata,
then forwards to the brightcove module.
TVA/Canoe live streaming
expects URL of the form
http://tva.canoe.ca/dws/?emission=xxxxxxx
=cut
package FlashVideo::Site::Tva;
use strict;
use FlashVideo::Utils;
use base 'FlashVideo::Site::Brightcove';
sub find_video {
( run in 0.237 second using v1.01-cache-2.11-cpan-4d50c553e7e )