Konsolowy program « youtube-dl »

Konsolowy program do zasysania plików z Yuotube. Ma on wiele możliwości, ale wszystkich jeszcze nie poznałem, ponieważ dopiero od dzisiaj (od czterech godzin) go stosuję.
Wiem, że na co dzień (znaczy często) używa go @azja i to właśnie on jest z tymi komendami obeznany.
Ja sprawdziłem konwersję zassanego pliku video na mp3

youtube-dl --extract-audio --audio-format mp3 <video URL>

przykład

youtube-dl --extract-audio --audio-format mp3 https://www.youtube.com/watch?v=H1GwNu0W-Ns

zasysa i konwertuje na mp3 i umieszcza go w katalogu /home
Jeśli chcemy pobrać w innym formacie, możemy wylistować dostępne formaty poleceniem:

youtube-dl -F URL

Notujemy kod interesującego nas formatu a następnie wydajemy polecenie:

youtube-dl -f format URL

Byłoby fajnie, aby osoby znające temat podzieliły się komendami dostępnymi pod tym programem. Ale byłoby też FAJNIE - by te informacje zrozumiałe dla WSZYSTKICH były. Pozdrawiam
p.s. jest dużo informacji o tym, ale tylko po angielsku i czasem napisane bardzo zawile.

Tu trochę więcej.
https://konsolove.tuxblog.pl/youtube-dl-pobieranie-filmow-i-muzyki/

Mam gdzieś też skrypt z GUI - fajną nakładkę na youtube-dl z GUI - w sumie dawno nie używałem ale jak odszukam to wrzucę.

Przykładowa konfiguracja, na bazie tego, w jaki sposób sam wykorzystuję program.


DOWNLOAD VIDEO

~/.config/youtube-dl/config
--------------------------------------------
## LOKALIZACJA FOLDERU ZAPISU I SCHEMAT NAZEWNICTWA PLIKÓW
## -o, --output TEMPLATE    ;output filename template
--output ~/download/%(title)s-%(id)s.%(ext)s

## LOKALIZACJA PLIKU Z LISTĄ DO DOWNLOAD'U
## -a, --batch-file FILE    ;file containing URLs to download ('-' for stdin)
--batch-file ~/.config/youtube-dl/youtube-dl.list

## WZNAWIANIE DOWNLOAD'U
## -c, --continue    ;force resume of partially downloaded files
--continue

## PLIK Z INFO NT. ŚCIĄGNIĘTEGO PLIKU
## --write-description    ;write video description to a .description file
--write-description

## OPCJE DOTYCZĄCE CACHE'U PROGRAMU
## --rm-cache-dir    ;delete all filesystem cache files
## --no-cache-dir    ;disable filesystem caching
--no-cache-dir

## PREFERUJE PLIKI W WOLNYCH FORMATACH
## --prefer-free-formats    ;prefer free formats unless a specific is requested
--prefer-free-formats

## BEZ NADPISYWANIA RE-KODOWANYCH PLIKÓW
## --no-post-overwrites    ;do't overwrite post-processed files
--no-post-overwrites

## BEZ USUWANIA PLIKÓW PO RE-KODINGU
## -k | --keep-video    ;keep video file on disk after the postprocessing
#--keep-video

## DOWNLOAD BEST, ALE NIE LEPSZE NIŻ 720p
## -f | --format FORMAT    ;download best available but not better that 720p
#--format 'bestvideo[height<=720]+bestaudio/best[height<=720]'
--format 'best[height<=720]'

## NAPISY
## --embed-subs    ;embed subtitles (only for mp4,webm,mkv)
#--sub-format srt
--sub-lang pl
--embed-subs

Do tego aliasy:

~/.bashrc
--------------------------------------------
alias ytlist='micro ~/.config/youtube-dl/youtube-dl.list'       # EDYCJA LISTY DO DOWNLOAD'U
alias ytdown='youtube-dl'       # URUCHOMIENIE DOWNLOAD'U

DOWNLOAD AUDIO

~/.config/youtube-dl/config-mp3
--------------------------------------------
## LOKALIZACJA FOLDERU ZAPISU I SCHEMAT NAZEWNICTWA PLIKÓW
## -o, --output TEMPLATE    ;output filename template
--output ~/download/%(title)s-%(id)s.%(ext)s

## LOKALIZACJA PLIKU Z LISTĄ DO DOWNLOAD'U
## -a, --batch-file FILE    ;file containing URLs to download ('-' for stdin)
--batch-file ~/.config/youtube-dl/youtube-dl.list

## WZNAWIANIE DOWNLOAD'U
## -c, --continue    ;force resume of partially downloaded files
--continue

## PLIK Z INFO NT. ŚCIĄGNIĘTEGO PLIKU
## --write-description    ;write video description to a .description file
--write-description

## OPCJE DOTYCZĄCE CACHE'U PROGRAMU
## --rm-cache-dir    ;delete all filesystem cache files
## --no-cache-dir    ;disable filesystem caching
--no-cache-dir

## PREFERUJE PLIKI W WOLNYCH FORMATACH
## --prefer-free-formats    ;prefer free formats unless a specific is requested
--prefer-free-formats

## BEZ NADPISYWANIA RE-KODOWANYCH PLIKÓW
## --no-post-overwrites    ;do't overwrite post-processed files
--no-post-overwrites

## BEZ USUWANIA PLIKÓW PO RE-KODINGU
## -k | --keep-video    ;keep video file on disk after the postprocessing
#--keep-video

## DOWNLOAD BEST, ALE NIE LEPSZE NIŻ 720p
## -f | --format FORMAT    ;download best available but not better that 720p
#--format 'bestvideo[height<=720]+bestaudio/best[height<=720]'
--format 'best[height<=720]'

## EXTRAKCJA I KONWERSJA AUDIO DO MP3
## --extract-audio    ;convert video files to audio-only
## --audio-format FORMAT    ;best(default),aac,flac,mp3,m4a,opus,vorbis,wav
--extract-audio
--audio-format mp3

Do tego alias:

~/.bashrc
--------------------------------------------
alias ytdownmp3='youtube-dl --config-location ~/.config/youtube-dl/config-mp3'       # URUCHOMIENIE DOWNLOAD'U + EXTRAKCJA AUDIO

OBSŁUGA

Tworzę listę plików do ściągnięcia:
$ ytlist

Ściągam:
$ ytdown lub $ ytdownmp3

Usuwam listę plików do ściągnięcia:
$ ytlist

2 polubienia

jest jutube-dl-mp3 … co do tego narzecza to crow … @azja jak dziala ta lista?

@azja Dzięki za ten wpis. Dla mnie to zdecydowanie wpis miesiąca :slight_smile:

~/.bashrc
--------------------------------------------
alias ytlist='micro ~/.config/youtube-dl/youtube-dl.list'       # EDYCJA LISTY DO DOWNLOAD'U

Ten alias uruchamia edytor micro w trybie edycji pliku z listą URLi (adresów) do sciągnięcia.
Oczywiście możemy sobie zmienić w aliasie edytor na inny, np. na vim (w moim przypadku), nano, mcedit, czy nawet na graficznie (nie-konsolowe edytory), przykładowo: kwrite, kate, geany, leafpad… co kto lubi.
Lista to po prostu plik tekstowy z adresami - domyślam się, że każdy w nowej linii.

bez sensu nielepiej zrobic alias porno = "screen youtube-dl "? a pozatym zainstaluj se zsh …
ps vim? ktos sie zalozyl ze napisze edytor tekstu po lsd ale zaklad przegral

@ppp666 Kolego nie jesteś na forum onetu, to nie śmietnik, nie tolerujemy tu bełkotu. Jak nie masz nic do powiedzenia w temacie to sobie daruj.

2 polubienia

@napcok:

  • lista składa się z link’ów do stron na YT, wg schematu: jeden wiersz, jeden link
~/.config/youtube-dl/youtube-dl.list
--------------------------------------------
https://www.youtube.com/watch?v=wsrvmNtWU4E
https://www.youtube.com/watch?v=z0wK6s-6cbo
https://www.youtube.com/watch?v=3Skn4vxU9cA
  • wykorzystałem micro, bo:
    – jest z tej samej bajki, czyli z terminala, więc mam spójny interface;
    – do vi mam … uraz, od kiedy zobaczyłem go po raz pierwszy, 20 lat temu; vim jest dobrym i potężnym narzędziem, ale dla tych, którzy używają go regularnie; nano próbowałem, ale musiałbym opanować alternatywną (w stosunku do wersji graficznych) obsługę; gdy spotkałem micro, to pomyślałem, że to ten moment, gdy los jest dla mnie łaskawy, raz na dekadę;

@azja
nano jest bardzo prosty w obsłudze, a edytowany lub utworzony dokument zapisujesz skrótem Ctrl+x, i wychodzisz Enter-em.

Przed chwilą próbowałem zassać teledysk Alizée poleceniem

youtube-dl -f mp4 1920x1080 https://www.youtube.com/watch?v=QpbHdIrtpNo

ale pojawiły się komunikaty z konsoli że jest jakiś błąd i podane polecenie

youtube-dl "ytsearch:1920x1080" https://www.youtube.com/watch?v=xDDpNaQxn6E

wkleiłem i zadziałało, ale oprócz teledysku zassało jeszcze jakąś reklamę (jako dodatkowy plik MKV)
a w konsoli (nie wszystko dla mnie czytelne) pojawiły się takie oto wpisy

[christophe@christophe-lenovoG585 ~]$ youtube-dl "ytsearch:1920x1080" https://www.youtube.com/watch?v=xDDpNaQxn6E [youtube:search] query "1920x1080": Downloading page 1 [download] Downloading playlist: 1920x1080 [youtube:search] playlist 1920x1080: Collected 1 video ids (downloading 1 of them) [download] Downloading video 1 of 1 [youtube] yM-K1MJykto: Downloading webpage [youtube] yM-K1MJykto: Downloading video info webpage WARNING: Requested formats are incompatible for merge and will be merged into mkv. [download] Destination: TCL HD Demo Colorful Beauty of Nature Full HD 1920x1080-yM-K1MJykto.f137.mp4 [download] 100% of 40.10MiB in 00:37 [download] Destination: TCL HD Demo Colorful Beauty of Nature Full HD 1920x1080-yM-K1MJykto.f251.webm [download] 100% of 3.84MiB in 00:04 [ffmpeg] Merging formats into "TCL HD Demo Colorful Beauty of Nature Full HD 1920x1080-yM-K1MJykto.mkv" Deleting original file TCL HD Demo Colorful Beauty of Nature Full HD 1920x1080-yM-K1MJykto.f137.mp4 (pass -k to keep) Deleting original file TCL HD Demo Colorful Beauty of Nature Full HD 1920x1080-yM-K1MJykto.f251.webm (pass -k to keep) [download] Finished downloading playlist: 1920x1080 [youtube] xDDpNaQxn6E: Downloading webpage [youtube] xDDpNaQxn6E: Downloading video info webpage WARNING: Requested formats are incompatible for merge and will be merged into mkv. [download] Destination: Alizée - J'en ai marre ! (Videomix 2018)-xDDpNaQxn6E.f136.mp4 [download] 100% of 37.70MiB in 00:35 [download] Destination: Alizée - J'en ai marre ! (Videomix 2018)-xDDpNaQxn6E.f251.webm [download] 100% of 3.86MiB in 00:04 [ffmpeg] Merging formats into "Alizée - J'en ai marre ! (Videomix 2018)-xDDpNaQxn6E.mkv" Deleting original file Alizée - J'en ai marre ! (Videomix 2018)-xDDpNaQxn6E.f136.mp4 (pass -k to keep) Deleting original file Alizée - J'en ai marre ! (Videomix 2018)-xDDpNaQxn6E.f251.webm (pass -k to keep)

@lcoyote -> uwagi, na szybko:

  • najpierw próbujesz ściągną jeden link, a potem ściągasz inny;
  • nie każdy materiał występuje w każdym formacie i rozdzielczości (jest parametr pozwalający sprawdzić listę dla danej pozycji), dlatego ja używam ustawienia, które limituje mi jedynie górną granicę rozdzielczości i preferuje (ale nie wymusza) wolne formaty;
  • komunikaty, które pojawiły się w trakcie ściągania, to nic szczególnego. Jeżeli jest tam coś niepojącego, to trudno to znaleźć w tej formie, w jakiej tutaj zamieściłeś.

Zastanawiam się, jaki jest sens korzystania (i męczenia się w konsoli) z koncepcji rodem z początków internetu, skoro istnieją nowsze i wygodniejsze opcje, jak dodatki do przeglądarek czy niezależne prrogramy, które w wygodny i intuicyjny sposób pozwalają ściągnąć prawie każdy materiał z sieci?

Wszystko zależy od tego co robisz z komputerem i w jaki sposób go używasz.
Dla osób, które pracują cały czas w konsoli to zupełnie naturalne, wygodniejsze i szybsze niż klikanie w jakimś dedykowanym programie z gui.

Na tym polega urok wolnej woli - wybierasz, co chcesz;
i ból - inni wybierają inaczej niż Ty.

Wybieraj i pozwól wybierać innym.

@majo
Przy pomocy np. 4KVideodownloader pobierane filmy są tylko w jakości 480p a z konsoli nawet 720p lub 1920x1080
Tak jest przynajmniej u mnie. A zasysanie tylko dźwięku z teledysku i konwersja na mp3 - to trzeba kilku programów użyć.

@lcoyote
Przy pomocy 4KVideodownloader-a można także pobierać filmy w jakości 720p, wystarczy włączyć tryb inteligentny, i w nim ustawić.

Przechwycenie%20obrazu%20ekranu_2019-06-01_17-24-58

…o widzisz - o tym nie wiedziałem. Przyda się. Dzięki

Aby pobrać plik mp3 wystarczy do tego program 4kyoutubetomp3-ffmpeg z POLAUR z repa aur-rebased.
A ten program ma interfejs identyczny co 4kvideodownloader.

Uprasza się szanownych forumowiczów o czytanie ze zrozumieniem - lepiej wolno i dokładnie, niż szybko i byle jak. Twoja dziewczyna na pewno zgodzi się ze mną. W przykładowych konfiguracjach, jakie wyżej wyrysowałem, jest również taka, która ściąga video, wyciąga z niego audio, zapisuje do MP3 i usuwa video. Wszystko z wykorzystaniem standardowych bibliotek, które najpewniej masz zainstalowane.


Postarajmy się, Panie i Panowie, nie nadużywać cichego prawa do drobnego OT - tematem wątku jest youtube-dl.

Ja z youtube-dl korzystam do botów na teamspeaku. Fajna rzecz, bo nie trzeba wrzucać muzyki na serwer.