youtube-dlを使用したプレイリストのダウンロードの問題


19

更新しようとするときにYouTubeからプレイリストをダウンロードしようとすると、youtube-dlを更新する必要があるというメッセージが表示されました。このエラーメッセージが表示されます。

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.

だから...あなたはそれが示唆したことをしましたか?
ナットゲ

1
タイトルに記載されている問題に遭遇しましたが、別の理由があります。誰かがこれに遭遇した場合(ただし、エラーメッセージは異なります)、youtube-dl -x "https://www.youtube.com/watch?v=abcd&list=efgh"Windows cmd.exeとLinuxシェルの両方がアンパサンド&を特殊文字として解釈するため、URLを引用符で囲むことを忘れないでください。
f.ardelian

回答:


31

私はこの問題を抱えていた..この方法を試してみてください...

旧バージョンのyoutube-dlを削除します

sudo apt-get remove -y youtube-dl

公式ウェブサイトから最新バージョンをダウンロードしてください

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

ダウンロードしたファイルの許可を変更する

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

詳細については、このリンクをご覧ください。

これがお役に立てば幸いです。


6

webUpd8のPPAを使用します:ppa:nilarimogard / webupd8

常に最新のバージョンが含まれています。

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

5

質問でプレイリストをダウンロードしようとしましたが、同じエラーメッセージが表示されました。正常に動作しているyoutube-dlを更新するのではなく、プレイリストWebページに移動し、URLをコピーして、ターミナルから次のコマンドを実行しました。

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  

これらのコマンドの結果は、そのWebページ上のすべてのリンクのリストです。すべての動画のURL(他のリンクではなく動画のみ)のリストを含むバッチファイルを作成し、各動画のURLを新しい行に追加しました。その後、これらの指示に従うことで、1つのコマンドですべてのビデオをダウンロードできました。

  1. ダウンロードするYouTubeの動画のURLのリストを含むテキストファイルであるバッチファイルを作成します。URLは、各行にURLを1つだけ持つリストに配置し、リスト内の各URLに新しい行を配置する必要があります。batch-file.txtのように覚えやすい名前でバッチファイルを保存します。複数のファイルがすべて同じユーザー、チャンネル、またはYouTubeのプレイリストWebページにある場合、次のコマンドを実行して、そのページのすべてのリンクを含むリストを含むテキストファイルを生成できます。

    youtube-dl -j --flat-playlist "https://<yourYoutubePlaylist>" | jq -r '.id' | sed 's_^_https://youtu.be/_' > batch-file.txt 
    
  2. ターミナルから実行:

    youtube-dl -ct --simulate --batch-file='/path/to/batch-file.txt'
    
  3. これは基本的なコマンドですが、ダウンロードするビデオの形式を追加する必要もあります。追加しないと、不要な形式のビデオをダウンロードすることになります。そのため、まずダウンロードをシミュレートして、必要な形式が利用可能かどうかを確認します。

    youtube-dl -ct -f 34 --simulate 'http://www.youtube.com/some-alphanumeric-string'
    
  4. ビデオ形式が利用できない場合、次のようなエラーメッセージが表示されますrequested format not available。ビデオ形式が利用可能な場合、この--simulateオプションを使用してもエラーメッセージは表示されません。次の-Fようなすべての有効な形式を表示するオプションを追加することもできます。

    youtube-dl -F 'http://www.youtube.com/some-alphanumeric-string'
    
  5. 上記のコマンドでは、一般的なflv 360pビデオ形式を使用しています-f 34。を使用してflv 480pビデオ形式を試すことをお勧めし-f 35ます。目的のビデオ形式をコマンドに追加すると、コマンドは次のようになります。

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

    --simulate最後のコマンドにオプションを追加しなかったため、このコマンドは実際に実行されます。


追加する必要がありました| grep index =リストファイルのみを取得するにはlynx --dump " youtube.com/playlist?list=PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2 " | awk '/ http / {print $ 2}' | ユニック| grepインデックス=
talsibony

0

私は以下のコードを使用しています

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

更新後も同様のエラーが発生しました。そこで、「-cit」の代わりに「-citv」を使用しました。

youtube-dl -cit https://www.youtube.com/playlist?list=PL55RiY5tL51pIQNcOLDjnaQJYuj_GjVSz
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.