yt-download - Download YouTube videos.
Version 0.031
yt-download -h|-?|--help yt-download yt-download url [url ...] yt-download -f|--file filename
The urls can be entered after calling yt-download - this is useful if urls contain shell metacharacters like &.
yt-download
&
The urls can also be passed with a file: yt-download -f|--file filename. The urls in the file have to be space separated.
yt-download -f|--file filename
If the extractor is YouTube, it is possible to pass ids instead of the entire urls. When passing only an id it is required to prefix every playlist id with p# and every channel id with c#. Video ids are passed without any prefix.
p#
c#
Download single videos or/and choose videos from playlists or/and channels.
When choosing from a channel or list it is possible to filter the displayed items with a regexp.
Before the download the script shows some video info and lets you choose the video quality from the available qualities.
Instead of choosing the quality manually it is possible to set and use preferred qualities. Preferred qualities are only valid for Youtube videos.
To set the different options call yt-download -h.
yt-download -h
App::YTDL uses youtube-dl to get the data required for the video download.
App::YTDL
Non mappable characters on the output are replaced with *. In file names they are replaced with &#xNNN; where NNN is the Unicode code point in a decimal number.
*
&#xNNN;
Shows this HELP text.
Shows the version and the path of the running yt-download and the path of the video directory and of the configuration directory.
Set the useragent.
If entered nothing the default useragent (Mozilla/5.0) is used.
If Overwrite is enabled, existing files are overwritten.
If not enabled yt-download appends to partially downloaded file with the same name.
Set the maximum length of the filename. Filenames longer as the maximum length are truncated.
Set the number of download retries.
Timeout (seconds) is used as the value for the youtube-dl parameter --socket-timeout. timeout is also used as the value for the LWP::UserAgent option timeout when fetching the data required for the video download.
youtube-dl
--socket-timeout
timeout
Set the auto quality (fmt) mode:
mode 0: choose always manually
mode 1: keep the first quality chosen for a playlist/channel for all videos of that playlist/channel if possible.
mode 2: keep the first chosen quality for all downloads if possible.
mode 3: use preferred qualities (YouTube only).
mode 4: use always the default (best) quality.
Set the preferred qualities (fmts) for YouTube videos.
Enable info logging.
Channel history works only for YouTube videos.
If Channel history is set to "0" the channel history is disabled else the set value tells how many channels should be saved in the channel history file (channels made sticky don't count).
If no arguments are passed to yt-download the user can choose from the channels saved in the channel-history file and the channel-sticky file.
Choose an alternative video directory.
0 => No.
1 => Create/use extractor directories.
0 => Don't create/use channel directories.
1 => Create/use channel directories if the video is chosen from a channel or a list.
2 => Always create/use channel directories.
Set the maximum width of video info output.
Set the number of digits allocated for the "kilobyte per seconds" template.
If set to "YES" the latest videos from a channel/list are on top of the list menu else they are at the end of the menu.
Requires Perl version 5.10.0 or greater.
youtube-dl is required.
For a correct output it is required an appropriate encoding layer for STDOUT matching the terminal's character set.
It is required a terminal that uses a monospaced font which supports the printed characters.
Thanks to the Perl-Community.de and the people form stackoverflow for the help.
Kuerbis <cuer2s@gmail.com>
Copyright (C) 2013-2015 Kuerbis.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl 5.10.0. For details, see the full text of the licenses in the file LICENSE.
To install App::YTDL, copy and paste the appropriate command in to your terminal.
cpanm
cpanm App::YTDL
CPAN shell
perl -MCPAN -e shell install App::YTDL
For more information on module installation, please visit the detailed CPAN module installation guide.