Nejdrive jsem zkousel uplne klasicky instalovat prez apt:
apt install yt-dlp
V Ubuntu 23.04 probehla instalace bez problemu, ale samotny program pak nefungoval. Nejspis slo o prilis starou verzi z brezna 2023. Zkousel jsem aktualizaci, prez apt nic, a pomoci yt-dlp -U instalace nefungovala.
U klasicky prez apt nainstalovaneho programu mi to vice-mene u vsech videi hodilo chybu:
Got error: HTTP Error 403: Forbidden. Retrying fragment 4 (1/10)...
Nasel jsem, ze chybu odstranime pri smazani cache a nebo vypnuti cache pri stahovani. Tak jsem ruzne zkousel smazat cache prez prikaz, ktery jsem nasel pro yt-dlp, ale i rucne v ~/.cache/yt-dlp/ alw nic nepomohlo.
yt-dlp jsem odinstaloval a nove nainstaloval primo do sveho home lokalne, jak poradil k3daR tedy:
wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O ~/.local/bin/yt-dlp
chmod a+rx ~/.local/bin/yt-dlp # Make executable
Nyni vse jede uplne normalne. Dokonce ani neni problem stahnout vekem omezena videa, ktera ve webovem prohlizeci pozaduji prihlaseni kvuli kontrole veku.
Pri instalaci YT-DLP do lokalu pak v prikazovem radku nestaci zadat YT-DLP, ale celou cestu. Vyhodou je, ze nistalace do home adresare nepotrebuje rootovska prava. Spusteni (vlnovka oznacuje cestu do domovskeho adresare):
~/.local/bin/yt-dlp
Pri stahovani videa obycejnym zadanim yt-dlp URL
se stahne format s nejvyssim rozzlisenim - video bude hodne velke a bez zvuku.
Pro stahovani videa doporucuji nejdriv zkontrolovat dostupne formaty: ~/.local/bin/yt-dlp -F URL
Jak vybereme format, ktery chceme stahnout ? Zadame cislo formatu (prvni sloupec). Napr. jsem zvolil format c. 18 - video se zvukem v rozliseni 640x360, pripona mp4. Jak uz jsem zminil, k dizpozici je nekolik formatu pro stahnuti pouze zvuhu a ruzna rozliseni videa, ale vetsina video formatu u me verze je bez zvuku, pouze dva formaty jsou se zvukem. Obecne tech formatu (audio-video) je nekolik, ne vsechny jsou dostupne u kazdeho videa.
Formaty videa se zvukem:
18 - video mp4 rozliseni 640x360 zvuk mp4a.40.2 44k 360p
22 - video mp4 rozliseni 1280x720 zvuk mp4a.40.2 44k 360p
Format c. 22 a format c. 18, tam je kvalita zvuku stejna, rusi se rozliseni videa a velikost souboru. Ale i format c. 22 nema tu velikost souboru nijak velkou. A u vsech videi, co jsem se zatim setkal, je k dizpozici format c. 18, format c. 22 neni vzdy k dizpoziici. Pri davkovem stahovani hodne videi doporucuji vyuzit format c. 18.
Zadani URL videa URL - odkaz na konkretni video: https://www.youtube.com/watch?v=t1TcDHrkQYg
Velke usnadneni je v tom, ze staci zadat ID videa skladajici se z alfa-numerickych znaku (vzdy 11 zkaku ?).
A tedy:
Zjisteni dostupnych formatu:
~/.local/bin/yt-dlp -F t1TcDHrkQYg
Velka cast gformatu je jen video bez zvuku a jen dva formaty jsou video se zvukem. Nekolik formatu je pouze zvuk a mozne je i stahnout nahled - obrazek. Zrovna tady je k dizpozici video se zvukem jen ve formsatu 18, jeste s rozlisenim o neco mensim 480x360.
Stahnuti videa:
~/.local/bin/yt-dlp -f 18 --rate 1000k t1TcDHrkQYg
-f 18 je zvoleni formatu a --rate 1024k je omezeni stahovaci rychlosti na 1024 kB/s. -F je stahnuti listu dostupnych formatu. Nemusi byt vzdy, hodnota muze byt i jina. U vysokych rychlosi stahovani vsak hodnota ruzne kolisa a pro youtube to muze byt nakonec i podezrele.
Nazev stazeneho souboru je nazev videa na youtube s identifikacnim retezcem. Casto obsahuje ne-alfanumericke a ruzne ne UNix-Friendly znaky. Co s tim, to bude dalsi zkoumani.
Stejne tak je mozne i stahnout playlist zatim nevim jak. Pro stahovani staci pouzit jako promennou ID videa (Alfa-Numericky retezec) a tak lze mit i seznam URL - ID videi napr. v textaku a stahovat davkove, prez cyklus promenne a pod.
Seznam obvyklych formatu u videa, testovano na videu, kde je formatu k dizpozici vice. Formaty video se zvukem jsou jen 18 a 22 a format c. 22 neni nekdy k dizpozici, format c. 18 byl zatim k dizpozici vzdy (doporucen pri davkovem stahovani). Ne vzdy jsou k dizpozici formaty s vysokym rozlisenim. Vlnovka znamena pribliznou velikost.
~/.local/bin/yt-dlp -F cqZJysZCS_k
[youtube] Extracting URL: cqZJysZCS_k
[youtube] cqZJysZCS_k: Downloading webpage
[youtube] cqZJysZCS_k: Downloading ios player API JSON
[youtube] cqZJysZCS_k: Downloading android player API JSON
[youtube] cqZJysZCS_k: Downloading m3u8 information
[info] Available formats for cqZJysZCS_k:
ID EXT RESOLUTION FPS CH │ FILESIZE TBR PROTO │ VCODEC VBR ACODEC ABR ASR MORE INFO
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb3 mhtml 48x27 0 │ mhtml │ images storyboard
sb2 mhtml 59x45 0 │ mhtml │ images storyboard
sb1 mhtml 118x90 0 │ mhtml │ images storyboard
sb0 mhtml 237x180 0 │ mhtml │ images storyboard
233 mp4 audio only │ m3u8 │ audio only unknown [en] Default
234 mp4 audio only │ m3u8 │ audio only unknown [en] Default
599 m4a audio only 2 │ 1.72MiB 31k https │ audio only mp4a.40.5 31k 22k [en] ultralow, m4a_dash
600 webm audio only 2 │ 2.20MiB 39k https │ audio only opus 39k 48k [en] ultralow, webm_dash
139 m4a audio only 2 │ 2.73MiB 49k https │ audio only mp4a.40.5 49k 22k [en] low, m4a_dash
249 webm audio only 2 │ 3.11MiB 56k https │ audio only opus 56k 48k [en] low, webm_dash
250 webm audio only 2 │ 4.04MiB 72k https │ audio only opus 72k 48k [en] low, webm_dash
140 m4a audio only 2 │ 7.25MiB 129k https │ audio only mp4a.40.2 129k 44k [en] medium, m4a_dash
251 webm audio only 2 │ 7.77MiB 139k https │ audio only opus 139k 48k [en] medium, webm_dash
597 mp4 190x144 15 │ 1.42MiB 25k https │ avc1.4d400b 25k video only 144p, mp4_dash
602 mp4 190x144 15 │ ~ 4.47MiB 78k m3u8 │ vp09.00.10.08 78k video only
598 webm 190x144 15 │ 1.08MiB 19k https │ vp9 19k video only 144p, webm_dash
394 mp4 190x144 30 │ 4.18MiB 75k https │ av01.0.00M.08 75k video only 144p, mp4_dash
269 mp4 190x144 30 │ ~ 8.14MiB 142k m3u8 │ avc1.4D400C 142k video only
160 mp4 190x144 30 │ 2.92MiB 52k https │ avc1.4D400C 52k video only 144p, mp4_dash
603 mp4 190x144 30 │ ~ 8.96MiB 156k m3u8 │ vp09.00.11.08 156k video only
278 webm 190x144 30 │ 5.20MiB 93k https │ vp09.00.11.08 93k video only 144p, webm_dash
395 mp4 316x240 30 │ 8.59MiB 153k https │ av01.0.00M.08 153k video only 240p, mp4_dash
229 mp4 316x240 30 │ ~ 13.89MiB 242k m3u8 │ avc1.4D400D 242k video only
133 mp4 316x240 30 │ 6.69MiB 120k https │ avc1.4D400D 120k video only 240p, mp4_dash
604 mp4 316x240 30 │ ~ 14.37MiB 251k m3u8 │ vp09.00.20.08 251k video only
242 webm 316x240 30 │ 5.50MiB 98k https │ vp09.00.20.08 98k video only 240p, webm_dash
396 mp4 474x360 30 │ 13.76MiB 246k https │ av01.0.01M.08 246k video only 360p, mp4_dash
230 mp4 474x360 30 │ ~ 27.58MiB 481k m3u8 │ avc1.4D401E 481k video only
134 mp4 474x360 30 │ 10.18MiB 182k https │ avc1.4D401E 182k video only 360p, mp4_dash
18 mp4 474x360 30 2 │ ≈ 17.84MiB 311k https │ avc1.42001E mp4a.40.2 44k [en] 360p
605 mp4 474x360 30 │ ~ 25.73MiB 448k m3u8 │ vp09.00.21.08 448k video only
243 webm 474x360 30 │ 8.99MiB 161k https │ vp09.00.21.08 161k video only 360p, webm_dash
397 mp4 632x480 30 │ 24.08MiB 430k https │ av01.0.04M.08 430k video only 480p, mp4_dash
231 mp4 632x480 30 │ ~ 41.08MiB 716k m3u8 │ avc1.4D401E 716k video only
135 mp4 632x480 30 │ 13.62MiB 243k https │ avc1.4D401E 243k video only 480p, mp4_dash
606 mp4 632x480 30 │ ~ 33.36MiB 581k m3u8 │ vp09.00.30.08 581k video only
244 webm 632x480 30 │ 12.84MiB 229k https │ vp09.00.30.08 229k video only 480p, webm_dash
22 mp4 950x720 30 2 │ ≈ 27.65MiB 482k https │ avc1.64001F mp4a.40.2 44k [en] 720p
398 mp4 950x720 30 │ 49.01MiB 876k https │ av01.0.05M.08 876k video only 720p, mp4_dash
232 mp4 950x720 30 │ ~ 45.61MiB 795k m3u8 │ avc1.4D401F 795k video only
136 mp4 950x720 30 │ 19.76MiB 353k https │ avc1.4D401F 353k video only 720p, mp4_dash
609 mp4 950x720 30 │ ~ 47.16MiB 822k m3u8 │ vp09.00.31.08 822k video only
247 webm 950x720 30 │ 21.23MiB 379k https │ vp09.00.31.08 379k video only 720p, webm_dash
399 mp4 1424x1080 30 │ 71.47MiB 1277k https │ av01.0.08M.08 1277k video only 1080p, mp4_dash
270 mp4 1424x1080 30 │ ~127.66MiB 2225k m3u8 │ avc1.640028 2225k video only
137 mp4 1424x1080 30 │ 73.72MiB 1317k https │ avc1.640028 1317k video only 1080p, mp4_dash
614 mp4 1424x1080 30 │ ~125.49MiB 2187k m3u8 │ vp09.00.40.08 2187k video only
248 webm 1424x1080 30 │ 65.63MiB 1173k https │ vp09.00.40.08 1173k video only 1080p, webm_dash
616 mp4 1424x1080 30 │ ~185.20MiB 3228k m3u8 │ vp09.00.40.08 3228k video only Premium
Typ na automaticke prejmenovani nazvu stazenych souboru nejlepe na Alfa-Numericke znaky plus podtrzitko uvitam.
Nejspis zasadne kvuli automaticke kontrole obsahu a vyuzivani monopolu, ale videa z youtube pomerne mizi a o uzivatele se YT uplne nestrara. ASpon je k dizpozici nastroj pro stazeni.