blob: 23d4751e85cc5afad80eb6fc5ec17ee4e9281179 [file] [log] [blame]
=head1 NAME
get_flash_videos - Video downloader for various Flash-based video hosting sites
=head1 SYNOPSIS
get_flash_videos [OPTION]... URL...
get_flash_videos [OPTION]... SEARCH
=head1 DESCRIPTION
Download the Flash video from the web pages given in C<URL>, choosing
suitable filenames for each.
Alternatively if C<SEARCH> is specified (either quoted or unquoted),
B<get_flash_videos> will search Google Video for C<SEARCH>, and present a
list of videos to download.
B<get-flash-videos> attempts to support many video sites, therefore there is no
list of supported sites in this manual page as it frequently changes, see the
website for a list.
=head1 OPTIONS
=over 4
=item I<-d>, I<--debug>
Print extra debugging information.
=item I<-f>, I<--filename>
Save downloaded file to the specified filename. Usually this shouldn't be
necessary, as C<get_flash_videos> tries to use a meaningful name for the
video.
=item I<-r>, I<--quality>
The quality of the video to attempt to download. Some sites offer videos in
multiple qualities; this will let you specify which quality to prefer.
C<get_flash_videos> will aim to download a video at the specified quality or
lower, if no video is available at that quality it will download the next
highest quality video available.
You can specify a quality as either:
=over 4
=item *
high
=item *
medium
=item *
low
=back
or a target resolution:
=over 4
=item *
1080p (1920x1080)
=item *
720p (1280x720)
=item *
576p (720x576)
=item *
480w (854x480)
=item *
480p (640x480)
=item *
240w (427x240)
=item *
240p (320x240)
=back
High corresponds to 1080p or 720p, medium to 576p, 480w and 480p and low to 240w and 240p.
The default is B<high>.
=item I<-p>, I<--play>
Begin playing the video once enough of the file has been downloaded.
=item I<--player=C<CMD>>
Specify the player to use for the C<--play> option. Any occurrence of C<%s> in
this string will be replaced with the filename of the video (appropriately
shell escaped).
The default on *nix operating systems is to use mplayer:
mplayer -really-quiet %s
You may wish to automatically delete the video after you have viewed it:
mplayer -really-quiet %s; rm %s
On Windows, if C<-p> or C<--play> is specified but no player is specified,
VLC (if installed) will be used to play the video. There is no need to
specify where you have installed VLC - this will be automatically retrieved
from the registry.
=item I<--proxy>
Proxy to use, a SOCKS proxy or HTTP proxy can be specified.
To specify a SOCKS proxy, simply provide the host and port in host:port format.
If port is not specified, 1080 is assumed. C<LWP::Protocol::socks> is required for
SOCKS support.
To specify an HTTP proxy, provide the proxy URL, for example C<http://host:port>.
For proxying RTMP downloads, SOCKS is required along with a version of
C<rtmpdump> which supports SOCKS proxying.
If no proxy is specified on the command line or the config file the
C<$HTTP_PROXY> environment variable will be used.
=item I<--subtitles>
Download subtitles for the video, if available. Subtitles are converted to
SubRip format and saved to a file of the same name as the video file, but
with an extension of 'srt'.
=item I<-q>, I<--quiet>
Be quiet, only print errors.
=item I<-u>, I<--update>
Check the I<get-flash-videos> website for a newer version. If a newer version is
available download it and replace the running version with it. You will need to
run this as a user with permission to write to the location of the
F<get_flash_videos> program. If you installed using a packaging system it is
recommended to use that to upgrade, not this option.
=item I<-v>, I<--version>
Print the version of B<get_flash_videos>.
=item I<-y>, I<--yes>
Do not prompt with any questions, just say 'yes'. This means either literally
yes, or the default or first option if choosing from a list.
=item I<--add-plugin=C<URL>>
Add an external plugin from a specified URL or local file.
=back
=head1 CONFIGURATION
On startup B<get_flash_videos> will read the configuration files located at
F</etc/get_flash_videosrc> and then F<~/.get_flash_videosrc>.
The files follow a simple C<name = value> convention where the name matches the
long version of the command line options. For example if you want to specify the
default player, to always say yes and to always run the player the file might
look like:
player = my-video-player %s 2>/dev/null; rm -f %s
yes
# Always play the video
play
Options given on the command line will override these options, with the
exception that it is not currently possible to disable an option enabled in the
configuration file from the command line.
=head1 EXAMPLES
Play a video (may prompt for filename still, override with I<-y>):
get_flash_videos -p http://some.site/video
Download a video (note quotes are required for URLs with special characters
like C<&> in):
get_flash_videos "http://some.site/video?f=1&v=1234"
Play the URL on the clipboard (UNIX):
xclip -o | xargs get_flash_videos -y -p
Play the URL on the clipboard (OSX):
pbpaste | xargs get_flash_videos -y -p
(Note if there is text on the clipboard rather than a URL above then
get_flash_videos will search for it).
Play the first video matching "Open Source":
get_flash_videos -y -p Open Source
=head1 BUGS
Third party sites are a moving target therefore it is possible support for some
of the sites may not work correctly. First check that you are using the latest
version.
If you wish to see open bugs or report a bug visit
L<http://code.google.com/p/get-flash-videos/issues/list>.
=head1 HACKING
If you'd like to change or improve B<get-flash-videos> (for example adding
support for another site), please see the project wiki where there's an
overview to help you get started, and a detailed tutorial on adding support
for a new site:
L<http://code.google.com/p/get-flash-videos/w/list>.
=head1 COPYRIGHT
Copyright 2009, zakflash and MonsieurVideo
Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain a
copy of the License at
L<http://www.apache.org/licenses/LICENSE-2.0>
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
Contributions are welcome and encouraged, but please take care to
maintain the JustWorks(tm) nature of the program.