Program na stahování z YouTube

Re:Program na stahování z YouTube
« Odpověď #15 kdy: 01. 01. 2024, 19:43:07 »
s/(youtube.com)/prefixdomeny\1/
Jen pozor, tyhle "weby" nebývají čisté jak ariel, viz můj příspěvek, s "nahým" prohlížečem  se budou snažit prohlížeč vybušit
« Poslední změna: 01. 01. 2024, 19:48:15 od Ħαℓ₸℮ℵ ␏⫢ ⦚ »


Re:Program na stahování z YouTube
« Odpověď #16 kdy: 01. 01. 2024, 19:46:53 »
Na PC Easy Youtube Video Downloader, na Androidu NewPipe.

Mlocik97

  • *****
  • 894
  • Ubunťák, JS dev.
    • Zobrazit profil
    • E-mail
Re:Program na stahování z YouTube
« Odpověď #17 kdy: 01. 01. 2024, 21:59:53 »
Vlastne mám stejnú otázku, ale chcel by som stiahnuť celý playlist. Skúšal som už pred tým yt-dl a iné nástroje, ale keď to failne u 42. videa a následne nevieš kde to skončilo a nevieš ani jednoducho pokračovať a skúsiť znova tie zlyhané... hmm.

Aspoň mne sa to nepodarilo.

Mlocik97

  • *****
  • 894
  • Ubunťák, JS dev.
    • Zobrazit profil
    • E-mail
Re:Program na stahování z YouTube
« Odpověď #18 kdy: 01. 01. 2024, 23:56:54 »
Nainstaluj si cez snap
https://snapcraft.io/video-downloader
je to zalozene  na yt-dlp

alebo samotne yt-dlp
https://snapcraft.io/yt-dlp

Ďakujem, ten video-downloader funguje perfektne aj na playlisty.

Re:Program na stahování z YouTube
« Odpověď #19 kdy: 02. 01. 2024, 09:43:32 »
yt-dlp -i

-i, --ignore-errors  Ignore download and postprocessing errors. The download will be considered successful even if the postprocessing fails

Ak to nepomáha tak
sudo yt-dlp -U
« Poslední změna: 02. 01. 2024, 09:48:33 od stevo54785 »


Re:Program na stahování z YouTube
« Odpověď #20 kdy: 02. 02. 2024, 23:01:58 »
Nainstaluj si cez snap
https://snapcraft.io/video-downloader
je to zalozene  na yt-dlp

alebo samotne yt-dlp
https://snapcraft.io/yt-dlp
obojim bych se spis vyhnul, naopak to co psal pred tebou povazuju za spravne reseni a primo od autora ;-)
konkretne, postup: https://github.com/yt-dlp/yt-dlp/wiki/Installation#using-the-release-binary
a aktualizovat jak je tam uvedene "sudo yt-dlp -U" kdyz si vzpomene, nebo mu neco nepujde stahnout...

@Honza1Ubuntu
youtube-dl je zastarale, misto toho je fork yt-dlp, mozna by v 23.04 slo nainstalovat to primo "apt install yt-dlp" (asi nemaji spravne poresenou automatickou nahradu pozadovaneho zastaraleho balicku), ale skoro urcite bys stejne nemel aktualni verzi, narozdil od postupu hodit od autora release do /usr/local/bin viz ten odkaz vyse

Diky moc,
Byl jsem delsi dobu mimo a dlouho jsem se k tomu nedostal.

Vypada to, ze jsem tam mel rozbite zavislosti mezi instalacnimi balicky  a neslo instalovat nic. Spravil jsem to timto:

Kód: [Vybrat]
apt --fix-broken install

Co jsem zkousel, Ubuntu 23.04 jde i klasicky instalovat yt-dlp prez apt, zadal jsem:

Kód: [Vybrat]
apt install yt-dlp
Ten odkaz jak jsi poslal take vypada dobre, vc. prikazu Update dole:
https://github.com/yt-dlp/yt-dlp/wiki/Installation#using-the-release-binary

Instalace z Github prez wget:
Kód: [Vybrat]
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

Update:
Kód: [Vybrat]
yt-dlp -U

Re:Program na stahování z YouTube
« Odpověď #21 kdy: 04. 02. 2024, 03:19:10 »
Nejdrive jsem zkousel uplne klasicky instalovat prez apt:

Kód: [Vybrat]
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:
Kód: [Vybrat]
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:

Kód: [Vybrat]
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):

Kód: [Vybrat]
~/.local/bin/yt-dlp
Pri stahovani videa obycejnym zadanim
Kód: [Vybrat]
yt-dlp URL se stahne format s nejvyssim rozzlisenim - video bude hodne velke a bez zvuku.

Pro stahovani videa doporucuji nejdriv zkontrolovat dostupne formaty:
Kód: [Vybrat]
~/.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:
Kód: [Vybrat]
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:

Kód: [Vybrat]
~/.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:

Kód: [Vybrat]
~/.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.

Kód: [Vybrat]
~/.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.

k3dAR

  • *****
  • 2 989
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Program na stahování z YouTube
« Odpověď #22 kdy: 04. 02. 2024, 07:13:29 »
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):

pri "instalaci" do ~/.local/bin, nemusis psat celou cestu pokud v ~/.profile mas (ja mam a myslim ze nepridaval sam :)
Kód: [Vybrat]
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi

BTW: pri "instalaci" do /usr/local/bin sice potrebujes root prava pri "instalaci" nebo aktualizaci, ale ty predpokladam stejne mas, pro pouziti samozrejme uz staci user prava...

Typ na automaticke prejmenovani nazvu stazenych souboru nejlepe na Alfa-Numericke znaky plus podtrzitko uvitam.
v yt-dlp --help vidim:
Kód: [Vybrat]
--restrict-filenames Restrict filenames to only ASCII characters, and avoid "&" and spaces in filenames
--windows-filenames Force filenames to be Windows-compatible
pokud by to nestacilo je tam zminka i o OUTPUT TEMPLATE

Re:Program na stahování z YouTube
« Odpověď #23 kdy: 14. 02. 2024, 00:10:48 »
k3dAR
Diky moc/ Chvilku mi trvalo, nez jsem vsechny moznosti prozkoumal. Prez --restrict-filenames se vetsina nezadoucich znaku vycisti. A pak uz napada par veci, jak dodelat zbytek (zustavaji znaky [] a - )

k3dAR

  • *****
  • 2 989
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Program na stahování z YouTube
« Odpověď #24 kdy: 14. 02. 2024, 01:18:44 »
opet jsem kouknul do "yt-dlp --help" a vidim:
Kód: [Vybrat]
--replace-in-metadata [WHEN:]FIELDS REGEX REPLACE
Kód: [Vybrat]
yt-dlp 'https://adresa' --replace-in-metadata title " - " " " --replace-in-metadata title "[\[\]\-]" ""parametr lze opakovat, prvni je nahradit "mezera pomlcka mezera" za "mezera", druhej znaky []- za prazdno,
jsou to zrovna vse znaky co regex pouziva jako sve ridici, takze musi byt escapovane kazdy znakem \ pred nim,
a je to uzavrene v [] coz rika ze podminka plati pro kazdy znak v tom uvedeny