NAME

WWW::YouTube::Info::Simple - simple interface to WWW::YouTube::Info

SYNOPSIS

Perhaps a little code snippet?

  #!/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'.

DESCRIPTION

I guess its pretty much self-explanatory ..

METHODS

get_keywords

Returns undef if status ne 'ok'. Croaks if not available.

get_resolution

Returns undef if status ne 'ok'. Croaks if not available.

get_title

Returns undef if status ne 'ok'. Defaults to _id if not available.

get_url

Returns undef if status ne 'ok'. Croaks 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, ..).

get_conn

Returns undef if status ne 'ok'. Croaks 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);
  
  # 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.

SEE ALSO

You might want to have a look at the ./examples folder within this distribution, or at WWW::YouTube::Info.

HINTS

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.

BUGS

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.

AUTHOR

east <east@cpan.org>

COPYRIGHT AND LICENSE

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.