Masalah mengunduh daftar putar menggunakan youtube-dl

19

Saya mendapat pesan bahwa youtube-dl harus diperbarui ketika saya mencoba mengunduh daftar putar dari youtube ketika saya mencoba memperbarui Saya punya pesan kesalahan ini:

elshahen@elshahen-LAB:~$ youtube-dl -cit https://www.youtube.com/playlist?list=PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2
[youtube:playlist] PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2: Downloading page #1
WARNING: [youtube:playlist] PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2: Playlist page is missing OpenGraph title, falling back ...
ERROR: Unable to extract title; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.
Elshahen
sumber
Jadi ... apakah Anda melakukan sesuatu yang disarankan?
Nattgew
1
Saya mengalami masalah yang dijelaskan dalam judul, tetapi karena alasan lain. Jika ada yang mengalami hal ini (tetapi pesan kesalahannya berbeda), ingatlah untuk meletakkan URL Anda di antara tanda kutip, misalnya youtube-dl -x "https://www.youtube.com/watch?v=abcd&list=efgh", karena Windows cmd.exe dan cangkang Linux menginterpretasikan ampersand &sebagai karakter khusus.
f.ardelian

Jawaban:

31

Saya memang memiliki masalah ini .. Cobalah dengan cara ini ...

Hapus versi lama youtube-dl

sudo apt-get remove -y youtube-dl

Unduh versi terbaru dari situs web resmi

sudo wget https://yt-dl.org/latest/youtube-dl -O /usr/local/bin/youtube-dl

Ubah izin file yang diunduh

sudo chmod a+x /usr/local/bin/youtube-dl

Lihat tautan ini untuk detail lebih lanjut.

Semoga ini bisa membantu Anda ..

Pangeran Saiyan
sumber
6

Gunakan ppa dari webUpd8: ppa: nilarimogard / webupd8

Itu selalu berisi versi paling up2date.

sudo apt-get remove youtube-dl
sudo apt-add-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install youtube-dl
keiki
sumber
5

Saya mencoba mengunduh daftar putar di pertanyaan Anda, dan saya mendapat pesan kesalahan yang sama dengan yang Anda lakukan. Daripada memperbarui youtube-dl yang berfungsi dengan baik seperti itu, saya pergi ke halaman web daftar putar Anda, menyalin URL dan menjalankan perintah berikut dari terminal:

sudo apt install jq # command-line JSON processor    
cd Desktop/    
youtube-dl -j --flat-playlist "https://<yourYoutubePlaylist>" | jq -r '.id' | sed 's_^_https://youtu.be/_' > batch-file.txt  

Hasil dari perintah ini adalah daftar semua tautan di halaman web itu. Saya membuat file batch dengan daftar URL semua video di dalamnya (hanya video, bukan tautan lainnya), masing-masing URL video pada baris baru. Setelah itu saya bisa mengunduh semua video dengan satu perintah dengan mengikuti instruksi ini.

  1. Buat file batch yang merupakan file teks yang berisi daftar URL video dari YouTube yang ingin Anda unduh. URL harus diatur dalam daftar yang hanya memiliki satu URL dan tidak ada yang lain di setiap baris, dengan baris baru untuk setiap URL dalam daftar. Simpan file batch dengan nama yang mudah diingat seperti batch-file.txt. Jika beberapa file semuanya berada pada halaman web pengguna, saluran atau daftar putar yang sama di YouTube, Anda dapat membuat file teks dengan daftar yang memiliki semua tautan di halaman itu dengan menjalankan perintah berikut:

    youtube-dl -j --flat-playlist "https://<yourYoutubePlaylist>" | jq -r '.id' | sed 's_^_https://youtu.be/_' > batch-file.txt 
    
  2. Dari terminal run:

    youtube-dl -ct --simulate --batch-file='/path/to/batch-file.txt'
    
  3. Ini adalah perintah dasar, namun Anda juga perlu menambahkan format video yang ingin Anda unduh atau Anda dapat mengunduh video dengan format yang tidak Anda inginkan. Jadi, pertama-tama, simulasikan unduhan Anda untuk melihat apakah format yang Anda inginkan tersedia:

    youtube-dl -ct -f 34 --simulate 'http://www.youtube.com/some-alphanumeric-string'
    
  4. Jika format video tidak tersedia Anda akan mendapatkan pesan error yang mengatakan: requested format not available. Jika format video tersedia, Anda tidak akan mendapatkan pesan kesalahan saat menggunakan --simulateopsi. Anda juga dapat menambahkan -Fopsi untuk melihat semua format yang valid seperti ini:

    youtube-dl -F 'http://www.youtube.com/some-alphanumeric-string'
    
  5. Dalam perintah di atas saya telah menggunakan umum flv 360p video format: -f 34. Anda mungkin lebih suka mencoba format video flv 480p dengan menggunakan -f 35. Setelah Anda menambahkan format video yang Anda inginkan ke perintah, perintahnya menjadi seperti ini:

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

    Saya tidak menambahkan --simulateopsi ke perintah terakhir, jadi perintah ini akan dieksekusi nyata.

karel
sumber
Saya harus menambahkan | grep index = untuk mendapatkan hanya file daftar lynx --dump " youtube.com/playlist?list=PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2 " | awk '/ http / {print $ 2}' | uniq | grep index =
talsibony
0

Saya telah menggunakan kode di bawah ini

youtube-dl -cit https://www.youtube.com/playlist?list=PL55RiY5tL51pIQNcOLDjnaQJYuj_GjVSz

Bahkan setelah pembaruan saya mendapat kesalahan serupa. Jadi, alih-alih '-cit' saya menggunakan '-citv' dan berhasil.

youtube-dl -cit https://www.youtube.com/playlist?list=PL55RiY5tL51pIQNcOLDjnaQJYuj_GjVSz
CodeGench
sumber