______________________________________________________________________________

YouTube Downloader v0.83                                     (c) 2009-11 Pepak
http://www.pepak.net/download/youtube-downloader/         http://www.pepak.net
______________________________________________________________________________

Nstroj pro stahovn videa z YouTube a dalch webovch loi videa. Funguje 
z pkazov dky, odkud pijme libovoln poet URL ke staen, ppadn
soubor se seznamem URL. Soubory ukld pod nzev z YouTube, preferuje
HD video, pokud je k dispozici.



PODPOROVAN WEBY
----------------

Seznam podporovanch web vetn ukzkovch URL a ppadnch poznmek naleznete
v souboru providers.txt.



PROTOKOL HTTPS
--------------

Pro podporu protokolu HTTPS (pouv ho nap. RockStarGames.tv) je vyadovno,
aby byly ve vaich Windows nainstalovan OpenSSL knihovny (CRYPTOEAY32.DLL, 
SSLEAY32.DLL), nejlpe ve verzi 0.98. Mete je sthnout na strnkch projektu
OpenSSL (http://www.openssl.org).



PROTOKOL RTMP
-------------

Od verze 0.15 program zahrnuje podporu pro streamovan video podle protokolu
RTMP. Protokol je implementovn pomoc knihovny vznikl drobnou pravou 
projektu RTMPDUMP (http://rtmpdump.mplayerhq.hu). Tato implementace m adu
nedostatk, se ktermi je teba potat:

1) Neum pesn urit celkovou velikost videa. Velikost je odhadovna na
   zklad dosud staen velikosti, dosud staenho asu a celkovho asu
   videa.

2) Z knihovny nejsou do Downloaderu pedvny informace o chybch. Msto
   toho je v TEMP adresi uivatele generovn klasick log projektu RTMPDUMP,
   ve kterm lze piny ppadnch chyb dohledat.

3) Aby lo stahovat z RTMP stream, jsou vyadovny nsledujc DLL knihovny:
   - RTMPDUMP_DLL.DLL - je soust YTD.
   - CRYPTOEAY32-0.9.8.DLL - soust OpenSSL verze 0.9.8. V OpenSSL me bt
       pojmenovna i CRYPTOEAY32.DLL.
   - SSLEAY32-0.9.8.DLL - soust OpenSSL. Alternativn jmno SSLEAY32.DLL.

4) Nelze stoprocentn detekovat, zda bylo video staeno kompletn.

Od verze 0.78 lze pmo stahovat URL zaloen na protokolu RTMP - mete tedy
do programu vloit adresy jako "rtmp://iconcerts.infomaniak.ch/icpreview/mp4:trk-09-black_kids_nme_awards_shows-001_site_16-9-2500.mp4".
Poadavkem ovem je, aby pslunmu serveru staila ke sputn videa prv
jenom adresa (a nebyly vyadovny dodaten parametry) - v takovm ppad
YTD pout nelze.



PROTOKOLY MMS/RTSP
------------------

Od verze 0.17 je podporovna rodina protokol kolem MMS a RTSP (mimo jin
Microsoft streamy, Real streamy a ada dalch). Protokol je implementovn
pomoc knihovny vznikl drobnou pravou projektu MSDL (http://msdl.sf.net/).
Potejte s tm, e clem bylo mt pravu hotovou rychle a s minimem zmn
v pvodnm projektu (podobn jako u podpory RTMP ve), take jsem spoustu
monch variant prost ignoroval; a je budu potebovat, rozm pslun
pravy MSDL.

Pozn.: Celkov velikost stahovanho streamu je jen odhad, kter nemus bt
pln pesn. Klidn se me stt, e penos skon v 93 % a pesto se
ohls jako spn - a pehrnm skuten zjistte, e stream je staen
kompletn.

Od verze 0.78 lze pmo stahovat URL zaloen na protokolu MMS - mete tedy
do programu vloit adresy jako "mms://netshow.play.cz/proglas/audio_15681.wma".
Poadavkem ovem je, aby pslunmu serveru staila ke sputn videa prv
jenom adresa (a nebyly vyadovny dodaten parametry) - v takovm ppad
YTD pout nelze.



PLAYLISTY
---------

Od verze 0.19 jsou podporovny zdroje, ve kterch je jeden poad tvoen
nkolika samostatnmi medilnmi soubory (nap. Markiza.sk). YouTube
Downloader momentln neumouje vybrat, kter ze soubor se sthnou a
kter ne - stahuj se vdy vechny.



KONVERZE STHNUTCH SOUBOR
---------------------------

Od verze 0.50 podporuje YouTube Downloader funkci, kter do jist mry
umouje konvertovat sthnut soubory do jinch formt - nabz rozhran,
pomoc kterho lze po dokonen downloadu nebo po kliknutm na pslun
tlatko v grafickm prosted spustit extern aplikaci a pedat j jmno
sthnutho souboru (a ppadn dal parametry). Tato extern aplikace pak
me udlat cokoliv, vetn konverze do jinho formtu. 

Pokud smaete konfiguran soubor a spustte YouTube Downloader v grafickm
reimu, vytvo standardn konfiguran soubor, kde jsou nadefinovny ti 
zkladn konverze, vyuvajc program MEncoder (soust projektu MPlayer, 
domovsk strnka http://www.mplayerhq.hu) pro

a) pevod videa do kontejneru AVI. Tato funkce je velmi rychl a nedochz
   pi n ke zmn kvality, nemus ale fungovat pro vechny vstupn formty
   (nap. pro mnoho soubor .FLV, ne-li pro vechny) a hlavn zmn jenom
   kontejner, ale ne obsah, take pro pehrn stle potebujete kodeky,
   kter byly poteba pro pvodn video. Vznam konverze je vcemn omezen
   jen na programy, kter nepodporuj jin kontejnery ne AVI.

b) konverzi videa do kontejneru AVI s kodekem XVID+MP3. Zde u jde o plnou
   rekompresi, s vlastnostmi v zsad opanmi ne u pevodu kontejneru -
   je to pomal a dochz ke ztrt kvality, ale funguje to pro (skoro)
   vechny vstupn soubory a vsledek pak pehrajete v kadm pehrvai,
   pokud ovem podporuje kodek XVID (to u jsou dnes snad vechny).

c) konverzi videa do kontejneru AVI s kodekem H264+MP3. Plat to sam co pro
   pedchoz ppad.

Pro vechny ti varianty jsou nastaveny njak zkladn parametry, ovem 
zdrazuji, e moje zkuenosti s konverzemi jsou miziv a tud ty parametry
s jistotou nebudou optimln. Nebute tedy pekvapeni dosaenmi vsledky.
Pokud se najde njak expert ochotn moje nastaven zoptimalizovat, budu jen
rd.

Co potebujete udlat pro to, aby konverze chodily:

1. Sthnout si a nainstalovat kompletn MPlayer (obsahuje i MEncoder.exe).

2. MEncoder.exe zkoprovat do adrese v PATH nebo do adrese, kde je
   nainstalovan YouTube Downloader.

3. Aktivovat konvertovn. Slou k tomu nastaven <converters><activated>,
   kter je standardn nastaveno na hodnotu 0 (nula) a kter muste pepsat
   na hodnotu 1. Konfiguran soubor zobrazte pmo z programu tlatkem
   "Upravit konfiguran soubor", pak v nm najdte "<activated>" (bez 
   uvozovek) a pepite nulu za nm na jedniku.

4. a) Pokud chcete automaticky zkonvertovat vechny soubory:

      V grafickm prosted kliknout na ikonku "Vybrat konvertova" (film s
      tukou) a vybrat si jeden z pednastavench konvertova. Od t chvle
      budou vechny nov staen soubory pedhozeny tomuto konvertovai
      (ve vchozm stavu jeden po druhm, program je nastaven tak, aby 
      v jednu chvli automaticky bel jen jeden konverzn proces).

   b) Pokud chcete zkonvertovat jen soubory, kter sm urte:

      V grafickm prosted vybrat jeden nebo vce soubor a kliknout na
      ikonu "Zkonvertovat" (film se zelenou ipkou). Konverze bude sputna
      pro vechny zvolen filmy, bez ohledu na to, kolik jich je a jestli
      byly spn dokoneny.

Pokroil uivatel mohou zsahem do konfigurace zmnit nastaven tchto
loh nebo pidat lohy pln nov. Pokud vm nevyhovuje MEncoder, mete
pout jin program - a nemuste se vbec omezovat na programy pro konverzi
videa, funkce je napsna natolik obecn, abyste mohli teba spustit njak
BAT skript nebo video nkomu poslat mailem. Popis dostupnch nastaven je
uveden ne v sekci Konfigurace.

Ve verzi spoutn z pkazovho dku tato funkce podporovna nen - tuto
verzi je mon skriptovat "samu od sebe" a m pipad zbyten zavdt
duplicitn funkci, kter pinese jen zven riziko chyb a dnou skutenou
vhodu.



KONFIGURACE
-----------

Od verze 0.50 pouv YouTube Downloader pro svoji konfiguraci XML soubor
"ytd.xml". Umstn me bt ve tech mstech:

1) Aktuln pracovn adres. Toto je primrn umstn.

2) Adres, ve kterm je YTD.exe. Toto umstn se pouije, pokud v pracovnm
   adresi konfiguran soubor neexistuje a v adresi YTD ano.

3) Adres "YouTube Downloader" v uivatelskm profilu Windows (%APPDATA%).
   Toto umstn se zkoum v ppad, e primrn XML soubor neexistuje
   nebo e je v nm pro aplikaci vypnut penositeln (portable) reim.

Konfiguran parametry jsou vdy ukldny jako obsahy XML tag. V souladu
s XML standardem jsou nzvy tag citliv na velikost psmen (case-sensitive);
jejich obsahy obecn citliv nejsou (case-insensitive), ale je vhodn pouvat
v nich jen mal psmena. Logick hodnoty (ano-ne) jsou ukldny jako "1" (ano)
a "0" (ne).

<ytd> 
  - Koenov prvek; jeho nzev me bt v zsad libovoln, program to (zatm) 
    nekontroluje. Obsahuje vechna nastaven.

<config>
  - Potomek <ytd>; obsahuje zkladn konfiguraci spolenou pro grafickou i 
    textovou verzi programu.

  <portable_mode>
    - Potomek <config>; obsahuje logickou hodnotu urujc, jestli YTD pracuje
      v penositelnm (portable) nebo standardnm reimu. Ani jeden z reim
      nezapisuje do registru Windows, li se vak tm, do kterho XML souboru
      jsou ukldna uivatelsk nastaven: v portable reimu se zapisuj do 
      souboru "ytd.xml" v adresi, ve kterm je program nahrn (a kde tedy 
      mus bt prvo zpisu, pokud se m konfigurace ukldat spn), ve 
      standardnm reimu se ukldaj do "ytd.xml" v uivatelskm profilu (kde 
      je za bnch okolnost prvo zpisu vdy).
    - Mon hodnoty jsou "1" (zapnout portable reim) a "0" (vypnout).
    - Vchoz hodnota je "0".

  <language>
    - Potomek <config>; uruje, jak jazyk m bt pouit pro zobrazen text
      programu. 
    - Monmi hodnotami jsou dvouznakov ISO kdy jazyk, viz sekce Lokalizace
      ne. Povolen je i przdn etzec, kter zna jazyk podle nastaven
      operanho systmu.
    - Vchoz hodnota je przdn etzec (jazyk podle nastaven OS).
    - Pozor: V distribunm archvu jsou k dispozici jazykov soubory jen pro
      etinu ("cs") a anglitinu ("en"); dal jazyky ekaj na to, a je 
      nkdo pelo.

  <destination_path>
    - Potomek <config>; uruje, do kterho adrese se maj videa ukldat.
    - Monou hodnotou je bu przdn etzec (zna aktuln pracovn adres,
      co je obvykle adres, ze kterho byl program sputn), nebo libovoln
      platn cesta, absolutn ("c:\download") i relativn ("..\downoad").
      V ppad portable verze doporuuji vyhnout se absolutnm cestm a 
      pouvat bu przdn etzec nebo cestu relativn,
    - Vchoz hodnota je przdn etzec (aktuln pracovn adres).
    - Odpovd parametru -o na pkazov dce.

  <error_log>
    - Potomek <config>; uruje, do kterho souboru se bude ukldat seznam URL,
      kter se z njakho dvodu nepodailo sthnout.
    - Monou hodnotou je bu przdn etzec (k, e se seznam chybnch URL
      ukldat nebude) nebo cesta k souboru.
    - Vchoz hodnota je przdn etzec (neukldat seznam chyb).
    - Grafick verze programu tuto poloku nepouv.
    - Odpovd parametru -e na pkazov dce.

  <overwrite_mode>
    - Potomek <config>; k, jak se m program zachovat v ppad, e pi
      ukldn videa naraz na existujc soubor.
    - Mon hodnoty jsou:
        "ask" - zeptat se uivatele na akci.
        "never" - peskoit soubor (pedpoklad: u byl staen dve).
        "always" - pepsat soubor (pedpoklad: pedchoz verze je chybn).
        "rename" - pojmenovat nov soubor tak, aby ml jedinen jmno
                   (pedpoklad: pvodn soubor je jin ne ten, co stahuji 
                   te).
    - Vchoz hodnota je "ask" (zeptat se uivatele).
    - Odpovd parametrm -k (ask), -n (never), -a (always), -r (rename) na
      pkazov dce.

  <auto_try_html_parser>
    - Potomek <config>; zapn nebo vypn podporu pro automatick pouit 
      HTML parseru na neznm URL - tzn. YTD naped zkus, jestli jde o znmou 
      adresu, a kdy ne, sthne ji jako HTML soubor a v nm zkus vyhledat
      znm adresy (jako parametr -s). Tm je zajitna podpora pro servery
      jako Zive.cz nebo Vlaky,net, kter sv videa ukldaj na ciz servery.
    - Mon hodnoty jsou "1" (povolit automatick pouit HTML parseru)
      nebo "0" (zakzat).
    - Vchoz hodnota je "1" (povolit automatick pouit HTML parseru).
    - Odpovd parametrm -ah (povolit), -ah- (zakzat) na pkazov dce.

  <subtitle_support>
    - Potomek <config>; umouje vypnout podporu titulk v cel aplikaci.
    - Mon hodnoty jsou "1" (povolit stahovn titulk) nebo "0" (zakzat).
    - Vchoz hodnota je "1" (povolit stahovn titulk).

  <proxy_server>
    - Potomek <config>; umouje nastavit proxy server pro vai s. Proxy 
      server je v souasn dob podporovn a oven pro protokoly HTTP a 
      MMS/RTSP. V ppad protokolu RTMP se mi nepodailo funknost ovit.

    <active>
      - Potomek <proxy_server>; k, jestli je proxy server aktivn (bude
        se pouvat) nebo neaktivn.
      - Mon hodnoty jsou "1" (pouvat proxy) a "0" (nepouvat proxy).
      - Vchoz hodnota je "0" (nepouvat proxy).

    <host>
      - Potomek <proxy_server>; uruje adresu, na kter proxy server ek.
      - Mon hodnoty: przdn etzec (nepouvat proxy) nebo libovoln
        ppustn internetov adresa (seln nebo domnov jmno).
      - Vchoz hodnota je przdn etzec (nepouvat proxy).

    <port>
      - Potomek <proxy_server>; uruje port, na kterm proxy server ek.
      - Mon hodnoty: sla od 1 do 65535. Bn jsou hodnoty 3128, 8080.
      - Vchoz hodnota je 3128.

    <user>
      - Potomek <proxy_server>; uruje uivatelsk jmno, kterm se svmu
        proxy serveru pihlaujete. Podporovno je pouze pro protokol HTTP
        a jeho funknost nen ovena.
      - Monou hodnotou je libovoln platn uivatelsk jmno nebo przdn
        etzec (autorizace se nepouv).
      - Vchoz hodnotou je przdn etzec (autorizace se nepouv).

    <password>
      - Potomek <proxy_server>; uruje heslo pro pihlen k proxy serveru.
      - Monou hodnotou je jakkoliv etzec.
      - Vchoz hodnotou je przdn etzec (bez hesla).

<gui>
  - Potomek <ytd>; obsahuje nastaven specifick pro grafickou verzi programu.
    Za normlnch okolnost tyto daje nemnte run, ale nap. kliknm na
    tlatka a podobn.

  <auto_start_downloads>
    - Potomek <gui>; k, jestli se maj nov pidan odkazy automaticky
      spoutt nebo jestli si je spustte sami run tlatkem Start.
    - Mon hodnoty jsou "1" (spoutt automaticky) a "0" (pokat na dost
      uivatele).
    - Vchoz hodnotou je "1" (spoutt automaticky).

  <check_for_new_version>
    - Potomek <gui>; uruje, jestli se m program pi sputn grafick verze
      pokusit o zjitn dostupnosti novjch verz. I v ppad, e test
      zakete, me program novou verzi zjistit, ale jen na vydn - bu 
      parametrem -v na pkazovm dku nebo tm, e otevete okno "O 
      aplikaci".
    - Mon hodnoty jsou "1" (zjiovat verze) a "0" (nezjiovat).
    - Vchoz hodnotou je "1" (testovat novou verzi).

  <monitor_clipboard>
    - Potomek <gui>; uruje, jestli m program sledovat zmny ve schrnce
      (clipboardu) a automaticky zaazovat znm URL do seznamu ke staen.
    - Mon hodnoty jsou "1" (sledovat zmny) a "0" (nesledovat).
    - Vchoz hodnotou je "0" (nesledovat zmny ve schrnce).

<modules>
  - Potomek <ytd>. V tto sekci se nachzej specifick nastaven pro 
    jednotliv poskytovatele.

  <CeskaTelevize_cz>
    - Potomek <modules>; obsahuje nastaven pro eskou televizi a odvozen
      odkazy (Port, T24 atd.).

    <prefer_real_media>
      - Potomek <CeskaTelevize_cz>; uruje, ve kterm formtu se bude video
        stahovat.
      - Mon hodnoty jsou "0" (pouvat formty Microsoftu) a "1" (pouvat
        formty Real Media).
      - Vchoz hodnotou je "0" (stahovat ve formtech Microsoft).

    <live_stream>
      - Potomek <CeskaTelevize_cz>; uruje, jestli se video stream stahuje
        jako iv video nebo jako soubor. Hlavn rozdl je v tom, e soubor
        se stahuje mnohem rychleji, ale kvli podivn implementaci T flashe
        se pak ned pehrt. iv stream se stahuje pomaleji, ale podle ohlas
        je s nm pak mn problm.
      - Mon hodnoty jsou "0" (stahovat jako soubor) a "1" (iv video).
      - Vchoz hodnotou je "1" (stahovat jako iv video).

  <Nova_cz>
    - Potomek <modules>; obsahuje nastaven pro TV Nova.

    <low_quality>
      - Potomek <Nova_cz>; uruje, jestli se m video stahovat v nzk kvalit
        msto standardn vysok. Dvod je ten, e nkter videa (k 24.3.2011
        nap. "Ordinace v rov zahrad 2 - dl 250") nejsou ve vysok kvalit
        k dispozici a YTD nem anci toto spolehliv zjistit.
      - Mon hodnoty jsou "0" (vysok kvalitu) a "1" (nzk kvalita).
      - Vchoz hodnotou je "0" (vysok kvalita).

  <VideaCesky_cz>
    - Potomek <modules>; obsahuje nastaven pro YouTube.

    <convert_subtitles>
      - Potomek <VideaCesky_cz>; k, jestli se titulky maj nebo nemaj
        konvertovat z formtu VideaCesky.cz do formtu .srt.
      - Mon hodnoty jsou "1" (povolit konverzi) nebo "0" (zakzat).
      - Vchoz hodnota je "1" (povolit konverzi).

  <YouTube_com>
    - Potomek <modules>; obsahuje nastaven pro YouTube.

    <max_video_width>
      - Potomek <YouTube_com>; uruje maximln horizontln rozlien videa,
        kter se me stahovat. Videa s vym rozlienm budou ignorovna.
      - Monou hodnotou je libovoln cel slo. Pokud je toto slo zporn
        nebo nula, budou se stahovat videa s libovolnm rozlienm.
      - Vchoz hodnotou je "0" (neomezovat rozlien).

    <max_video_height>
      - Potomek <YouTube_com>; uruje maximln vertikln rozlien videa,
        kter se me stahovat. Videa s vym rozlienm budou ignorovna.
      - Monou hodnotou je libovoln cel slo. Pokud je toto slo zporn
        nebo nula, budou se stahovat videa s libovolnm rozlienm.
      - Vchoz hodnotou je "0" (neomezovat rozlien).

    <preferred_languages>
      - Potomek <YouTube_com>; uruje preferovan jazyky pro stahovn titulk
        a jejich prioritu. Pokud jsou v nm k dispozici, stahuj se titulky 
        z nejvce preferovanho (prvnho v poad) jazyka, jinak z druhho,
        atd., a pokud neuspje dn preferovan jazyk, sthnou se prvn
        dostupn titulky bez ohledu na jazyk.
      - Oekv se hodnota ve tvaru "jazyk1,jazyk2,jazyk3" - tzn. etzec
        zkratek jazyk oddlench rkou (pouze rkou, bez mezer!). Zkratky
        jsou pravdpodobn ve formtu ISO, oveno je "cs" pro etinu a "en"
        pro anglitinu. Pkladem tedy me bt hodnota "cs,en".
      - Vchoz hodnotou je "en" (preferovat titulky v anglitin).

    <convert_subtitles>
      - Potomek <YouTube_com>; k, jestli se titulky maj nebo nemaj
        konvertovat z formtu YouTube do formtu .srt.
      - Mon hodnoty jsou "1" (povolit konverzi) nebo "0" (zakzat).
      - Vchoz hodnota je "1" (povolit konverzi).

  - Vichni poskytovatel maj nsledujc nastaven:

   <subtitle_support>
     - Potomek konkrtnho poskytovatele; umouje vypnout podporu titulk 
       pro tohoto konkrtnho poskytovatele.
     - Mon hodnoty jsou "1" (povolit stahovn titulk) nebo "0" (zakzat).
     - Vchoz hodnota je "1" (povolit stahovn titulk).

<converters>
  - Potomek <ytd>. V tto sekci jsou nadefinovny parametry jednotlivch 
    konvertova (aplikac volanch funkc Konverze nebo automaticky po
    sthnut filmu).

  <activated>
    - Potomek <converters>; slou programu jako dkaz, e uivatel etl 
      dokumentaci a je si tud vdom toho, e konvertovn nebude fungovat
      samo od sebe, ale je teba ho naped vhodnm zpsobem nastavit.
    - Mon hodnoty jsou "0" (konvertery nejsou aktivovny) a "1" (jsou).
    - Vchoz hodnotou je "0" (konvertory nejsou aktivovny).

  <selected>
    - Potomek <converters>; uruje, kter konvertova se m automaticky pout
      pro vechny sthnut filmy.
    - Mon hodnoty jsou przdn etzec (automatick konverze se nebude
      provdt) nebo nkter hodnota atributu "id" poloek <converter> (viz
      dle).
    - Vchoz hodnotou je przdn etzec (neprovdt automatick konverze).

  <max_threads>
    - Potomek <converters>; uruje, maximln kolik automatickch konverznch 
      loh sm soubn probhat. Doporuuji nechat zde hodnotu 1, a pokud u
      ji budete zvyovat, nezvyujte ji nad poet procesor ve vaem potai.
      I to me bt pli, pokud chcete mt rychlou odezvu systmu.
    - Mon hodnoty jsou sla od nuly ve, piem nula vypn automatick
      konverze.
    - Vchoz hodnotou je 1.

  <converter>
    - Potomek <converters>; kad vskyt tto poloky definuje jeden konkrtn 
      konvertova. Kad konvertova mus mt atribut "id" s njakou jedinenou 
      hodnotou, kter bude pouita do <selected>.

    <title>
      - Potomek <converter>; obsahuje nzev, kter se bude zobrazovat uivateli
        ve formuli pro vbr konvertovae.
      - Monou hodnotou je libovoln etzec. Program sm s nm nijak nepracuje,
        jen ho zobrazuje uivateli, proto je vhodn zvolit nco popisnho.
      - Vchoz hodnotou je przdn etzec.

    <exe_path>
      - Potomek <converter>; uruje nzev programu nebo skriptu, kter se m 
        spustit. Pokud nen program v PATH nebo v adresi YouTube Downloaderu,
        mus zde bt uvedena cel cesta.
      - Monou hodnotou je libovoln cesta, me obsahovat i mezery (v takovm
        ppad ji NEDVEJTE do uvozovek).
      - Vchoz hodnotou je przdn etzec.

    <command_line>
      - Potomek <converter>; obsahuje pkazovou dku, kter bude programu
        pedna. Krom pevnch parametr (nap. -ovc copy -oac copy) zde mohou
        bt i promnn, kter YouTube Downloader nahrad skutenmi daji.
        Jsou to:

          {$FULLPATH} .... cel cesta k souboru
          {$FILENAME} .... pouze nzev souboru bez cesty
          {$FILEPATH} .... jen adres souboru (cesta souboru bez nzvu)
          {$FILEEXT} ..... ppona souboru, vetn teky
          {$FILENOEXT} ... nzev souboru bez cesty a bez ppony
          {$TITLE} ....... nzev filmu (nap. pro ely tagovn)


      - Monou hodnotou je libovoln etzec, i przdn.
      - Vchoz hodnotou je przdn etzec.

    <visibility>
      - Potomek <converter>; uruje, jak se m konvertova spoutt.
      - Mon hodnoty jsou "visible" (standardn sputn), "minimized"
        (konvertova se spust normln, ale jeho okno bude minimalizovno)
        a "hidden" (konvertova se spust neviditeln).
      - Vchoz hodnota je "minimized".



SYNTAXE
-------

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

  kde <param> je bu URL, nebo jedna z nsledujcch monost:

    -?, -h ........ Zobraz npovdu.
    -i <soubor> ... Sthne vechna URL z textovho souboru <soubor>, kde
                    kad dek reprezentuje jednu URL.
    -o <cesta> .... Soubory se budou stahovat do adrese <cesta>. Vchoz
                    hodnotou je aktuln pracovn adres.
    -e <soubor> ... Do souboru <soubor> se budou zapisovat vechny downloady,
                    kter skonily chybou.
    -s <zdroj> .... <zdroj> (soubor nebo URL) se prohled na podporovan
                    odkazy a ty nalezen se sthnou.
    -l ............ Zobraz seznam podporovanch poskytovatel mdi.
    -v ............ Zkontroluje dostupnost novj verze programu.
    -n ............ Nikdy nepepisovat existujc soubory.
    -a ............ Vdy pepsat existujc soubory.
    -r ............ Pokud soubor se stejnm nzvem existuje, automaticky
                    vygenerovat nov nzev, kter u bude jedinen.
    -k ............ Pokud soubor existuje, zeptat se uivatele (vchoz).

  Nap.: 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"

  Pokud nejsou uvedeny parametry, spust se grafick verze programu.



NVRATOV KDY
--------------

Verze pro pkazov dek podporuje nvratov kdy (errorlevel). Mon hodnoty
jsou:

  0 ..... Operace a vechny downloady probhly spn. 
          Pozor! V ppad stahovn z playlistu nebo ze souboru s URL sta,
          aby se spn sthnul libovoln odkaz. Pokud chcete vyuvat 
          nvratov kdy, je vhodn stahovat vdy jen jeden soubor a pro vce
          soubor zavolat vckrt YouTube Downloader.
  1 ..... Chyba pi ktermkoliv downloadu.
  2 ..... Nebyly nalezeny dn pouiteln URL.
  3 ..... Neplatn syntaxe. Byl uveden neznm parametr nebo nebyla uvedena
          povinn hodnota parametru (nap. pro parametr -i, viz ve).
  4 ..... Chybn obsah parametru. Chyba je vyvolna u parametr s povinnou
          hodnotou, pokud sice hodnota je zadna, ale jej obsah nen oekvn
          - nap. pokud za parametru -i zadte nzev neexistujcho souboru).
  254 ... Aplikace byla peruena z popudu uivatele.
  255 ... V aplikaci dolo k vjimce, tzn. chyba v programu.



LOKALIZACE
----------

Pro lokalizaci pouv YouTube Downloader GNU GetText. Pro ppadn zjemce
to znamen, e pokud GetText znte, mete se okamit pustit do tvorby novho
pekladu. Pokud zatm GetText neznte, doporuuji se s nm seznmit, protoe
jde o jeden z nejrozenjch lokalizanch nstroj. Jedin problm je,
najt njak srozumiteln nvod - ty, co jsem nael, jsou vesms dost obtn
iteln, pokud u dopedu nevte, o co v GetTextu jde. Ale s vhodnm nstrojem,
jako je nap. POEdit (http://www.poedit.net/), se to d zvldnout za pochodu.

Pro pekldn budete potebovat soubor "default.pot", kter obsahuje zkladn
(nepeloen) texty. Najdete ho v adresi "Source\Locale". Pomoc POEditu nebo
jinho nstroje (klidn si vystate i s Notepadem, akort to bude nepohodln)
ho ulote do souboru "default.po" (.pot je vzor, .po je pracovn soubor) ,
v nm jednotliv texty pelote a hotov peklad pak zkompilujete do souboru
"default.mo". Tento soubor pak ulote do adrese "(exe)\Locale\(jazyk)\LC_MESSAGES",
kde:
   - "(exe)" je adres, ve kterm je uloen "ytd.exe"
   - "(jazyk)" je adres pojmenovan podle dvouznakov ISO zkratky jazyka;
     pro etinu to je "cs", pro anglitinu "en", dal si mete dohledat na
     Wikipedii: http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes

Pokud jde o jazyk, pro kter jsou nastavena vae Windows, ml by se pout
automaticky pi ptm sputn YTD. Ppadn si mete vynutit pouit
tohoto jazyka pomoc nastaven "Language" v INI souboru (viz ve).

Pokud mi svj peklad polete (budu potebovat oba soubory, "default.mo"
i "default.po"), rd ho zaadm do budoucch verz YouTube Downloaderu.



PODPORA
-------

Podporu naleznete na nsledujcch strnkch:

- Pepakovo frum: 
  http://forum.pepak.net
- Strnka YouTube Downloader: 
  http://www.pepak.net/download/youtube-downloader/
- Strnka YouTube Downloader - podpora: 
  http://www.pepak.net/download/youtube-downloader-podpora/



KOMPILACE
---------

Na domc strnce programu naleznete i jeho zdrojov kd, kter si mete sami
zkompilovat. Kd je zcela sobstan v tom smyslu, e nevyaduje nainstalovanou
dnou komponentu tetch stran - vysta si s komponentami, kter jsou dodny
ve standardn instalaci pslunho programovacho jazyka. 

Podporovny jsou nsledujc kompiltory:

- Delphi 5.0
- Delphi 2009
- FreePascal

Program by ml jt s minimlnmi pravami zkompilovat i na ostatnch verzch
Delphi od 5.0 ve, protoe ale tyto verze nemm k dispozici, nemohl jsem je
vyzkouet.

Doporuenm zpsobem, jak YouTube Downloader zkompilovat, je skript BUILD.BAT
v adresi SOURCE, kter se postar o vechny zvislosti a specifika 
jednotlivch verz kompiltor (vce o tom ne). Skript pijm (voliteln)
nsledujc parametry:

  -? ............ Zobrazit npovdu.
  -h ............ Zobrazit npovdu.

  -delphi ....... Pro kompilaci pout Delphi (obecnou verzi). Kompiluje se 
                  pkazem DCC32, kter mus bt v cest (PATH).
  -fpc .......... Pro kompilaci pout FreePascal. Kompiluje se pkazem FPC,
                  kter mus bt v cest (PATH).

  -cli .......... Do programu bude zahrnuta command-line verze.
  -nocli ........ Do programu nebude zahrnuta command-line verze.
  -gui .......... Do programu bude zahrnuta grafick verze.
  -nogui ........ Do programu nebude zahrnuta grafick verze.
  -xxx .......... Do programu bude zahrnuta podpora pro porno providery.
  -noxxx ........ Do programu nebude zahrnuta podpora pro porno providery.

  (a nkolik dalch parametr, kter jsou nedokumentovan a nedoporuen)

Pokud chcete YouTube Downloader zkompilovat pmo z Delphi IDE, nap. za elem
ladn, je to tak mon, ale pro kadou verzi Delphi je teba ponkud odlin
nastaven adres v Project Options; Search path se li v nkolika polokch:

- Cesta "lib\pepak\delphi5" MUS bt na prvnm mst v Delphi 5.0 (a podle
  diskus na webu i Delphi 6.0) a NESM bt vbec uvedena ve vych verzch.
- Cesta ke knihovn DxGetText se li podle kompiltoru:
  - Delphi 5.0 - "lib\dxgettext\delphi5"
  - Delphi 2009 - "lib\dxgettext\delphi2009"
  - FreePascal - "lib\dxgettext\fpc"
  - ostatn - bu "lib\dxgettext" (verze mezi 5.0 a 2009) nebo jako Delphi 2009

Pro FreePascal nen podporovno grafick prosted (DEFINE NO_GUI v ytd.inc).



NAPSALI O PROGRAMU
------------------

http://blog.zarohem.cz/clanek.asp?cislo=1605
http://www.grafika.cz/art/vse/youtube_downloader_074.html
http://pctuning.tyden.cz/component/content/article/1-aktualni-zpravy/20761-navod-stahujeme-videa-i-cele-playlisty-nejen-z-youtube
http://technet.idnes.cz/cesky-program-vam-stahne-a-ulozi-videa-z-novy-primy-ct-i-streamu-pwp-/software.aspx?c=A110424_154633_software_dvr
http://streamdownload.okamzite.eu/youtube-downloader-zvladne-i-ceske-televize/



LICENCE
-------

YouTube Downloader je publikovn pod tzv. novou BSD licenc. Jej text 
naleznete v souboru DOC/LICENSE.TXT.

Pokud potebujete program pelicencovat pod jinou licenci, dejte mi vdt.

Komponenty tetch stran, umstn v adresi SOURCE/LIB, se d svmi 
vlastnmi licencemi. Z tohoto dvodu nelze pout licenci GNU GPL (dnou
verzi) ani na YouTube Downloader, ani na odvozen programy!

Knihovny a jejich licence:

- DxGetText
  - autoi: Lars B. Dybdahl, Peter Thrnqvist
  - zdroj: http://dxgettext.po.dk/
  - licence: vlastn, freeware
  - popis: Podpora pro lokalizace (dal jazyky) programu

- FastMM
  - autor: Pierre le Riche
  - zdroj: http://fastmm.sourceforge.net/
  - licence: GNU LGPL 2.1 / Mozilla Public License 1.1
  - popis: Rychlej pamov manaer (pouv se jen v DEBUG reimu kvli
           schopnosti odhalit chybn alokace a dealokace pamti).

- lkJSON
  - autor: Leonid Koninin
  - zdroj: http://sourceforge.net/projects/lkjson/files
  - licence: BSD
  - popis: Knihovna pro prci s JSON

- MSDL
  - autor: Jun "metro" Oyama (me_t_ro@yahoo.com)
  - zdroj: http://msdl.sourceforge.net/
  - licence: GNU GPL v3
  - popis: Nstroj pro stahovn protokol MMS, RTSP a jejich variant

- MSDL_DLL
  - autor: Pepak
  - zdroj: http://www.pepak.net/download/youtube-downloader/
  - licence: GNU GPL v3
  - popis: MSDL upraven tak, aby se volalo jako DLL knihovna

- NativeXml
  - autor: Nils Haeck
  - zdroj: http://www.simdesign.nl/xml.html
  - licence: vlastn, freeware
  - Prce s XML

- PerlRegEx
  - autor: Jan Goyvaerts
  - zdroj: http://www.regular-expressions.info/delphi.html
  - licence: Mozilla Public License 1.1
  - popis: Vyhodnocovn regulrnch vraz

- RTMPDUMP
  - autoi: Andrej Stepanchuk, Howard Chu
  - zdroj: http://rtmpdump.mplayerhq.hu/
  - licence: GNU GPL v2
  - popis: Nstroj pro stahovn protokolu RTMP a jeho variant.

- RTMPDUMP_DLL
  - autor: Pepak
  - zdroj: http://www.pepak.net/download/youtube-downloader/
  - licence: GNU GPL v2
  - popis: RTMPDUMP upraven tak, aby se volal jako DLL knihovna

- Silk Icon Pack
  - autor: Mark James
  - zdroj: http://www.famfamfam.com/lab/icons/silk/
  - licence: Creative Common Attribution 2.5
  - popis: Ikonky Silk pouit v grafick verzi programu.

- Synapse
  - autor: Luk Gebauer
  - zdroj: http://synapse.ararat.cz/
  - licence: vlastn, freeware
  - popis: Prce s TCP/IP, HTTP a dalmi sovmi protokoly

Jazykov verze:

- Sloventina: Vladimr Kubala (kubalav@gmail.com).

Grafika:

- Ikonku programu vytvoil uivatel KRYSPIN ze serveru Hofyland.cz.
