Видео YouTube может быть просмотрено автономное, или это могла быть часть плей-листа.
Пример:
https://www.youtube.com/watch? v=vbsNiOkm0BU и
https://www.youtube.com/watch? v=vbsNiOkm0BU&index=141&list=UUmM7KPLEthAXiPVAgBF6rhA
Заметьте часть vbsNiOkm0BU
.
Вопрос состоит в том, чтобы получить эту часть для всех видео канала/плей-листа.
Повод должен загрузить все видео этого канала (приблизительно 3 600). Но я не имею успех с youtube-dl
загрузка внезапно.
Таким образом, я хочу загрузить его в наборе 100 с как пример.
Если я мог бы ответить на этот вопрос далее, я могу записать сценарий удара для загрузки только конкретных индексов плей-листа?
Если Вы видите вышеупомянутую ссылку:
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
.
Любая справка на этом значительно ценилась бы.Спасибо.
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.