Загружайте видео с YouTube от начала к концу, которое является частью плейлиста
Видео с YouTube можно смотреть отдельно или оно может быть частью плейлиста.
Пример:
https://www.youtube.com/watch?v=vbsNiOkm0BU и
https://www.youtube.com/watch?v=vbsNiOkm0BU&index=141&list=UUmM7KPLEthAXiPVAgBF6rhA
Обратите внимание на часть vbsNiOkm0BU
,
Вопрос состоит в том, чтобы получить эту часть для всех видео канала / плейлиста.
Мотивом является загрузка всех видео этого канала (примерно 3600). Но я не добился успеха с youtube-dl
загрузка все сразу.
Поэтому я хочу загрузить его в виде сотен, как пример.
Если бы я мог продолжить этот вопрос, могу ли я написать bash-скрипт для загрузки только определенных индексов плейлиста?
Если вы видите ссылку выше:
https://www.youtube.com/watch?v=vbsNiOkm0BU&index=141&list=UUmM7KPLEthAXiPVAgBF6rhA
Обратите внимание на часть &index=141
,
Теперь, если сделать что-то вроде этого:
for i in {100..200}
do
youtube-dl https://www.youtube.com/watch?v=vbsNiOkm0BU&index=${i}&list=UUmM7KPLEthAXiPVAgBF6rhA
done
Обратите внимание на часть &index=${i}
,
Это загружает одно и то же видео снова и снова из-за vbsNiOkm0BU
,
Любая помощь по этому вопросу будет принята с благодарностью. Спасибо.
1 ответ
Playlist
youtube-dl -f FORMAT -ciw --output '%(title)s.%(ext)s' --playlist-start NUMBER-START --playlist-end NUMBER-END <url-of-playlist>
...где <url-of-playlist>
заменяется URL-адресом плейлиста, заменить FORMAT
с любым доступным форматом видео, например 18
, NUMBER-START
номер видео в плейлисте, чтобы начать загрузку первым, и NUMBER-END
номер видео в плейлисте для последней загрузки.
канал
Если канал имеет более одного списка воспроизведения, щелкните первый список воспроизведения и загрузите все видео в выбранном списке воспроизведения, используя вышеуказанную команду. Затем повторите для каждого списка воспроизведения на канале.
объяснение
-f, --format FORMAT
video format code. The -F option (capital F) displays all available video
formats for a video link. Example: youtube-dl -F <url-of-video>
-c, --continue
force resume of partially downloaded files
-i, --ignore-errors
continue on download errors, for example to skip unavailable videos
in a channel
-w, --no-overwrites
do not overwrite files
Конвертировать все заголовки видео в нижний регистр
youtube-dl -f FORMAT -ciw --output '%(title)s.%(ext)s' --playlist-start NUMBER-START --playlist-end NUMBER-END <url-of-playlist>
find -type f -exec rename 'y/A-Z/a-z/' {} +
объяснение
--output '%(title)s.%(ext)s'
output file name(s) as the name of the video, followed by a dot character and the video's extension
find -type f
Find all files.
y/source/destination/
Transliterate the characters in the pattern space which appear in source
to the corresponding character in destination.