-
-
19 Nov 2020 23:04:09 UTC
- Distribution: WWW-YouTube-Download
- Module version: 0.65
- Source (raw)
- Browse (raw)
- Changes
- Homepage
- How to Contribute
- Repository
- Issues (8)
- Testers (224 / 0 / 0)
- Kwalitee
Bus factor: 1- 23.80% Coverage
- License: perl_5
- Perl: v5.8.1
- Activity
24 month- Tools
- Download (63.07KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
and 22 contributors-
xaicron
-
Ahmad Syaltut
-
akiym
-
Alexandr Ciornii
-
B. Estrade
-
Dan Book
-
David Mortiboy
-
Flavio Poletti
-
gregor herrmann
-
isync
-
ks
-
Maurice
-
Mikolaj Kucharski
-
Mohammad S Anwar
-
Neil Bowers
-
Olaf Alders
-
Paulo Custodio
-
Roy Storey
-
TANIGUCHI Takaki
-
Thomas Sibley
-
Yuji Shimada
-
Yusuke Wada
- NAME
- VERSION
- SYNOPSIS
- DESCRIPTION
- METHODS
- CONTRIBUTORS
- BUG REPORTING
- SEE ALSO
- AUTHOR
- COPYRIGHT AND LICENSE
NAME
WWW::YouTube::Download - WWW::YouTube::Download - Very simple YouTube video download interface
VERSION
version 0.65
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 library to download videos from YouTube. It relies entirely on scraping a video's webpage and does not use YT's /get_video_info URL space.
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:
cb
-
Set a callback subroutine, SEE LWP::UserAgent ':content_cb' for details.
filename
-
Set the filename, possibly using placeholders to be filled with information gathered about the video.
filename
supported format placeholders:{video_id} {title} {user} {fmt} {suffix} {resolution}
Output filename is set to
{video_id}.{suffix}
by default. file_name
-
DEPRECATED alternative for
filename
. fmt
-
set 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:
fmt
-
the default, suggested format. It is inferred by selecting the alternative with the highest resolution.
fmt_list
-
the list of available formats, as an array reference.
suffix
-
the filename extension associated to the default format (see
fmt
above). title
-
the title of the video
user
-
the YouTube user owning the video
video_id
-
the video identifier
video_url
-
the URL of the video associated to the default format (see
fmt
above). video_url_map
-
an hash reference containing details about all available formats.
The
video_url_map
has one key/value pair for each available format, where the key is the format identifier (can be used asfmt
parameter for "download", for example) and the value is a hash reference with the following data:fmt
-
the format specifier, that can be passed to "download"
resolution
-
the resolution as widthxheight
suffix
-
the suffix, providing a hint about the video format (e.g. webm, flv, ...)
url
-
the URL where the video can be found
- ua([$ua])
-
$self->ua->agent(); $self->ua($LWP_LIKE_OBJECT);
Sets and gets LWP::UserAgent object.
- video_id($url)
-
Parses given URL and returns video ID.
- playlist_id($url)
-
Parses given URL and returns playlist ID.
- user_id($url)
-
Parses given URL and returns YouTube username.
- get_video_id($video_id)
- 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)
- playlist($id,$ref)
-
Fetches a playlist and returns a ref to an array of hashes, where each hash represents a video from the playlist with youtube id, runtime in seconds and title. On playlists with many videos, the method iteratively downloads pages until the playlist is complete.
Optionally accepts a second argument, a hashref of options. Currently, you can pass a "limit" value to stop downloading of subsequent pages on larger playlists after x-amount of fetches (a limit of fetches, not playlist items). For example, pass 1 to only download the first page of videos from a playlist in order to "skim" the "tip" of new videos in a playlist. YouTube currently returns 100 videos at max per page.
This method is used by the youtube-playlists.pl script.
CONTRIBUTORS
yusukebe
BUG REPORTING
Please use github issues: https://github.com/xaicron/p5-www-youtube-download/issues.
SEE ALSO
WWW::YouTube::Info and WWW::YouTube::Info::Simple. WWW::NicoVideo::Download http://rg3.github.io/youtube-dl/
AUTHOR
xaicron <xaicron {@} cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by Yuji Shimada.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
Module Install Instructions
To install WWW::YouTube::Download, copy and paste the appropriate command in to your terminal.
cpanm WWW::YouTube::Download
perl -MCPAN -e shell install WWW::YouTube::Download
For more information on module installation, please visit the detailed CPAN module installation guide.