______________________________________________________________________________

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

Nástroj pro stahování videa z YouTube a dalších webových úložišť videa. Funguje 
z příkazové řádky, odkud přijme libovolný počet URL ke stažení, případně
soubor se seznamem URL. Soubory ukládá pod název z YouTube, preferuje
HD video, pokud je k dispozici.



PODPOROVANÉ WEBY
----------------

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

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

     Pozn.: Jde o streamovaný formát podle protokolu RTMP. Viz níže.
     Přehrát jde například programem The KMPlayer.

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

 - 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

 - Break.com
     - http://www.break.com/usercontent/2007/10/South-Africa-Win-Rugby-World-Cup-385706.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/

     Pozn.: Jde o streamovaný formát podle protokolu RTSP over HTTP. Viz
     níže v poznámkách ke knihovně MSDL_DLL.DLL.

 - 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

     Pozn.: This provider usesTento poskytovatel používá protokol RTMP. Viz
     poznámky níže.

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

     Pozn.: Jde o videa ve článcích. Je třeba zadat URL videa, ne URL článku.
     Pozn.: Skutečným poskytovatelem je Česká televize a platí proto všechno,
            co pro CeskaTelevize.cz.

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

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

 - 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

 - 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

 - 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

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

     Pozn.: Jde o streamovaný formát podle protokolu RTMP. Viz níže.

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

 - 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

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

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

     Pozn.: Pořady mohou být tvořeny několika různými video soubory.

 - 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

     Pozn.: Skutečným poskytovatelem je Česká televize a platí proto všechno,
            co pro CeskaTelevize.cz.

 - 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

     Pozn.: Jde o streamovaný formát podle protokolu RTMP. Viz níže.

 - 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

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

     Pozn.: Jde o streamovaný formát podle protokolu RTMP. Viz níže.
     Přehrát jde například programem The KMPlayer.

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

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

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

     Pozn.: Pořady mohou být tvořeny několika různými audio soubory.

 - 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

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

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

     Pozn.: V obsluze stream.cz je chyba, kvůli které někdy video stáhnout
     jde a jindy nejde. Příčina není známa, vypadá ale na nějaký časovací
     problém v knihovně Synapse, protože stačí vložit na vhodné místo 
     breakpoint nebo prodlevu a hned problém zmizí.

     Pozn.: Stream.cz slouží jako content-delivery-network pro řadu dalších
     služeb, například pro televizní stanici Óčko.

 - 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 (Slovenská televízia):
     - http://stv.livetv.sk/tvarchive//video/video.html?video=52655

     Pozn.: Název videa není nikde na stránce dostupný, používá se proto
            původní název, jak je soubor uložený na serveru.
     Pozn.: Jde o streamovaný formát podle protokolu RTSP over HTTP. Viz
     níže v poznámkách ke knihovně MSDL_DLL.DLL.

 - 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

 - 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

     Pozn.: Jde o streamovaný formát podle protokolu RTSP over HTTP. Viz
     níže v poznámkách ke knihovně MSDL_DLL.DLL.

 - 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

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



Podporované porno weby:

 - ExtremeTube.com
 - KeezMovies.com
 - MegaPorn.com
 - PornHost.com
 - PornHub.com
 - PornoTube.com
 - RedTube.com
 - Rude.com
 - Shufuni.com
 - SpankingTube.com
 - Tube8.com
 - XHamster.com
 - XNXX.com
 - XTube.com
 - XVideoHost.com
 - XVideos.com
 - YouPorn.com
 - Yuvutu.com



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

Od verze 0.15 program zahrnuje podporu pro streamované video podle protokolu
RTMP. Protokol je implementován pomocí knihovny vzniklé drobnou úpravou 
projektu RTMPDUMP (http://rtmpdump.mplayerhq.hu). Tato implementace má řadu
nedostatků, se kterými je třeba počítat:

1) Neumí přesně určit celkovou velikost videa. Velikost je odhadována na
   základě dosud stažené velikosti, dosud staženého času a celkového času
   videa.

2) Z knihovny nejsou do Downloaderu předávány informace o chybách. Místo
   toho je v TEMP adresáři uživatele generován klasický log projektu RTMPDUMP,
   ve kterém lze příčiny případných chyb dohledat.

3) Aby šlo stahovat z RTMP streamů, jsou vyžadovány následující DLL knihovny:
   - RTMPDUMP_DLL.DLL - je součástí YTD.
   - CRYPTOEAY32-0.9.8.DLL - součást OpenSSL verze 0.9.8. V OpenSSL může být
       pojmenována i CRYPTOEAY32.DLL.
   - SSLEAY32-0.9.8.DLL - součást OpenSSL. Alternativní jméno SSLEAY32.DLL.

4) Nelze stoprocentně detekovat, zda bylo video staženo kompletní.



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

Od verze 0.17 je podporována rodina protokolů kolem MMS a RTSP (mimo jiné
Microsoftí streamy, Real streamy a řada dalších). Protokol je implementován
pomocí knihovny vzniklé drobnou úpravou projektu MSDL (http://msdl.sf.net/).
Počítejte s tím, že cílem bylo mít úpravu hotovou rychle a s minimem změn
v původním projektu (podobně jako u podpory RTMP výše), takže jsem spoustu
možných variant prostě ignoroval; až je budu potřebovat, rozšířím příslušně
úpravy MSDL.

Pozn.: Celková velikost stahovaného streamu je jen odhad, který nemusí být
úplně přesný. Klidně se může stát, že přenos skončí v 93 % a přesto se
ohlásí jako úspěšný - a přehráním skutečně zjistíte, že stream je stažen
kompletně.



PLAYLISTY
---------

Od verze 0.19 jsou podporovány zdroje, ve kterých je jeden pořad tvořen
několika samostatnými mediálními soubory (např. Markiza.sk). YouTube
Downloader momentálně neumožňuje vybrat, které ze souborů se stáhnou a
které ne - stahují se vždy všechny.



INI SOUBOR
----------

Od verze 0.27 je podporován INI soubor. Program při svém spuštění kontroluje
existenci souboru, který má stejné jméno jako hlavní EXE soubor, ale s
příponou INI (tzn. obvykle YTD.INI). Pokud existuje, pokusí se z něj načíst
výchozí nastavení. Ta je dále možné pozměnit pomocí parametrů na příkazové
řádce.

Pozor, grafická verze programu přebije tyto hodnoty údaji z registrů Windows,
pokud nepoužijete nastavení "DontUseRegistry".

V sekci [YTD] jsou následující nastavení:

  Language=cs
    - Vynutí použití vybrané jazykové verze.
    - Obsahem položky je dvouznakový ISO kód jazyka, např. "cs" pro češtinu
      nebo "en" pro angličtinu. Pokud zvolený jazyk nebyl zatím přeložen,
      program použije angličtinu. Seznam možných kódů na Wikipedii:
      http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
    - Výchozí hodnotou je prázdný řetězec, který znamená, že si program sám
      zvolí jazyk podle toho, jak je nastavené Locale ve Windows.

  OverwriteMode=Ask
    - Výchozí nastavení způsobu, jak má YTD reagovat na existující soubory.
    - Možné hodnoty jsou (bez uvozovek):
      "ask" - zeptat se, co dělat (jako parametr -k)
      "never" - existující soubory přeskakovat (jako parametr -n)
      "always" - existující soubory přepisovat (jako parametr -a)
      "rename" - vytvářet nové, jedinečné jméno (jako parametr -r)
    - Výchozí hodnotou je "ask".
   
  DestinationPath=C:\Downloads
    - Cesta, do které se mají ukládat videa (jako parametr -o).
    - Výchozí hodnotou je prázdný řetězec, který značí aktuální pracovní
      adresář.

  ErrorLog=C:\Downloads\error.log
    - Název souboru, do kterého se mají ukládat informace o nepodařených
      downloadech (jako parametr -e).
    - Výchozí hodnotou je prázdný řetězec, záznam nebude vytvářen.

  DontUseRegistry=1
    - Touto volnou je možné určit, jestli má grafická verze programu ukládat
      svoje nastavení do registrů nebo do INI souboru. Registry mají výhodu,
      že jsou dostupné všude (ukládá se do větve HKEY_CURRENT_USER), zatímco
      INI soubor nemusí být kvůli přístupovým právům dostupný; zato se hodí v 
      případě, že chcete aplikaci používat jako portable.
    - Možné hodnoty jsou "0" (používat registry) a "1" (nepoužívat registry).
    - Výchozí hodnota je "1".

  ProxyHost=localhost
    - Adresa proxy serveru. Pokud není vyplněna, proxy server se nebude 
      používat.
    - Pozn.: Proxy server funguje pro servery používající protokoly HTTP
      a MMS/RTSP. Kod pro servery používající RTMP je napsán a zkompilován
      do aplikace, ale není ověřen.
    - Možnou hodnotou je IP adresa nebo doménové jméno.
    - Výchozí hodnota je prázdný řetězec (nepoužívat proxy).

  ProxyPort=3128
    - Port, na kterém poslouchá proxy server ProxyHost.
    - Možnou hodnotou je číslo portu.
    - Výchozí hodnota je 3128.

  ProxyUser=uživatel
    - Pokud je vyplněno, bude uživatel na proxy serveru autentizován svým
      jménem a heslem.
    - Autentizace jménem a heslem nefunguje a nebude fungovat u protokolu
      RTMP.
    - Funkčnost není ověřena.
    - Výchozí hodnota je prázdná (nepoužívat autentizaci).

  ProxyPassword=heslo
    - Heslo pro autentizaci uživatele na proxy serveru.
    - Použije se jen v případě, že je vyplněn ProxyUser.
    - Výchozí hodnotou je prázdný řetězec (bez hesla).

V sekci [CeskaTelevize.cz] jsou následující nastavení:

  PreferRealMedia=1
    - Touto volbou si volíte mezi streamem ve formátu Windows Media a Real
      Media.
    - Možné hodnoty jsou "0" (Windows Media) a "1" (Real Media).
    - Výchozí hodnota je "0".



SYNTAXE
-------

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

  kde <param> je buď URL, nebo jedna z následujících možností:

    -?, -h ........ Zobrazí nápovědu.
    -i <soubor> ... Stáhne všechna URL z textového souboru <soubor>, kde
                    každý řádek reprezentuje jednu URL.
    -o <cesta> .... Soubory se budou stahovat do adresáře <cesta>. Výchozí
                    hodnotou je aktuální pracovní adresář.
    -e <soubor> ... Do souboru <soubor> se budou zapisovat všechny downloady,
                    které skončily chybou.
    -s <zdroj> .... <zdroj> (soubor nebo URL) se prohledá na podporované
                    odkazy a ty nalezené se stáhnou.
    -l ............ Zobrazí seznam podporovaných poskytovatelů médií.
    -v ............ Zkontroluje dostupnost novější verze programu.
    -n ............ Nikdy nepřepisovat existující soubory.
    -a ............ Vždy přepsat existující soubory.
    -r ............ Pokud soubor se stejným názvem existuje, automaticky
                    vygenerovat nový název, který už bude jedinečný.
    -k ............ Pokud soubor existuje, zeptat se uživatele (výchozí).

  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.



LOKALIZACE
----------

Pro lokalizaci používá YouTube Downloader GNU GetText. Pro případné zájemce
to znamená, že pokud GetText znáte, můžete se okamžitě pustit do tvorby nového
překladu. Pokud zatím GetText neznáte, doporučuji se s ním seznámit, protože
jde o jeden z nejrozšířenějších lokalizačních nástrojů. Jediný problém je,
najít nějaký srozumitelný návod - ty, co jsem našel, jsou vesměs dost obtížně
čitelné, pokud už dopředu nevíte, o co v GetTextu jde. Ale s vhodným nástrojem,
jako je např. POEdit (http://www.poedit.net/), se to dá zvládnout za pochodu.

Pro překládání budete potřebovat soubor "default.po", který obsahuje základní
(nepřeložené) texty. Najdete ho v adresáři "Source\Locale". Pomocí POEditu nebo
jiného nástroje (klidně si vystačíte i s Notepadem, akorát to bude nepohodlné)
v něm jednotlivé texty přeložíte a hotový překlad pak zkompilujete do souboru
"default.mo". Tento soubor pak uložte do adresáře "(exe)\Locale\(jazyk)\LC_MESSAGES",
kde:
   - "(exe)" je adresář, ve kterém je uložený "ytd.exe"
   - "(jazyk)" je adresář pojmenovaný podle dvouznakové ISO zkratky jazyka;
     pro češtinu to je "cs", pro angličtinu "en", další si můžete dohledat na
     Wikipedii: http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes

Pokud jde o jazyk, pro který jsou nastavena vaše Windows, měl by se použít
automaticky při příštím spuštění YTD. Případně si můžete vynutit použití
tohoto jazyka pomocí nastavení "Language" v INI souboru (viz výše).

Pokud mi svůj překlad pošlete (budu potřebovat oba souboru, "default.mo"
i "default.po"), rád ho zařadím do budoucích verzí YouTube Downloaderu.



PODPORA
-------

Podporu naleznete na následujících stránkách:

- Pepakovo fórum: 
  http://forum.pepak.net
- Stránka YouTube Downloader: 
  http://www.pepak.net/download/youtube-downloader/
- Stránka YouTube Downloader - podpora: 
  http://www.pepak.net/download/youtube-downloader-podpora/



LICENCE
-------

Program je uvolněn pod GNU GPL3 licencí.



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

http://blog.zarohem.cz/clanek.asp?cislo=1605



AUTOŘI
------

Autorem programu je Pepak (http://www.pepak.net).

YouTube Downloader využívá ke své funkci komponenty dalších autorů:

- Lars B. Dybdahl, Peter Thörnqvist
  - knihova DxGetText (Delphi implementace GNU GetText).
  - licence: GNU GPL v2, Mozilla Public License
  - zdroj: http://dxgettext.po.dk/

- Lukáš Gebauer
  - knihovna Synapse pro práci s TCP/IP, HTTP a další síťové záležitosti.
  - licence: vlastní, freeware
  - zdroj: http://synapse.ararat.cz/

- Mark James
  - ikonky Silk použité v grafické verzi programu.
  - licence: Creative Common Attribution 2.5
  - zdroj: http://www.famfamfam.com/lab/icons/silk/

- Renato Mancuso (mancuso@renatomancuso.com)
  - knihovna DPCRE pro vyhodnocování regulárních výrazů.
  - licence: vlastní, freeware
  - zdroj: http://www.renatomancuso.com/software/dpcre/dpcre.htm

- Jun "metro" Oyama (me_t_ro@yahoo.com)
  - MSDL, nástroj pro stahování protokolů MMS, RTSP a jejich variant.
  - licence: GNU GPL v3
  - zdroj: http://msdl.sourceforge.net/

- Andrej Stepanchuk + Howard Chu
  - RTMPDUMP, nástroj pro stahování protokolu RTMP a jeho variant.
  - licence: GNU GPL v2
  - zdroj: http://rtmpdump.mplayerhq.hu/

- Jan Verhoeven (jan1.verhoeven@wxs.nl)
  - knihovna janXmlParser2 pro práci s XML.
  - licence: vlastní, freeware
  - zdroj: http://jansfreeware.com/jfdelphi.htm
