youtube-dlを使用して複数のファイルをダウンロードする


45

youtube-dlを使用して、YouTubeからファイルをダウンロードします。複数のファイルをダウンロードしようとしましたが、うまくいきません。ビデオをダウンロードするたびに、複数のターミナルを開き、新たに起動する必要があります。

すべてのURLを一度に言及するだけで、単一のターミナルウィンドウで複数のファイルをダウンロードできますか?Ubuntu 12.04 64ビットを使用します。


1
あなたの質問に対する答えではありませんが、他の人はこれにつまずくかもしれません。ビデオが何らかの形で関連している場合、youtube-dlはプレイリスト、ユーザー、またはチャンネルからすべてのビデオをダウンロードできることに注意してください。
デニス

URLの間にスペースを追加するだけで、完了です。
ゴタ

回答:


54

ショートカット

すべてのビデオが同じプレイリストまたは同じチャンネルにある場合、次のショートカットを使用して時間を節約できます。

プレイリスト

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

... where <url-of-playlist>は、プレイリストのURLに置き換えられ、FORMAT利用可能なビデオ形式(たとえば)に置き換えられます18。この-Fオプションを使用して、次のようなすべての有効な形式を表示できます。

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

バッチの開始から終了までプレイリストの一部をダウンロードします

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

...どこ<url-of-playlist>プレイリストのURLに置き換えられ、取り替えるFORMAT例えば、任意の利用可能なビデオフォーマットで18、及びNUMBERでダウンロード/終了を開始するためにプレイリスト内の動画の数です。

チャネル

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

... where <url-of-channel>は、チャンネルのURLに置き換えられ、FORMAT使用可能なビデオ形式(例:)に置き換えられます18

同じプレイリストまたはチャンネルにない動画

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

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

ターミナルから実行:

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

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

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

ビデオ形式が利用できない場合、次のようなエラーメッセージが表示されますrequested format not available。ビデオ形式が利用可能な場合、この--simulateオプションを使用してもエラーメッセージは表示されません。-Fオプションを追加して、次のようなすべての有効な形式を表示することもできます。

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

3番目のコマンドでは、一般的なflv 360pビデオ形式を使用しました
-f 34。を使用してflv 480pビデオ形式を試すことをお勧めし-f 35ます。したがって、コマンドに必要なビデオ形式を追加すると、コマンドは次のようになります。

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

ノート:

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


18

間にスペースを入れて、URLを次々に配置できます。Youtube-dlはそれらを順次ダウンロードします。これは、バッチファイルを作成するよりも少し簡単です。

--helpに注意してください youtube-dl --help Usage: youtube-dl [options] url [url...]

サンプル入力:

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

サンプル出力:

    [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
私の意見ではベストアンサー!とても簡単です!
ゴタ

5

ステップ1:デスクトップに移動して、テキストドキュメントlist(またはその他の名前)を作成します。ファイルをファイルにダウンロードする場合は、URLを1行に1つずつコピーして貼り付けます

ステップ2:ターミナルを開き、デスクトップに移動します

cd Desktop

ステップ3:リスト上のファイルをダウンロードするには、次のように入力します(listファイルに別の名前を付けた場合は、それに応じて置き換えます)

youtube-dl -a list

YouTube チャンネルをダウンロードするには

このコマンドを実行する

youtube-dl -citk -format mp4 -yes-playlist VIDEO_PLAYLIST_LINK
  • -c 部分的にダウンロードしたファイルを再開する
  • -i エラーを無視します。
  • -t ビデオ名をファイル名として使用します。
  • -k 後処理が終了した後、ビデオをディスクに保存します。
  • --format mp4 ビデオファイルをMP4ファイルとして保存します。
  • --yes-playlist 続くURLがビデオプレイリストを指していることを確認します。

1
-citk非常に誤解を招きやすく、エラーにつながる可能性があります。-cあまり意味がなくても、強制的に再開します。デフォルトでは、すでに続行されています。-i大丈夫かもしれませんが、いくつかのビデオでエラーを見逃すかもしれないことに注意してください。-t既にデフォルトであり、推奨されていません。-k意味がありません-f mp4。詳細については、youtube-dl FAQを参照してください。
フィハグ

3

複数の動画URLがある場合は、新しいURLを作成するか、既存のURLを使用して、1つの再生リストに追加します。

次に、以下のコマンドを使用します。

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

--yes-playlistURLがビデオとプレイリストを参照している場合、オプションはプレイリストをダウンロードします。

これは、YouTubeからリンクされたビデオがあるWebサイトから何百ものビデオをダウンロードするという目的のために見つけた最も簡単で迅速なオプションです。


これは、同じチャンネルから多くのビデオをダウンロードするのに便利です。非公開のプレイリストを使用して、公開しないようにすることができます
-qwr

3

複数のビデオをダウンロードするには、この構造を使用できます。@coreybの応答に似ていますが、bashの他の場所(エコーなど)で使用できる点が追加されています。次の2つの方法があります。

中括弧

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

最後の引数なしで最後のコマンドを繰り返します

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

3

最も簡単な解決策は、このようなbashスクリプトを作成することです

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

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

ドキュメントフォルダ内のそのtxtファイル内のビデオリンクをコピーして、各行のビデオURLを新しい行に貼り付け、このスクリプトを実行 すると、ビデオが1つずつダウンロードされ ます。デフォルトでは、-f 18オプションは360pビデオ用です


1

コマンドを入力してから&&、次のコマンドを入力して入力します。

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

1

bashスクリプトで試してください:

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

1

トピックは依然として関連しているため、

  • YouTubeリンクを取得します。
  • で始まる最初の動画パラメータを削除します ?
  • このように使用します:-)

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

これは私のために動作します。

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