Youtube-dl ile birden fazla dosya indirme


45

YouTube'dan dosya indirmek için youtube-dl kullanıyorum. Birden fazla dosya indirmeyi denedim, ancak benim için çalışmıyor. Bir video indirmek istediğimde birden fazla terminal açmalı ve yeniden başlatmaya başladım.

Tüm URL'leri bir kerede söyleyerek, tek bir terminal penceresiyle birden fazla dosya indirmeme yardım eder misiniz? Ubuntu 12.04 64-bit kullanıyorum.


1
Sorunuza cevap değil, ancak diğerleri bunun üzerine yanılabilir. Videolar bir şekilde ilişkiliyse, youtube-dl'nin tüm videoları bir oynatma listesinden, kullanıcıdan veya kanaldan indirebileceğini unutmayın.
Dennis,

url'ler ile işiniz arasında bir boşluk bırakmanızı öneren aşağıdaki cevabı (şu anda en çok oylananları değil) görün.
gota

Yanıtlar:


54

Kısayollar

Tüm videolar aynı oynatma listesinde veya aynı kanaldaysa, aşağıdaki kısayolları kullanarak zaman kazanabilirsiniz.

Oynatma Listesi

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

... <url-of-playlist>oynatma listesinin URL'si ile değiştirilir FORMATve örneğin mevcut herhangi bir video formatıyla değiştirilir 18. Bu -Fgibi geçerli tüm formatları görmek için seçeneği kullanabilirsiniz :

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

Bir oynatma listesinin parçasını, grubun başından grubun sonuna indirin

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

... nerede <url-of-playlist>çalma listesinin URL'ye ile değiştirilir, yerine FORMATörneğin herhangi kullanılabilir video formatı ile 18ve NUMBERbaşlamak / bitiş indirilmesini de çalma listesindeki bir videonun sayısıdır.

Kanal

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

... <url-of-channel>kanalın URL'si ile değiştirilir FORMATve örneğin mevcut herhangi bir video formatıyla değiştirilir 18.

Aynı oynatma listesinde veya kanalda olmayan videolar

İlk önce, YouTube'dan indirmek istediğiniz videoların URL'lerinin listesini içeren bir metin dosyası olan bir toplu iş dosyası oluşturun. URL’ler listedeki her URL için yeni bir satırla birlikte, her satırda yalnızca bir URL’ye ve başka hiçbir şeye sahip olmayan bir listede düzenlenmelidir. Toplu iş dosyasını, batch-file.txt gibi hatırlaması kolay bir adla kaydedin. Birden fazla dosyanın tümü YouTube'da aynı oynatma listesinde, kanalda veya kullanıcı web sayfasındaysa, aşağıdaki komutu çalıştırarak bu sayfadaki tüm bağlantıları içeren bir listeye sahip bir metin dosyası oluşturabilirsiniz:

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

Terminal çalışmasından:

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

Bu temel komuttur, ancak indirmek istediğiniz videoların formatlarını da eklemeniz gerekir, aksi takdirde kendinizi istemediğiniz formatlarda video indirirken bulabilirsiniz. Bu nedenle, ilk önce istediğiniz formatın mevcut olup olmadığını görmek için indirmeyi simüle edin:

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

Video biçimi mevcut değilse şeklinde bir hata mesajı alırsınız: requested format not available. Video formatı mevcutsa, --simulateseçeneği kullandığınızda hiçbir hata mesajı alamazsınız . Bunun gibi geçerli tüm biçimleri görmek için -F seçeneğini de ekleyebilirsiniz:

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

Üçüncü komuta ben ortak flv 360p video biçimini kullandık:
-f 34. Flv 480p video formatını kullanarak denemeyi tercih edebilirsiniz -f 35. Böylece, komuta istediğiniz video formatını ekledikten sonra, komut şöyle bir şeye dönüşür:

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

Notlar:

Bu --simulateseçeneği son komuta eklemedim , bu yüzden bu komut gerçek olarak çalıştırılacaktı.


18

URL'leri birbiri ardına, aralarında boşluk bırakabilirsiniz. Youtube-dl bunları sırayla indirir. Bu bir toplu iş dosyası yapmaktan biraz daha kolaydır.

--Help diyor ki dikkat youtube-dl --help Usage: youtube-dl [options] url [url...]

Örnek giriş:

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

Örnek çıktı:

    [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
Bence en iyi cevap! Çok basit!
gota

5

adım 1: masaüstünüze gidin velist(veya başka bir ad)denilen bir metin belgesi yapın. İndirmek istediğiniz dosyalar, her satıra bir URL olacak şekilde URL’leri kopyalayıp yapıştırın.

adım 2: terminali açın ve masaüstüne gidin

cd Desktop

Adım 3: Listenizdeki dosyaları indirmek için, (listeğer dosyanızı başka bir yere adlandırdıysanız, uygun şekildedeğiştirin) yazın.

youtube-dl -a list

YouTube kanalı indirmek için

Bu komutu çalıştır

youtube-dl -citk -format mp4 -yes-playlist VIDEO_PLAYLIST_LINK
  • -c kısmen indirilmiş dosyaları devam ettir
  • -i hataları görmezden gelin.
  • -t Video adını dosya adı olarak kullanın.
  • -k işlem sonrası bittikten sonra videoyu diskte tutun.
  • --format mp4 video dosyalarını MP4 dosyaları olarak kaydedin.
  • --yes-playlist izleyen URL’nin bir video oynatma listesine işaret ettiğini doğrular.

1
-citkçok yanıltıcıdır ve hatalara yol açabilir. -cçok mantıklı olmasa bile, devam etmeye zorlar. Varsayılan zaten devam etmektir. -iTamam olabilir, ancak bazı videolardaki hataları özleyemeyeceğinize dikkat edin. -tzaten varsayılan ve kullanımdan kaldırıldı. -khiçbir anlamı yok -f mp4. Daha fazla bilgi için youtube-dl SSS bölümüne bakın .
phihag

3

Birden fazla video URL’niz varsa, onları yeni bir tane oluşturarak veya mevcut olanı kullanarak tek bir oynatma listesine YouTube Oynatma Listesine ekleyin.

Ardından aşağıdaki komutu kullanın.

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

--yes-playlistURL bir video ve bir oynatma listesine işaret ediyorsa seçenek , oynatma listesini indirir.

Bu, YouTube’dan bağlantılı videoları olan bir web sitesinden yüzlerce video indirmek amacıyla bulduğum en basit ve en hızlı seçenek.


Bu, aynı kanaldan çok fazla video indirmek için kullanışlıdır. Herkese açık yapmak için listelenmemiş bir oynatma listesini kullanabilirsiniz
qwr

3

Birden fazla video indirmek için bu yapıyı kullanabilirsiniz. @ Coreyb'in bash'ın herhangi bir yerinde, örneğin eko ile kullanabileceğiniz ilaveye verdiği cevaba benzer. İşte iki yol:

pantolon askısı

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

Son argümanı son argüman olmadan tekrarla

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

3

En basit çözüm, böyle bir bash betiği yapmak olacaktır.

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

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

sadece bu txt dosyasındaki video linklerini her klasörün URL'sini yeni bir satırda kopyalayıp yapıştırın ve bu betiği çalıştırın , videoları teker teker indirir Varsayılan olarak -f 18seçenek 360p video içindir.


1

Komutu yazın &&ve sonraki komutu yazın ve yazın:

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

1

Bash betiği ile deneyin:

while read LL ; do youtube-dl "$LL" ; done < your_file

1

Konu hala geçerli, yani:

  • YouTube bağlantınızı alın.
  • İle başlayan ilk video parametresini kaldırın ?
  • bu şekilde kullanın :-)

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

Bu benim için çalışıyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.