______________________________________________________________________________

YouTube Downloader v0.57                                  (C) 2009, 2010 Pepak
http://www.pepak.net/download/youtube-downloader/         http://www.pepak.net
______________________________________________________________________________

YouTube Downloader is an utility designed for downloading multimedia content
from YouTube and other online streaming services. It works from command-line,
where it accepts any number of URLs or a text file with a list of URLs. It
saves the movies under their "human-readable" name from YouTube. When a movie
has several variants, the highest-quality one is downloaded.



SUPPORTED PROVIDERS
-------------------

 - 5min.com:
     - http://www.5min.com/Video/Customizable-Xbox-360-Controller-Brings-Gaming-to-the-Disabled-299179952

 - Aktualne.cz:
     - http://aktualne.centrum.cz/video/?id=316586

 - AlternativaTV.cz:
    - http://alternativatv.cz/hudba/play/12102/?hiq=1
    - http://alternativatv.cz/video/play/12225/
    - http://alternativatv.cz/encyklopedie/play/86
    - http://alternativatv.cz/magazin/priloha/9319/12292
    - http://alternativatv.cz/film/play/9911/
    - http://alternativatv.cz/scena/play/12307/

 - AngryAlien.com:
     - http://www.angryalien.com/0605/freddyjasonbuns.asp

 - AutoTube.cz:
     - http://www.autotube.cz/roadtube/612-jak-na-dopravni-zacpu.html

 - Barrandov.tv:
     - http://www.barrandov.tv/54698-nikdy-nerikej-nikdy-upoutavka-epizoda-12

     Note: This provider uses RTMP protocol. See the note below.

 - Bing.com:
     - http://www.bing.com/videos/watch/video/surfer-mounts-hd-camera-to-board/1abwgqhhl

 - Blenus.com:
     - http://www.blennus.com/index.php?option=content&task=view&id=1027&Itemid=

 - Blip.tv:
     - http://blip.tv/play/hIVV4tIUAg
     - http://blip.tv/file/1607673/
     - http://thespoonyone.blip.tv/file/1607673/

 - Bofunk.com:
     - http://www.bofunk.com/video/10444/ingenious_way_to_mow_your_grass.html

 - Bolt.com (BoltAgain.ning.com):
     - http://boltagain.ning.com/video/vacation-wellness

 - Bomba.cz:
     - http://www.bomba.cz/video/simpsnovi-vs-cesti-politici/

 - Break.com
     - http://www.break.com/usercontent/2007/10/South-Africa-Win-Rugby-World-Cup-385706.html
     - http://embed.break.com/MzU5NDE4
     - http://media1.break.com/static/app/v1/global/swf/player10.swf?sVidLoc=http%3a%2f%2fvideo1.break.com%2fdnet%2fmedia%2f2007%2f8%2fdude-blows-off-firecracker-in-teeth.flv&sThumbLoc=http%3a%2f%2fmedia1.break.com%2fdnet%2fmedia%2f2007%2f8%2fdude-blows-off-firecracker-in-teeth.jpg&contentURL=http%3a%2f%2fwww.break.com%2findex%2fdude-blows-off-firecracker-in-teeth.html&sShareURL=http%3a%2f%2fwww.break.com%2findex%2fdude-blows-off-firecracker-in-teeth.html%23TellAFriendhttp%3a%2f%2fstats.break.com%2finvoke.txt&iContentID=359418&autoplay=0&embed=2&contentidencoded=359418&categoryid=4&userid=1620903&mode=embed&linktitle=Funny+Videos&sVidTitle=EMBED-Dude+Blows+Off+Firecracker+In+Teeth&icon=1B608EE7AFCE3765E176F3C6FBB98002B3D18C64572F2307D76FAB7CA970F3B1D7D7

 - Cas.sk
     - http://www.cas.sk/clanok/172890/testovanie-brzd-trochu-inak.html
     - http://adam.cas.sk/clanky/7431/moto-aston-martin-rapide-2011.html

 - CekniTo.cz / CekniTo.sk
     - http://www.ceknito.cz/video/446074

 - CeskaTelevize.cz
     - http://www.ceskatelevize.cz/ivysilani/309292320520025-den-d-ii-rada/
     - http://www.ceskatelevize.cz/program/port/541-elektronicke-knihy/
     - http://www.ceskatelevize.cz/program/10252893246-07.08.2010-08:32-24-prizma.html

     Note: This provider uses RTSP over HTTP protocol. See the note below.

 - CestyKSobe.cz:
     - http://www.cestyksobe.cz/novinky/nejnovejsi-a-nejzajimavejsi-porady/642.html

 - Clipfish.de:
     - http://www.clipfish.de/video/3306089/baby-kaenguruh-versucht-zu-schwimmen/
     - http://www.clipfish.de/special/lets-dance/home/

 - CrunchyRoll.com:
     - http://www.crunchyroll.com/library/Naruto_Shippuden

     Note: This provider uses RTMP protocol. See the note below.

 - CSmaTalent.cz, CSmaTalent.sk:
     - http://www.csmatalent.cz/epizody-cz/detail/divadlo-29-8-2010.html
     - http://www.csmatalent.sk/epizody/detail/divadlo-29-8-2010.html

 - CT24.cz:
     - http://www.ct24.cz/regionalni/87267-vrchlabsky-zamek-ma-vlastni-miniaturu/video/1/
     - http://www.ct24.cz/regionalni/87267-vrchlabsky-zamek-ma-vlastni-miniaturu/

     Note: The "real" provider is CeskaTelevize.cz, so its notes apply to
           CT24.cz as well.

 - Current.com:
     - http://current.com/shows/the-rotten-tomatoes-show/92561962_angelina-jolies-top-5-hottest-parts.htm

 - DailyHaha.com:
     - http://www.dailyhaha.com/_vids/dog-chasing-shadow.htm

 - DailyMotion.com:
     - http://www.dailymotion.com/video/x8w3pf_condoms-are-bady_fun

 - DeutscheBahn.com:
     - http://bewegtbild.deutschebahn.com/btvo/site/index.php?s=5600&ids=143306

 - DevilDucky.com:
     - http://www.devilducky.com/media/213159/

 - DoubleAgent.com:
     - http://www.doubleagent.com/agent/tiffany/video-blog/video-28
     - http://www.doubleagent.com/play/are-you-a-tweetbook-twit

 - EbaumsWorld.com:
     - http://www.ebaumsworld.com/video/watch/80973186/

 - eHow.com:
     - http://www.ehow.com/video_4871930_clean-computer-monitor-glass.html

 - ESPN.go.com:
     - http://espn.go.com/video/clip?id=5163631

 - EVTV1.com:
     - http://www.evtv1.com/player.aspx?itemnum=15099&aid=

 - Facebook.com:
     - http://www.facebook.com/video/video.php?v=1131482863478

 - FileCabi.net:
     - http://www.filecabi.net/video/hiddendogstopsrobbery.html

 - Flickr.com:
     - http://www.flickr.com/photos/landersz/2403626167/

 - Free.Zoznam.sk:
     - http://free.zoznam.sk/video/Splhajuci-buldozer

 - FreeCaster.tv:
     - http://freecaster.tv/freeski/1012253

 - FreeRide.cz:
     - http://www.freeride.cz/snowboard/clanky/trix/tricktip-fs-grind-fs-revert-by-honza-smekal--9323/
     - http://www.freeride.cz/snowboard/video/freeridecz-karneval-2010-by-shymonkey--9121/

 - FreeVideo.ru:
     - http://freevideo.ru/video/view/?id=v14445361101

 - GameAnyone.com:
     - http://www.gameanyone.com/game/PC/936.html
     - http://www.gameanyone.com/video/88319

 - GodTube.com:
     - http://www.godtube.com/featured/video/jesus-your-co-pilot-or-leader

 - GrindTV.com:
     - http://www.grindtv.com/surf/video/surfing_ancientstyle_surfboards_in_peru_wred_bull_team/

 - Guba.com:
     - http://www.guba.com/watch/3000693318/Pulp-Fiction-Laugh-Track

 - iHned.cz:
     - http://video.ihned.cz/c1-44411910-sef-narodniho-muzea-kdyz-zafouka-vitr-vypadne-nam-za-noc-az-deset-oken

 - ima.umn.edu:
     - http://www.ima.umn.edu/videos/?id=1187

     Note: This provider uses RTMP protocol. See the note below.

 - iPrima.cz:
     - http://www.iprima.cz/videoarchiv/44524/all/all
     - http://www.iprima.cz/videoplayer/85680

 - Joj.sk:
     - http://televizia.joj.sk/tv-archiv/krimi-noviny/22-05-2010.html

 - Kukaj.sk:
     - http://www.kukaj.sk/videa/5860/

 - LibimSeTi.cz:
     - http://video.libimseti.cz/basket-trosku-jinak/f1ea1c7fcc03?uid=

 - LiveLeak.com:
     - http://www.liveleak.com/view?i=6f4_1272904024
     - http://www.liveleak.com/e/57d_1278546690

 - LiveVideo.com:
     - http://www.livevideo.com/liveshow/brian3maria

 - Markiza.sk:
     - http://video.markiza.sk/archiv-tv-markiza/dnes/36829

     Note: Each movie can be made up of several files. In such a case, all
     files are downloaded.

 - MediaSport.cz:
     - http://www.mediasport.cz/rally-cz/video/09_luzicke_cerny_rz1.html

     Note: Video title is not listed anywhere in the video page, so the
           original filename is used instead.

 - MegaVideo.com:
     - http://www.megavideo.com/?v=2MJBY4HB

 - MetaCafe.com:
     - http://www.metacafe.com/watch/4577253/kick_ass_release_trailer/

 - MojeVideo.cz:
     - http://mojevideo.cz/view.php?id=5332

 - Mpora.com:
     - http://video.mpora.com/watch/xfnGGmZDC/

 - MSFotbal.CT24.cz:
     - http://msfotbal.ct24.cz/article.asp?id=339
     - http://msfotbal.ct24.cz/video.asp?video_id=95
     - http://msfotbal.ct24.cz/video.asp

     Note: The "real" provider is CeskaTelevize.cz, so its notes apply to
           CT24.cz as well.

 - MustWatch.hztz.cz:
     - http://mustwatch.hztz.cz/film/lecba-rakoviny-zevnitr-healing-cancer-from-inside-out/

 - Muzu.tv:
     - http://www.muzu.tv/elizarickman/cinnamon-bone-music-video/670078?country=cz

 - MySpace.com
     - http://vids.myspace.com/index.cfm?fuseaction=vids.individual&videoid=63620005

     Note: This provider uses RTMP protocol. See the note below.

 - Myubo.sk:
     - http://www.myubo.sk/page/media_detail.html?movieid=deac5b36-9efe-4176-a1e9-01088aa24696

 - N-joy.cz:
     - http://n-joy.cz/video/shank-5-minut-hrani/il18d8bbuynet5gk

 - NavratDoReality.cz:
     - http://navratdoreality.cz/?p=view&id=5766

 - NothingToxic.com:
     - http://www.nothingtoxic.com/media/1279921781/Bad_Doggie_Eats_An_Entire_Swiffer_Mop

 - Nova.cz:
     - http://archiv.nova.cz/multimedia/ulice-1683-1684-dil.html

     Note: This provider uses RTMP protocol. See the note below.

 - Novinky.cz:
     - http://video.novinky.cz/video/doporucujeme/?videoId=10869&page=1

 - OverStream.net:
     - http://www.overstream.net/view.php?oid=uinsn9n7uomx
     - http://www.overstream.net/swf/player/oplx?oid=m8t4s4uzibl0

 - PCPlanets.com:
     - http://www.pcplanets.com/videos-225353-Bamboo.shtml

     Note: The provider should work fine, but it keeps returning a HTTP error
     403 (forbidden). The same error is produced by the flash player itself,
     though, which makes it likely that the problem lies not in YTD but rather 
     some bug or country restriction of PCPlanets.com.

 - PublicTV.cz:
     - http://www.publictv.cz/cz/menu/3/videoarchiv/clanek-535-re-play/1718/
     - http://www.publictv.cz/videoarchiv/535/1718/

 - Raajje.tv:
     - http://www.raajje.tv/video/991/president-anni-diving

 - Revver.com:
     - http://www.revver.com/video/2378230/super-mario-bros-2-on-the-nes-level-x/

 - RingTV.com:
     - http://www.ringtv.com/video/frankie_gomez_training/

 - Rozhlas.cz:
     - http://www.rozhlas.cz/vltava/porady/_zprava/676996

     Note: Each page can contain several files. In such a case, all files
     are downloaded.

 - RuTube.ru:
     - http://rutube.ru/tracks/3201791.html?v=ee2f0d03562f2cf3b28e6cad55f353e4

 - SevenLoad.com:
     - http://en.sevenload.com/shows/Food-Drink/episodes/4YXLHBt-How-To-Make-Elegant-No-Bake-Cheesecake

 - Snotr.com:
     - http://www.snotr.com/video/4280

 - Spike.com:
     - http://www.spike.com/video/prince-of-persia/3355664

 - Stagevu.com:
     - http://stagevu.com/video/jomxdgbvxnip

 - Stickam.com:
     - http://www.stickam.com/viewMedia.do?mId=188284575

 - Stream.cz:
     - http://www.stream.cz/video/437197-meziplyn-30

     Note: There is an unresolved bug with stream.cz, which sometimes 
     prevents a download. The cause is not know yet, but it seems to be
     related to some timing issue within Synapse library. A slight delay
     inserted in the right place removes the bug, apparently.

     Note: Stream.cz provides a content-delivery-network for a number of
     other services, such as TV stations Ocko or Prima.

 - StreetFire.com:
     - http://www.streetfire.net/video/porsche-911-gt2_2007066.htm

 - StupidVideos.com:
     - http://www.stupidvideos.com/tv/homepage_1/Amazing_Aquarium/
     - http://www.stupidvideos.com/video/Fliers_Fall_Under_Friendly_Fire/?m=new

 - STV.LiveTV.sk:
     - http://stv.livetv.sk/tvarchive//video/video.html?video=52655

     Note: Video title is not listed anywhere in the video page, so the
           original filename is used instead.
     Note: This provider uses RTSP over HTTP protocol. See the note below.

 - Tangle.com:
     - http://www.tangle.com/view_video?viewkey=fe586286e688a7cb197e

 - TeacherTube.com:
     - http://teachertube.com/viewVideo.php?video_id=177149&title=Top_10_Mistakes_New_Teachers_Make

 - TodaysBigThing.com:
     - http://www.todaysbigthing.com/2010/06/01

 - Tontuyau.com:
     - http://www.tontuyau.com/v.asp?id=21715

 - TotallyCrap.com:
     - http://www.totallycrap.com/videos/videos_man_tries_to_commit_suicide_by_laying_under_a_truck/

     Note: This provider uses RTMP protocol. See the note below.

 - TV7.cz:
     - http://www.tv7.cz/?vid=1062

 - TVNoe.tbsystem.cz (TV Noe):
     - http://tvnoe.tbsystem.cz/index.php?cs/videoarchiv/hlubinami-vesmiru-2010-04-12-mikulasek

 - TVcom.cz:
     - http://bojove-sporty.tvcom.cz/video/545-budo-show-zlin-2006-dil-1.htm

     Note: This provider uses RTSP over HTTP protocol. See the note below.

 - TVPraha11.cz (Metropol TV):
     - http://www.tvpraha11.cz/zastupitelstvo/index.php?file=9285&jednani=66

 - UStream.tv:
     - http://www.ustream.tv/recorded/7022540

 - VideaCesky.cz:
     - http://www.videacesky.cz/serialy/upoutavka-na-treti-radu-the-guild

 - VideoAlbumy.azet.sk:
     - http://videoalbumy.azet.sk/land-rover/A1OFbSJBBXOF6yyp/

 - VideoClipsDump.com:
     - http://www.videoclipsdump.com/media/1951/Karate_Fail/

 - Videu.de:
     - http://www.videu.de/video/4etN3FlaaY

 - Vimeo.com:
     - http://www.vimeo.com/10777111

 - VitalMtb.com:
     - http://www.vitalmtb.com/videos/member/Practice-at-the-bmx-track,2631/bubb120491,1836

 - Wimp.com:
     - http://www.wimp.com/frazilice/

 - Wrzuta.pl:
     - http://w772.wrzuta.pl/film/7KI3ZUDHrUK/
     - http://goovnoh.wrzuta.pl/audio/8U1t8UQ4f8W/

 - Youtube.com:
     - http://www.youtube.com/v/b5AWQ5aBjgE
     - http://www.youtube.com/watch/v/b5AWQ5aBjgE
     - http://www.youtube.com/watch?v=b5AWQ5aBjgE
     - http://www.youtube.com/view_play_list?p=90D6E7C4DE68E49E
     - http://www.youtube.com/titanicpiano14
     - http://www.youtube.com/user/titanicpiano14

 - ZkoukniTo.cz:
     - http://www.zkouknito.cz/video_59813_holcicka-strasila-medveda



Supported porn providers:

 - Dachix.com
 - EmpFlix.com
 - ExtremeTube.com
 - Grinvi.com
 - KeezMovies.com
 - MegaPorn.com
 - PornHost.com
 - PornHub.com
 - PornoTube.com
 - RedTube.com
 - Rude.com
 - Shufuni.com
 - SlutLoad.com
 - SpankingTube.com
 - SpankWire.com
 - TnaFlix.com
 - Tube8.com
 - XHamster.com
 - XNXX.com
 - XTube.com
 - XVideoHost.com
 - XVideos.com
 - YouJizz.com
 - YouPorn.com
 - Yuvutu.com



RTMP PROTOCOL
-------------

Since version 0.15 the program supports "real" streaming video according to
the RTMP protocol. The protocol is implemented with a library RTMPDUMP_DLL,
which is heavily based on project RTMPDUMP (http://rtmpdump.mplayerhq.hu)
- basically, the library is the same as RTMPDUMP, except that it has a DLL
interface rather than command-line. The implementation has several problems:

1) It is not possible to determine total video size exactly. The size is
   just guessed, based on the total time of video and the time and size of
   downloaded data.

2) Errors are not passed to YouTube Downloader. Instead, they are written
   to a log file in the user's temporary directory.

3) In order to download RTMP streams, including those which are not encrypted,
   these libraries are required in the exe-file's directory:
   - RTMPDUMP_DLL.DLL - provided with YouTube Downloader.
   - CRYPTOEAY32-0.9.8.DLL - a component of OpenSSL version 0.9.8. It may be
     called CRYPTOEAY32.DLL in the distribution archive, but YTD expects the
     name which includes version number.
   - SSLEAY32-0.9.8.DLL - again, a component of OpenSSL 0.9.8.

4) It's impossible to reliably detect whether a download was complete or not.
   Please check each downloaded file to make sure it is complete.



MMS/RTSP PROTOCOLS
------------------

Since version 0.17, protocol family around MMS and RTSP (e.g. Microsoft's
streaming servers, Real servers and a number of others) is supported. The
protocol is implemented by library MDSL_DLL.DLL, which is a wrapper around
the MDSL project (http://msdl.sf.net). The library is built in much the same
way as the RTMPDUMP library above, with similar drawbacks.

Note: As with RTMP, the total size of a stream is just guessed. It is quite
possible that a download ends at 93% and turns out to be complete. The same
cautionary note as with RTMP applies: Please test every downloaded file to 
make sure it really is complete.



PLAYLISTS
---------

Since version 0.19, sources which contain multiple files on one page are
supported (e.g. Markiza.sk). At the moment it is not possible to choose which
files to download and which to skip - YTD simply downloads them all. You can
of course use the GUI version and delete unwanted streams from there.



CONVERSION OF DOWNLOADED FILES
------------------------------

Version 0.50 added support for calling external applications after a download
is finished. Among other common uses of this function is the possibility to
 convert downloaded content to a desired format, as long as you can find
a command-line driven converter.

The demo configuration files define three basic conversions, which use the
application MEncoder (a part of the MPlayer project, http://www.mplayerhq.hu)
to perform these three tasks:

a) Change the video container to AVI. This function is very fast and doesn't
   change the quality of the source movie in any way, but unfortunately only
   works for some sources (many, if not all, .FLV files can't be converted
   this way) and, most importantly, only changes the container, not the
   actual content. This means that in order to play the movie, you still need
   all the codecs used in the original file. For this reason the conversion
   is only useful if you have all required codecs but your software doesn't
   work with the more exotic containers.

b) Convert the video to AVI container with XVID+MP3 codecs. This is a "full"
   conversion, with pros and cons pretty much opposite to the previous one:
   The conversion is slow and the movie loses some quality, but it works for
   every (almost?) source and the result will be playable with every XVID
   supporting player (which is just about every one, these days).

c) Convert the video to AVI container with H264+MP3 codecs. Much the same
   thing as the previous conversion, except that a newer codecs with higher
   quality and slower speed is used.

Some basic settings are provided for all three options, but since my experience
with movie conversions is very low, they are sure to be suboptimal. Don't be
surprised by the low-quality of the results; until someone provides me with 
a better set of options, this problem will not change.

What you need to do to start using the conversions:

1. Download and install the full MPlayer package (it includes MEncoder.exe).

2. Copy MEncoder.exe to a directory in PATH, or to the directory where YouTube
   Downloader is installed.

3. Activate the converter functionality. Activation is controlled by setting
   <converters><activated>; by default it is set to 0 (zero), and needs to
   be changed to 1 (one) for converters to work. You can open the configuration
   file from within the program by clicking the "Edit config file" button,
   then search for "<activated>" (without quotes) in it and change the zero
   to one.

4. a) If you want to automatically convert all downloaded files:

      In the GUI version, click on the "Select converter" icon (a movie strip
      with a pen) and choose one of the predefined converters. Since this
      moment, all new downloaded files will be passed to this converter (by
      default, sequentially, one at a time, so that only one conversion
      process is running).

   b) If you only want to convert files you choose manually:

      In the GUI version, select one or more files and click on the "Convert"
      icon (a movie strip with a green arrow). The conversion will be started
      for all selected files, no matter how many there are, and no matter
      whether their download finished successfully, failed or was aborted.

The advanced users may, through editing the configuration files, change the
parameters of conversion tasks or even create a completely new converters.
You needn't limit yourself to MEncoder or any video converter, for that
matter - the function is called "converters" because that will be its most
common use, but it can be used for e.g. sending the downloaded files through
e-mail or even running complex BAT scripts on them. The detailed description
of the configuration can be found further in this document.

The command-line version of YouTube Downloader doesn't support this function,
reason being, the conversion introduces a lot of complexity and possible
errors and since the command-line version is inherently scriptable, it would
bring too few advantages to overcome this drawback. If you need to convert
the downloaded files, you can always do so in a BAT file.



CONFIGURATION
-------------

Since version 0.50 stores YouTube Downloader its configuration in a XML file
"ytd.xml". This file can be found in two locations:

1) The directory where YTD.exe resides. This is the primary location.

2) Directory "YouTube Downloader" in a user profile of Windows (%APPDATA%).
   This location is only considered if the primary XML doesn't exist or
   if the primary XML doesn't require a portable mode.

The configuration parameters are stored as values of XML tags. Consistent
with the XML standard, names of the tags are case sensitive; the values are
not case sensitive, but it is a recommended practice to stick to lower case
except in file/directory names. Logical values (true-false) are stored as
"1" (true) and "0" (false).

<ytd> 
  - The root element. It's name can currently be anything at all since the
    program doesn't check it (yet, anyway).

<config>
  - Child of <ytd>; contains the configuration options common to graphical
    and command-line version of the application.

  <portable_mode>
    - Child of <config>; stores a logical value that determines whether YTD
      runs in a portable mode or as a regular application. In neither of the 
      modes does YTD write to registry, the difference is simply that in
      portable mode only the "ytd.xml" file in application directory is used,
      while in regular mode it is the "ytd.xml" stored in user's profile.
      The drawback of portable mode is that the application needs to have
      a write access to the directory where it is installed, which is a poor
      practice and in Windows Vista or newer Microsoft tries to stop it.
      (If you don't have a write access, no error message will be shown, but 
      the configuration changes will not be stored.)
    - Possible values are "1" (run in portable mode) and "0" (regular mode).
    - Default value is "0" (regular mode).

  <language_mode>
    - Child of <config>; let's you choose the language for texts displayed
      by the program.
    - Possible values are two-letter ISO codes of languages (see the
      Localization section below), as well as an empty string, which lets
      the application choose a language automatically based on your operating
      system's settings.
    - Default value is an empty string (automatic decision).
    - Note: Currently only czech ("cs") and english ("en") translations are
      available. You'll find more info on providing a new translation below.

  <destination_path>
    - Child of <config>; specifies a directory where the downloaded videos
      will be saved.
    - Possible values are an empty string (current working directory, which
      is usually the directory from which you started the program) or any
      valid path, absolute ("c:\download") or relative to the current working
      directory ("..\download").
      In case of portable version it is strongly recommended to not use an
      absolute path.
    - Default value is an empty string (current working directory).
    - Can be overridden by parameter -o on command-line.

  <error_log>
    - Child of <config>; specifies a file into which a list of failed URLs
      will be stored.
    - Possible values are an empty string (no log will be written) or a file
      name (including path, if desired).
    - Default value is an empty string (no log will be written).
    - The graphical version doesn't use this option (yet).
    - Can be overriden by parameter -e on command-line.

  <overwrite_mode>
    - Child of <config>; specifies what to do if a file already exists when
      trying to save a new movie.
    - Possible values are:
        "ask" - ask the user what to do; matches -k on command-line.
        "never" - skip the file; matches -n on command-line.
        "always" - overwrite the file; matches -a on command-line.
        "rename" - rename the new file so that its name is unique; matches
                   -r on command line.
    - Default value is "ask" (ask the user).

  <proxy_server>
    - Child of <config>; let's you specify a proxy server if your network
      uses one (or if you want to overcome regional restrictions of some
      providers). It is supported and working with protocols HTTP and MMS/RTSP.
      It is used even for protocol RTMP, but it seems not to work (or maybe
      I used a wrong proxy server).

    <active>
      - Child of <proxy_server>; allows enabling or disabling the use of proxy
        server quickly.
      - Possible values are "1" (use proxy) and "0" (don't use proxy).
      - Default value is "0" (don't use proxy).

    <host>
      - Child of <proxy_server>; specifies a network address of the proxy.
      - Possible values: an empty string (don't use proxy) or any valid
        TCP/IP address, either numeric or a domain name.
      - Default value is an empty string (don't use proxy).

    <port>
      - Child of <proxy_server>; specifies a TCP port of the proxy.
      - Possible values: numbers from 1 to 65535, with 3128 and 8080 being the
        most common.
      - Default value is 3128.

    <user>
      - Child of <proxy_server>; specifies a user name used to authenticate
        to your proxy server. Authentization is only supported for HTTP 
        protocol, and even then hasn't been tested.
      - Possible values is an empty string (don't use authentization) or any
        valid username.
      - Default value is an empty string (don't use authentization).

    <password>
      - Child of <proxy_server>; specifies a password to the proxy server.
      - Any string is possible here.
      - Default value is an empty string (no password).

<gui>
  - Child of <ytd>; stores settings specific to the graphical version of YTD.
    Usually, you don't change these settings here; they have their own controls
    in the program.

  <auto_start_downloads>
    - Child of <gui>; specifies, whether a newly added links will start 
      downloading automatically or wait until you click on the Start button.
    - Possible values are "1" (start automatically) and "0" (manual start).
    - Default value is "1" (start automatically).

  <check_for_new_version>
    - Child of <gui>; specifies, whether a check for new version may be 
      performed at the start of the GUI version. Even if you disable this
      automatic check, you can still perform the check manually by either
      using the command-line argument -v or by opening the About window.
    - Possible values are "1" (enable the check) and "0" (disable it).
    - Default value is "1" (enable the check for new version).

<modules>
  - Child of <ytd>. This section stores provider-specific options.

  <CeskaTelevize_cz>
    - Child of <modules>; contains settings used by Czech television and
      related providers (Port, CT24 etc.).

    <prefer_real_media>
      - Child of <CeskaTelevize_cz>; determines the format of video files
        downloaded from Czech television.
      - Possible values are "0" (use Microsoft's formats) and "1" (use Real
        Media's formats).
      - Default value is "0" (use Microsoft's formats).

<converters>
  - Child of <ytd>. This section defines a list of converters (applications
    called either on user's request or automatically after a successful 
    download).

  <activated>
    - Child of <converters>; serves as a proof that the user read the 
      documentation and thus is aware of the sad fact that for the converters
      to work, they need to be properly set up first.
    - Possible values are "0" (converters are inactive) and "1" (active).
    - Default value is "0" (converters are inactive).

  <selected>
    - Child of <converters>; informs the application which converter should
      be used automatically after a download successfully completes.
    - Possible values: an empty string (no automatic conversion will be run,
      conversions will be only on user's explicit request) or one of the
      values of attribute "id" of <converter> tags (e.g. "test" if an element
      <converter id="tags"> exists).
    - Default value is an empty string (no automatic conversions).

  <max_threads>
    - Child of <converters>; defines, how many automatic conversion tasks
      may run at the same time. Recommended value is 1 (all conversion tasks
      will run sequentially, one at a time); if you decide to increase it,
      it is strongly recommended to keep it at most equal to the number of
      CPU cores in your computer.
    - Any integer (non-fractional) number is possible here. Zero (or lower)
      prevent automatic conversions from running.
    - Default value is 1.

  <converter>
    - Child of <converters>; you may provide any number of these elements,
      each will define one converter. Each converter should have attribute
      "id" with a unique value which will represent it in <selected>.

    <title>
      - Child of <converter>; a converter's description, will be shown to
        the user in all dialogs which show a converter list.
      - Any string is possible here. It is recommended that title is kept
        short and easy to understand, while descriptive.
      - Default value is an empty string (which is useless, of course).

    <exe_path>
      - Child of <converter>; provides a filename (and path, if required)
        of an executable program or script which should be run. Path may
        be omitted if the executable is located in YouTube Downloader's
        directory or in PATH.
      - Any valid filename is permitted here. If it contains spaces, DO NOT
        quote it, just leave it as is.
      - Default value is an empty string.

    <command_line>
      - Child of <converter>; defines command-line arguments which will be
        passed to the application defined in <exe_path>. You may use several
        special symbols which will be replaced by specific parameters of a
        movie being converted:

          {$FULLPATH} .... Full path to movie
          {$FILENAME} .... Just filename without path
          {$FILEPATH} .... Just path without filename
          {$FILEEXT} ..... Just file extension, including the leading dot
          {$FILENOEXT} ... Just filename without path and extension
          {$TITLE} ....... Title of the movie (may be used for tagging, f.e.)

      - Any string is permitted here.
      - Default value is an empty string.

    <visibility>
      - Child of <converter>; defines whether the converter's window will be
        visible to the user.
      - Possible values are "visible" (normal execution), "minimized" (the
        converter will run normally, but its window will be minimized on
        startup) and "hidden" (the converter will run, but its window will
        be hidden and inaccessible to the user).
      - Default value is "minimized".



SYNTAX
------

  ytd.exe <param> [<param>] [<param>] ...

  where <param> is either an URL or one of the following:

    -?, -h ........ Show help.
    -i <file> ..... Downloads all URLs listed in the text file <file>, where
                    each line represents one URL.
    -o <dir> ...... Downloaded files will be stored in directory <dir>. If this
                    option is not used, the current working directory will be
                    used.
    -e <file> ..... Log all failed downloads to file <file>.
    -s <source> ... <source> (local file or URL) is searched for known URLs and
                    these will be downloaded.
    -l ............ Displays a list of supported media providers.
    -v ............ Checks for availability of a newer version of YTD.
    -n ............ Never overwrite existing files. Skip the download instead.
    -a ............ Always overwrite existing files.
    -r ............ If a file with matching filename already exists, generate
                    a new unique filename.
    -k ............ Ask the user what to do if a file already exists (default).

  Ex.: ytd.exe "http://www.youtube.com/watch?v=6wXkI4t7nuc"
       ytd.exe -i c:\temp\seznam.txt
       ytd.exe -a "http://www.youtube.com/watch?v=6wXkI4t7nuc"

  If no arguments are provided, the graphical version of YTD is started.



RESULT CODES
------------

The command-line version supports result codes (errorlevel). Possible values
are:

  0 ..... All operations succeeded.
          Note! In case of multidownloads (downloading from a playlist, list
          file or a HTML source), it is enough if any one of the URLs was
          successfully downloaded. If you depend on errorlevels, it is
          strongly recommended to only download one URL at a time.
  1 ..... Download error in any URL.
  2 ..... No known URLs were found among the arguments.
  3 ..... Invalid syntax. Generally, it means either an unknown argument, or 
          a known argument but without a required parametr (e.g. in case of
          argument -i, see above).
  4 ..... Invalid content of a parameter. A required parameter was provided,
          but its content was somehow invalid (file didn't exist, list file
          didn't contain any URLs etc.).
  254 ... User abort.
  255 ... Exception was raised. As all exceptions should be handled, this code
          indicates a bug in YouTube Downloader.



LOCALIZATION
------------

YouTube Downloader uses GNU GetText for its localization needs. If you are
experienced with GetText, you can start translating right away. If you have
no experience with GetText, don't worry - it is easy enough to learn it. The
only problem will be finding a good tutorial - I have yet to find one that
doesn't require "experience with GetText" as one of its prerequisites... But
with a good tool such as POEdit (http://www.poedit.net) you can learn GetText
as you go along.

For translations, you will need the untranslated "default.pot" file. It is
located in "Source\Locale" directory. Using POEdit, or any other tool (even
Notepad, though that one's use is far from comfortable), you can translate
all language-specific strings in YouTube Downloader. Then you will need to
compile the "default.po" file into "default.mo" (POEdit can do it for you).
Once this is done, simply copy the "default.mo" file into its destination
directory "(exe)\Locale\(language)\LC_MESSAGES":
   - "(exe)" is the directory where "ytd.exe" is stored.
   - "(language)" is a subdirectory named after the two-letter ISO code of
     your translation's language (e.g. "en" for English or "de" for German).

Unless your Windows' locale is set for that language, you will need to
override the "Language" option in the INI file (see above).

I would appreciate if you could send me your translation (both "default.mo"
and "default.po" files) for inclusion in future versions of YouTube Downloader.



SUPPORT
-------

Support is provided at:

- Pepak Forum: 
  http://forum.pepak.net
- YouTube Downloader page: 
  http://www.pepak.net/download/youtube-downloader/
- YouTube Downloader Support page: 
  http://www.pepak.net/download/youtube-downloader-podpora/



LICENSE
-------

YouTube Downloader is published under the new BSD license. You can read the
full terms and conditions in file DOC/LICENSE.TXT.

If you need to use a different license in your derived program, contact me.

Third-party components, located in the SOURCE/LIB directory, are governed
by their own respective licenses. For this reason can't YouTube Downloader
be released under GNU GPL (any version), nor can be derived works!

Used libraries and their licenses:

- DxGetText
  - authors: Lars B. Dybdahl, Peter Thrnqvist
  - source: http://dxgettext.po.dk/
  - license: custom, freeware
  - description: Support for internationalization

- MSDL
  - author: Jun "metro" Oyama (me_t_ro@yahoo.com)
  - source: http://msdl.sourceforge.net/
  - license: GNU GPL v3
  - description: Tool for downloading MMS, RTSP and related protocols

- MSDL_DLL
  - author: Pepak
  - source: http://www.pepak.net/download/youtube-downloader/
  - license: GNU GPL v3
  - description: MSDL modified to the form of a DLL

- NativeXml
  - author: Nils Haeck
  - source: http://www.simdesign.nl/xml.html
  - license: custom, freeware
  - XML support

- PerlRegEx
  - author: Jan Goyvaerts
  - source: http://www.regular-expressions.info/delphi.html
  - license: Mozilla Public License 1.1
  - description: Regular expressions support

- RTMPDUMP
  - autoi: Andrej Stepanchuk, Howard Chu
  - source: http://rtmpdump.mplayerhq.hu/
  - license: GNU GPL v2
  - description: Tool for ddownloading RTMP and related protocols

- RTMPDUMP_DLL
  - author: Pepak
  - source: http://www.pepak.net/download/youtube-downloader/
  - license: GNU GPL v2
  - description: RTMPDUMP modified to the form of a DLL

- Silk Icon Pack
  - author: Mark James
  - source: http://www.famfamfam.com/lab/icons/silk/
  - license: Creative Common Attribution 2.5
  - description: Icons used in the GUI version of YouTube Downloader

- Synapse
  - author: Luk Gebauer
  - source: http://synapse.ararat.cz/
  - license: custom, freeware
  - description: Support for TCP/IP, HTTP and other common protocols

Translations:

- Slovak: Vladimr Kubala (kubalav@gmail.com), 2010-08-26
