NAME
WWW::YouTube::Download - Very simple YouTube video download interface
SYNOPSIS
use WWW::YouTube::Download;
my $client = WWW::YouTube::Download->new;
$client->download($video_id);
my $video_url = $client->get_video_url($video_id);
my $title = $client->get_title($video_id); # maybe encoded utf8 string.
my $fmt = $client->get_fmt($video_id); # maybe highest quality.
my $suffix = $client->get_suffix($video_id); # maybe highest quality file suffix
DESCRIPTION
WWW::YouTube::Download is a download video from YouTube.
METHODS
-
new()
$client = WWW::YouTube::Download->new;Creates a WWW::YouTube::Download instance.
-
download($video_id [, \%args])
$client->download($video_id); $client->download($video_id, { fmt => 37, filename => 'sample.mp4', # save file name }); $client->download($video_id, { filename => '{title}.{suffix}', # maybe `video_title.mp4` }); $client->download($video_id, { cb => \&callback, });Download the video file. The first parameter is passed to YouTube video url.
Allowed arguments:
-
cbSet a callback subroutine, SEE LWP::UserAgent ':content_cb' for details.
-
filenameSet the filename, possibly using placeholders to be filled with information gathered about the video.
filenamesupported format placeholders:{video_id} {title} {user} {fmt} {suffix} {resolution}Output filename is set to
{video_id}.{suffix}by default. -
file_nameDEPRECATED alternative for
filename. -
fmtset the format to download. Defaults to the best video quality (inferred by the available resolutions).
-
-
playback_url($video_id, [, \%args])
$client->playback_url($video_id); $client->playback_url($video_id, { fmt => 37 });Return playback URL of the video. This is direct link to the movie file. Function supports only "fmt" option.
-
prepare_download($video_id)
Gather data about the video. A hash reference is returned, with the following keys:
-
fmtthe default, suggested format. It is inferred by selecting the alternative with the highest resolution.
-
fmt_listthe list of available formats, as an array reference.
-
suffixthe filename extension associated to the default format (see
fmtabove). -
titlethe title of the video
-
userthe YouTube user owning the video
-
video_idthe video identifier
-
video_urlthe URL of the video associated to the default format (see
fmtabove). -
video_url_mapan hash reference containing details about all available formats.
The
video_url_maphas one key/value pair for each available format, where the key is the format identifier (can be used asfmtparameter for "download", for example) and the value is a hash reference with the following data:-
fmtthe format specifier, that can be passed to "download"
-
resolutionthe resolution as width_x_height
-
suffixthe suffix, providing a hint about the video format (e.g. webm, flv, ...)
-
urlthe URL where the video can be found
-
-
ua([$ua])
$self->ua->agent(); $self->ua($LWP_LIKE_OBJECT);Sets and gets LWP::UserAgent object.
-
get_video_url($video_id)
-
get_title($video_id)
-
get_user($video_id)
-
get_fmt($video_id)
-
get_fmt_list($video_id)
-
get_suffix($video_id)
AUTHOR
xaicron <xaicron {@} cpan.org>
CONTRIBUTORS
yusukebe
SEE ALSO
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.