youtube-dlを使用して、YouTubeからファイルをダウンロードします。複数のファイルをダウンロードしようとしましたが、うまくいきません。ビデオをダウンロードするたびに、複数のターミナルを開き、新たに起動する必要があります。
すべてのURLを一度に言及するだけで、単一のターミナルウィンドウで複数のファイルをダウンロードできますか?Ubuntu 12.04 64ビットを使用します。
youtube-dlを使用して、YouTubeからファイルをダウンロードします。複数のファイルをダウンロードしようとしましたが、うまくいきません。ビデオをダウンロードするたびに、複数のターミナルを開き、新たに起動する必要があります。
すべてのURLを一度に言及するだけで、単一のターミナルウィンドウで複数のファイルをダウンロードできますか?Ubuntu 12.04 64ビットを使用します。
回答:
すべてのビデオが同じプレイリストまたは同じチャンネルにある場合、次のショートカットを使用して時間を節約できます。
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
最後のコマンドにオプションを追加しなかったため、このコマンドは実際に実行されます。
間にスペースを入れて、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:デスクトップに移動して、テキストドキュメント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がビデオプレイリストを指していることを確認します。-citk
非常に誤解を招きやすく、エラーにつながる可能性があります。-c
あまり意味がなくても、強制的に再開します。デフォルトでは、すでに続行されています。-i
大丈夫かもしれませんが、いくつかのビデオでエラーを見逃すかもしれないことに注意してください。-t
既にデフォルトであり、推奨されていません。-k
意味がありません-f mp4
。詳細については、youtube-dl FAQを参照してください。
複数の動画URLがある場合は、新しいURLを作成するか、既存のURLを使用して、1つの再生リストに追加します。
次に、以下のコマンドを使用します。
youtube-dl -f FORMAT --yes-playlist [url-of-playlist]
--yes-playlist
URLがビデオとプレイリストを参照している場合、オプションはプレイリストをダウンロードします。
これは、YouTubeからリンクされたビデオがあるWebサイトから何百ものビデオをダウンロードするという目的のために見つけた最も簡単で迅速なオプションです。
最も簡単な解決策は、このような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ビデオ用です
コマンドを入力してから&&
、次のコマンドを入力して入力します。
youtube-dl--add-metadata -xic http://(the url) && youtube-dl--add-metadata -xic http://(the url)