WWW::YouTube::Info::Simple - simple interface to WWW::YouTube::Info
#!/usr/bin/perl use strict; use warnings; use WWW::YouTube::Info::Simple; # id taken from YouTube video URL my $id = 'foobar'; my $yt = WWW::YouTube::Info::Simple->new($id); # hash reference holds values gained via https://youtube.com/get_video_info?video_id=foobar my $info = $yt->get_info(); # this is basically an inheritance to get_info() at WWW::YouTube::Info # $info->{title} # e.g.: Foo+bar+-+%27Foobar%27 # $info->{author} # e.g.: foobar # $info->{keywords} # e.g.: Foo%2Cbar%2CFoobar # $info->{length_seconds} # e.g.: 60 # $info->{fmt_map} # e.g.: 22%2F1280x720%2F9%2F0%2F115%2C35%2F854x480%2F9%2F0%2F115%2C34%2F640x360%2F9%2 .. # $info->{fmt_url_map} # e.g.: 22%7Chttps%3A%2F%2Fv14.lscache1.c.youtube.com%2Fvideoplayback%3Fip%3D131.0.0. .. # $info->{fmt_stream_map} # e.g.: 22%7Chttps%3A%2F%2Fv14.lscache1.c.youtube.com%2Fvideoplayback%3Fip%3D131.0.0. .. # array reference holds values keywords my $keys = $yt->get_keywords(); # $keys->[0] # e.g.: Foo # $keys->[1] # e.g.: bar # .. # hash reference holds values quality -> resolution my $res = $yt->get_resolution(); # $res->{35} # e.g.: 854x480 # $res->{22} # e.g.: 1280x720 # .. # URL and masquerading decoded title my $title = $yt->get_title(); # e.g.: Foo bar - 'Foobar' # hash reference holds values quality -> url my $url = $yt->get_url(); # $url->{35} e.g.: https://v14.lscache1.c.youtube.com/videoplayback?ip=131.0.0.0 .. # $url->{22} e.g.: https://v14.lscache1.c.youtube.com/videoplayback?ip=131.0.0.0 .. # .. # URL decoded RTMPE URL my $conn = $yt->get_conn(); # e.g.: rtmpe://cp59009.edgefcs.net/youtube?auth=daEcaboc8dvawbcbxazdobDcZajcDdgcfae .. # Remark: # You might want to check $info->{status} before further workout, # as some videos have copyright issues indicated, for instance, by # $info->{status} ne 'ok'.
I guess its pretty much self-explanatory ..
Returns undef if status ne 'ok'. Croaks if not available.
Returns undef if status ne 'ok'. Defaults to _id if not available.
use WWW::YouTube::Info::Simple; # id taken from YouTube video URL my $id = 'foobar'; my $yt = WWW::YouTube::Info::Simple->new($id); # hash reference holds values quality -> url my $url = $yt->get_url(); # $url->{35} e.g.: https://v14.lscache1.c.youtube.com/videoplayback?ip=131.0.0.0 .. # $url->{22} e.g.: https://v14.lscache1.c.youtube.com/videoplayback?ip=131.0.0.0 .. # ..
YouTube videos can be downloaded in given qualities by means of these URLs and the usual suspects (wget, ..).
wget
use WWW::YouTube::Info::Simple; # id taken from YouTube video URL my $id = 'foobar'; my $yt = WWW::YouTube::Info::Simple->new($id); # URL decoded RTMPE URL my $conn = $yt->get_conn(); # e.g.: rtmpe://cp59009.edgefcs.net/youtube?auth=daEcaboc8dvawbcbxazdobDcZajcDdgcfae ..
A YouTube RTMPE stream can be accessed via this URL and downloaded by means of the usual suspects (rtmpdump, ..). The URL looses its validity after approx. 30 seconds (experimental value). Gathering a fresh RTMPE URL regarding the same VIDEO_ID and the rtmpdump .. --resume capability might circumvent this inconvenience.
rtmpdump
rtmpdump .. --resume
You might want to have a look at the ./examples folder within this distribution, or at WWW::YouTube::Info.
./examples
Searching the internet regarding 'fmt_url_map', 'url_encoded_fmt_stream_map' and/or 'get_video_info' might gain hints/information to improve WWW::YouTube::Info and WWW::YouTube::Info::Simple as well.
Please report bugs and/or feature requests to bug-WWW-YouTube-Info-Simple at rt.cpan.org, alternatively by means of the web interface at https://rt.cpan.org/NoAuth/ReportBug.html?Queue=WWW-YouTube-Info-Simple.
bug-WWW-YouTube-Info-Simple at rt.cpan.org
east <east@cpan.org>
Copyright (C) by east
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.0 or, at your option, any later version of Perl 5 you may have available.
To install WWW::YouTube::Info::Simple, copy and paste the appropriate command in to your terminal.
cpanm
cpanm WWW::YouTube::Info::Simple
CPAN shell
perl -MCPAN -e shell install WWW::YouTube::Info::Simple
For more information on module installation, please visit the detailed CPAN module installation guide.