ishiducaの日記 このページをアンテナに追加 RSSフィード

2010-04-13

[WWW::YouTube::Download][ダウンロード][YouTube]WWW::YouTube::Download使ってみた 07:53 [WWW::YouTube::Download][ダウンロード][YouTube]WWW::YouTube::Download使ってみた - ishiducaの日記 を含むブックマーク はてなブックマーク - [WWW::YouTube::Download][ダウンロード][YouTube]WWW::YouTube::Download使ってみた - ishiducaの日記 [WWW::YouTube::Download][ダウンロード][YouTube]WWW::YouTube::Download使ってみた - ishiducaの日記 のブックマークコメント

にひりずむ::しんぷる:WWW::YouTube::Download 0.13 released

「実装がとってもシンプルに!」を実感。

$ perl youtubepl video_id

このvideo_id は、例えば http://www.youtube.com/watch?v=yxYRJEeN6Gg のyxYRJEeN6Gg の部分。コピー&ペーストが楽ですね。

youtubepl

#!/usr/bin/perl
use strict;
use warnings;
use WWW::YouTube::Download;

$ARGV[0] or die "Usage: $0 video_id\n";
my $video_id = $ARGV[0];

my $client = WWW::YouTube::Download->new;
my $title  = $client->get_title($video_id);
my $fmt    = $client->get_fmt($video_id);
my %ext    = (
    0  => 'flv',
    34 => 'flv',
    6  => 'flv',
    35 => 'flv',
    18 => 'mp4',
    22 => 'mp4',
);

print qq(Now Download "${title}.$ext{$fmt}"\n);

$client->download($video_id, {
    file_name => "${title}.$ext{$fmt}",
});

exit 0;

fmtの数値はトーテムポーる YouTubeのfmtの種類のまとめを参照しています。(記事にあるけど2008年11月26日現在ってあるので変わっているかもしれません)

***

追記 2010.04.13

fmtを選択できるように少し手直しした

youtube2pl

#!/usr/bin/perl -s
use strict;
use warnings;
use WWW::YouTube::Download;

our($h, $code);
my $usage =<<"USAGE"
Usage: $0 [-h]
    -h: help

Usage: $0 [-code=0|34|6|35|18|22|37] video_id
    -code :  0|34| 6|35 is flv
            18|22|37    is mp4
USAGE
;
$h and print $usage and exit 0;

$ARGV[0] or die $usage;
my $video_id = $ARGV[0];

my $client = WWW::YouTube::Download->new;
my $title  = $client->get_title($video_id);
my $fmt    = $code ? $code : $client->get_fmt($video_id);

my %ext = (
    0  => 'flv',
    34 => 'flv',
    6  => 'flv',
    35 => 'flv',
    18 => 'mp4',
    22 => 'mp4',
);

print qq(Now dowonload "${title}.$ext{$fmt}"\n);

$client->download($video_id, {
    file_name => "${title}.$ext{$fmt}",
    fmt       => $fmt,
});

exit 0;

例えば、fmtが 34 のものを 22 に変更するときは

$ perl youtube2pl -code=22 yxYRJEeN6Gg
トラックバック - http://perl.g.hatena.ne.jp/ishiduca/20100413