Sự cố khi tải xuống danh sách phát bằng youtube-dl


19

Tôi nhận được thông báo rằng youtube-dl phải được cập nhật khi tôi cố tải xuống danh sách phát từ youtube khi tôi cố cập nhật Tôi có thông báo lỗi này:

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.

Vậy ... bạn đã làm gì mà nó đề nghị chưa?
Nattgew

1
Tôi gặp vấn đề được mô tả trong tiêu đề, nhưng vì một lý do khác. Ví dụ youtube-dl -x "https://www.youtube.com/watch?v=abcd&list=efgh", nếu bất kỳ ai gặp phải vấn đề này (nhưng thông báo lỗi là khác nhau), hãy nhớ đặt URL của bạn giữa các dấu ngoặc kép , vì cả vỏ Windows cmd.exe và Linux đều hiểu ký hiệu &là ký tự đặc biệt.
f.ardelian

Câu trả lời:


31

Tôi đã có vấn đề này .. Hãy thử cách này ...

Xóa phiên bản cũ của youtube-dl

sudo apt-get remove -y youtube-dl

Tải xuống phiên bản mới nhất từ ​​trang web chính thức

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

Thay đổi quyền của tệp đã tải xuống

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

Kiểm tra liên kết này để biết thêm chi tiết.

Hy vọng điều này sẽ giúp bạn ..


6

Sử dụng ppa của webUpd8: ppa: nilarimogard / webupd8

Nó luôn chứa phiên bản up2date nhất.

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

5

Tôi đã thử tải xuống danh sách phát trong câu hỏi của bạn và tôi nhận được thông báo lỗi giống như bạn đã làm. Thay vì cập nhật youtube-dl đang hoạt động tốt, tôi đã truy cập trang web danh sách phát của bạn, sao chép URL và chạy các lệnh sau từ thiết bị đầu cuối:

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  

Kết quả của các lệnh này là một danh sách tất cả các liên kết trên trang web đó. Tôi đã tạo một tệp bó với một danh sách các URL của tất cả các video trong đó (chỉ các video, không phải các liên kết khác), mỗi URL video trên một dòng mới. Sau đó tôi có thể tải xuống tất cả các video bằng một lệnh duy nhất bằng cách làm theo các hướng dẫn sau.

  1. Tạo một tệp bó là tệp văn bản chứa danh sách URL của video từ YouTube mà bạn muốn tải xuống. Các URL phải được sắp xếp trong một danh sách chỉ có một URL và không có gì khác trên mỗi dòng, với một dòng mới cho mỗi URL trong danh sách. Lưu tệp bó với một tên dễ nhớ như batch-file.txt. Nếu nhiều tệp trên cùng một trang web người dùng, kênh hoặc danh sách phát trong YouTube, bạn có thể tạo tệp văn bản với danh sách có tất cả các liên kết trên trang đó bằng cách chạy lệnh sau:

    youtube-dl -j --flat-playlist "https://<yourYoutubePlaylist>" | jq -r '.id' | sed 's_^_https://youtu.be/_' > batch-file.txt 
    
  2. Từ thiết bị đầu cuối chạy:

    youtube-dl -ct --simulate --batch-file='/path/to/batch-file.txt'
    
  3. Đây là lệnh cơ bản, tuy nhiên bạn cũng cần thêm các định dạng của video mà bạn muốn tải xuống nếu không bạn có thể thấy mình tải xuống các video có định dạng mà bạn không muốn. Vì vậy, trước tiên hãy mô phỏng bản tải xuống của bạn để xem định dạng bạn muốn có sẵn không:

    youtube-dl -ct -f 34 --simulate 'http://www.youtube.com/some-alphanumeric-string'
    
  4. Nếu định dạng video không có sẵn, bạn sẽ nhận được thông báo lỗi cho biết : requested format not available. Nếu định dạng video khả dụng, bạn sẽ không nhận được bất kỳ thông báo lỗi nào khi bạn sử dụng --simulatetùy chọn. Bạn cũng có thể thêm -Ftùy chọn để xem tất cả các định dạng hợp lệ như thế này:

    youtube-dl -F 'http://www.youtube.com/some-alphanumeric-string'
    
  5. Trong lệnh trên tôi đã sử dụng định dạng video flv 360p phổ biến : -f 34. Bạn có thể thích thử định dạng video flv 480p bằng cách sử dụng -f 35. Sau khi bạn đã thêm định dạng video mà bạn muốn vào lệnh, lệnh sẽ trở thành một cái gì đó như thế này:

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

    Tôi đã không thêm --simulatetùy chọn vào lệnh cuối cùng, vì vậy lệnh này sẽ được thực thi thực sự.


Tôi đã phải thêm | grep index = chỉ nhận các tệp danh sách lynx --dump " youtube.com/playlist?list=PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2 " | awk '/ http / {in $ 2}' | uniq | chỉ số grep =
talsibony

0

Tôi đã được sử dụng mã dưới đây

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

Ngay cả sau khi cập nhật tôi cũng gặp lỗi tương tự. Vì vậy, thay vì '-cit' tôi đã sử dụng '-citv' và nó đã hoạt động.

youtube-dl -cit https://www.youtube.com/playlist?list=PL55RiY5tL51pIQNcOLDjnaQJYuj_GjVSz
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.