Завантаження декількох файлів за допомогою youtube-dl


45

Я використовую youtube-dl для завантаження файлів з YouTube. Я спробував завантажити декілька файлів, але це не працює для мене. Я маю відкривати кілька терміналів і починати заново кожного разу, коли хочу завантажити відео.

Чи можете ви допомогти мені завантажити декілька файлів за допомогою одного вікна терміналу, просто згадавши всі URL-адреси відразу? Я використовую 64-розрядний Ubuntu 12.04.


1
Не відповідь на ваше запитання, але інші можуть натрапити на це. Якщо відео пов’язані якимось чином, пам’ятайте, що youtube-dl може завантажувати всі відео зі списку відтворення, користувача чи каналу.
Денніс

дивіться відповідь нижче (не найактуальніша на даний момент), що пропонує просто додати пробіл між URL-адресами і ви закінчите.
gota

Відповіді:


54

Ярлики

Якщо всі відео є в одному списку відтворення або на одному каналі, ви можете заощадити час, скориставшись наведеними нижче ярликами.

Плейлист

youtube-dl -f FORMAT -ciw -o "%(title)s.%(ext)s" -v <url-of-playlist>

... де <url-of-playlist>замінюється URL-адреса списку відтворення та замінюється FORMATбудь-яким доступним відеоформатом, наприклад 18. Ви можете скористатися -Fопцією для перегляду всіх дійсних форматів, таких як цей:

youtube-dl -F 'http://www.youtube.com/some-alphanumeric-string'

Завантажте частину списку відтворення від початку партії до кінця партії

youtube-dl -f FORMAT -ci --playlist-start NUMBER --playlist-end NUMBER <url-of-playlist>  

... де <url-of-playlist>замінюється URL-адреса списку відтворення, замініть FORMAT, наприклад 18, будь-який доступний формат відео , і NUMBERце номер відео у списку відтворення, яке потрібно розпочати / закінчити завантаження.

Канал

youtube-dl -f FORMAT -ciw -o "%(title)s.%(ext)s" -v <url-of-channel>

... де <url-of-channel>замінюється URL-адреса каналу і замінюється FORMATбудь-яким доступним відеоформатом, наприклад 18.

Відео не в одному списку відтворення або на каналі

Спочатку створіть пакетний файл - це текстовий файл, що містить перелік URL-адрес відео з YouTube, які ви хочете завантажити. URL-адреси повинні бути розташовані у списку, що містить лише одну URL-адресу та нічого іншого у кожному рядку, з новим рядком для кожної URL-адреси у списку. Збережіть пакетний файл з ім'ям, яке легко запам'ятати, як batch-file.txt. Якщо кілька файлів містяться в одному списку відтворення, каналі чи веб-сторінці користувача на YouTube, ви можете створити текстовий файл зі списком, який містить усі посилання на цій сторінці, виконавши таку команду:

sudo apt install jq  
youtube-dl -j --flat-playlist "https://<yourYoutubeWebpage>" | jq -r '.id' | sed 's_^_https://youtu.be/_' > batch-file.txt

З термінального запуску:

youtube-dl -ct --simulate --batch-file='/path/to/batch-file.txt'

Це основна команда, однак вам також потрібно додати формати відео, які ви хочете завантажити, інакше ви можете завантажувати відео у форматах, які ви не хотіли. Тому спочатку моделюйте завантаження, щоб побачити, чи потрібний потрібний формат:

youtube-dl -ct -f 34 --simulate 'http://www.youtube.com/some-alphanumeric-string'

Якщо формат відео не доступний , то ви отримаєте повідомлення про помилку, яке говорить: requested format not available. Якщо формат відео доступний, ви не отримаєте жодного повідомлення про помилку при використанні цієї --simulateопції. Ви також можете додати опцію -F, щоб побачити всі дійсні формати на зразок цього:

youtube-dl -F 'http://www.youtube.com/some-alphanumeric-string'

У третій команді я використовував загальний формат відео flv 360p :
-f 34. Можливо, ви бажаєте спробувати відеоформат flv 480p, використовуючи -f 35. Тож після того, як ви додали до команди потрібний формат відео, команда стає приблизно такою:

youtube-dl -ciw -o "%(title)s.%(ext)s" --batch-file='/path/to/batch-file.txt'

Примітки:

Я не додав --simulateпараметр до останньої команди, тому ця команда буде виконуватися реально.


18

Ви можете ставити URL-адреси один за одним, з проміжком між ними. Youtube-dl завантажуватиме їх послідовно. Це трохи простіше, ніж зробити пакетний файл.

Зауважте, - говорить Допомога youtube-dl --help Usage: youtube-dl [options] url [url...]

Зразок введення:

youtube-dl http://www.youtube.com/watch?v=fqULJBBEVQE http://www.youtube.com/watch?v=vDbbz-BdyYc http://www.youtube.com/watch?v=OrIFaWJ9Glo

Вибірка зразка:

    [youtube] Setting language
    [youtube] fqULJBBEVQE: Downloading video webpage
    [youtube] fqULJBBEVQE: Downloading video info webpage
    [youtube] fqULJBBEVQE: Extracting video information
    [download] Destination: Web Components - A Tectonic Shift for Web Development - Google I_O 2013-fqULJBBEVQE.mp4
    [download] 100% of 238.14MiB in 36:54
    [youtube] vDbbz-BdyYc: Downloading video webpage
    [youtube] vDbbz-BdyYc: Downloading video info webpage
    [youtube] vDbbz-BdyYc: Extracting video information
    [download] Paul Irish on Web Application Development Workflow-vDbbz-BdyYc.mp4 has already been downloaded
    [youtube] OrIFaWJ9Glo: Downloading video webpage
    [youtube] OrIFaWJ9Glo: Downloading video info webpage
    [youtube] OrIFaWJ9Glo: Extracting video information
    [download] Got server HTTP error. Retrying (attempt 1 of 20)...
    [download] Destination: Single Page Web Applications - JavaScript End-to-End (The Hard Stuff)-OrIFaWJ9Glo.mp4
    [download] 100% of 553.10MiB in 42:17

1
Найкраща відповідь на мій погляд! Дуже просто!
gota

5

крок 1: перейдіть на робочий стіл і зробіть текстовий документ під назвоюlist(або будь-яке інше ім’я). Скопіюйте та вставте URL-адреси, якщо файли, які ви хочете завантажити у файл, по одній URL-адресі на рядок

крок 2: відкрийте термінал і перейдіть на робочий стіл

cd Desktop

крок 3: щоб завантажити файли зі свого списку, введіть (замінітьlistвідповідно, якщо ви назвали свій файл чимось іншим)

youtube-dl -a list

Щоб завантажити канал YouTube

Виконайте цю команду

youtube-dl -citk -format mp4 -yes-playlist VIDEO_PLAYLIST_LINK
  • -c відновити частково завантажені файли
  • -i ігноруйте будь-які помилки.
  • -t використовувати назву відео як назву файлу.
  • -k зберігайте відео на диску після завершення післяобробки.
  • --format mp4 збережіть відеофайли у форматі MP4.
  • --yes-playlist підтверджує, що вказана нижче URL-адреса вказує на список відтворення відео.

1
-citkдуже вводить в оману і може призвести до помилок. -cсили поновлюються, навіть якщо це не має великого сенсу. За замовчуванням уже тривати. -iце може бути нормально, але будьте уважні, що у деяких відео ви можете пропустити помилки. -tє вже за замовчуванням і застаріло. -kне має сенсу -f mp4. Докладнішу інформацію див. У поширених запитаннях youtube-dl .
фігаг

3

Якщо у вас є кілька URL-адрес відео, просто додайте їх до одного списку відтворення у свій список відтворення YouTube, створивши новий або використовуючи існуючий.

Потім скористайтеся командою нижче.

youtube-dl -f FORMAT --yes-playlist [url-of-playlist]

Опція --yes-playlistзавантажить список відтворення, якщо URL-адреса стосується відео та списку відтворення.

Це найпростіший і швидкий варіант, який я знайшов для своєї мети завантажити сотні відео з веб-сайту, на якому були пов’язані відео з YouTube.


Це корисно для завантаження багатьох відео з одного каналу. Ви можете використовувати список відтворення, який не
міститься в

3

Для завантаження кількох відео ви можете використовувати цю структуру. Це схоже на відповідь @ coreyb з додаванням того, що ви можете використовувати його в іншому місці в bash, наприклад, з echo. Ось два способи:

Брекети

youtube-dl -f FORMAT {url1,url2,url...}

Повторіть останню команду без останнього аргументу

youtube-dl -f FORMAT url1; !:- url2; !:-url...

3

Найпростішим рішенням було б зробити баш-скрипт, як цей

#!/bin/bash
terminal=`tty`
exec < ~/Documents/youtubevideolinks.txt

while read -r line
do
    cd ~/Desktop/TilakDa/
    youtube-dl -f 18 "$line"
done
exec < "$terminal"

просто скопіюйте і вставте посилання на відео у файл txt у папці документів із кожним URL-адресом відео в новому рядку та запустіть цей сценарій, він завантажить відео по одному за замовчуванням, це -f 18параметр для відео з 360p


1

Введіть команду, а потім введіть &&та введіть наступну команду:

youtube-dl--add-metadata -xic http://(the url) && youtube-dl--add-metadata -xic http://(the url) 


1

Тема все ще актуальна, тому:

  • Отримайте своє посилання на YouTube.
  • Видаліть перший параметр відео, починаючи з ?
  • використовувати так :-)

    youtube-dl.exe --yes-playlist https://www.youtube.com/watch?list=yourlistlink
    

Це працює для мене.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.