Unduh video YouTube dari awal batch hingga akhir batch yang merupakan bagian dari daftar putar


10

Video Youtube dapat ditonton secara mandiri atau dapat menjadi bagian dari daftar putar.
Contoh:
https://www.youtube.com/watch?v=vbsNiOkm0BU dan
https://www.youtube.com/watch?v=vbsNiOkm0BU&index=141&list=UUmM7KPLEthAXiPVAgBF6rhA

Perhatikan bagian itu vbsNiOkm0BU.

Pertanyaannya adalah untuk mendapatkan bagian ini untuk semua video saluran / daftar putar.

Motifnya adalah mengunduh semua video saluran ini (sekitar 3600). Tapi saya belum berhasil youtube-dlmengunduh semuanya sekaligus.
Jadi saya ingin mengunduhnya dalam jumlah 100-an, sebagai contoh.

Jika saya dapat meneruskan pertanyaan ini, dapatkah saya menulis skrip bash untuk mengunduh hanya indeks tertentu dari daftar putar?

Jika Anda melihat tautan di atas:
https://www.youtube.com/watch?v=vbsNiOkm0BU&index=141&list=UUmM7KPLEthAXiPVAgBF6rhA
Perhatikan bagian itu &index=141.

Sekarang jika melakukan sesuatu seperti ini:

for i in {100..200}
do
youtube-dl https://www.youtube.com/watch?v=vbsNiOkm0BU&index=${i}&list=UUmM7KPLEthAXiPVAgBF6rhA
done

Perhatikan bagian itu &index=${i}.

Ini mengunduh video yang sama lagi dan lagi, karena vbsNiOkm0BU.

Bantuan apa pun akan sangat dihargai. Terima kasih.

Jawaban:


14

Daftar putar

youtube-dl -f FORMAT -ciw --output '%(title)s.%(ext)s' --playlist-start NUMBER-START --playlist-end NUMBER-END <url-of-playlist>  

... di mana <url-of-playlist>diganti dengan URL daftar putar, ganti FORMATdengan format video yang tersedia, misalnya 18, NUMBER-STARTadalah jumlah video dalam daftar putar untuk mulai mengunduh terlebih dahulu, dan NUMBER-ENDmerupakan jumlah video dalam daftar putar untuk mengunduh terakhir .

Saluran

Jika saluran memiliki lebih dari satu daftar putar, klik daftar putar pertama dan unduh semua video dalam daftar putar yang dipilih menggunakan perintah di atas. Kemudian ulangi untuk setiap daftar putar di saluran.

Penjelasan

-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 

Ubah semua judul video menjadi huruf kecil

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/' {} +

Penjelasan

--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.

Terima kasih! Itu berhasil! Hanya satu permintaan lagi, dapatkah saya mengubah semua judul video menjadi huruf kecil saat mengunduh? Saya dapat menentukan format seperti --output "%(title)s". Bisakah saya mengonversinya menjadi huruf kecil?
Rishiraj Surti
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.