14.04にyoutube-dlをインストールしました。
次のコマンドでビデオをダウンロードできます。
$ youtube-dl [youtube-link]
しかし、知りたいのはyoutubeビデオの利用可能なピクセル品質の選択方法(i.e 1080p、720p、480pなど).
ソフトウェアの説明では、彼らはそれが可能であると言いました(下の画像に示されています)が、どうするか..
ビデオをダウンロードするには、次のようにコマンドの後にURLを入力します。
youtube-dl 'http://www.youtube.com/watch?v=P9pzm5b6FFY'
ビデオ品質を選択するには、最初に-F
オプションを使用して利用可能な形式をリストします。ここに例を示します。
youtube-dl -F 'http://www.youtube.com/watch?v=P9pzm5b6FFY'
出力は次のとおりです。
[youtube] Setting language
[youtube] P9pzm5b6FFY: Downloading webpage
[youtube] P9pzm5b6FFY: Downloading video info webpage
[youtube] P9pzm5b6FFY: Extracting video information
[info] Available formats for P9pzm5b6FFY:
format code extension resolution note
140 m4a audio only DASH audio , audio@128k (worst)
160 mp4 144p DASH video , video only
133 mp4 240p DASH video , video only
134 mp4 360p DASH video , video only
135 mp4 480p DASH video , video only
136 mp4 720p DASH video , video only
17 3gp 176x144
36 3gp 320x240
5 flv 400x240
43 webm 640x360
18 mp4 640x360
22 mp4 1280x720 (best)
最高の品質は22です。したがって、-f 22
の代わりに-F
を使用して、次のように1280x720の解像度のMP4ビデオをダウンロードします。
youtube-dl -f 22 'http://www.youtube.com/watch?v=P9pzm5b6FFY'
Orオプションで次のフラグを使用して、単一のファイルとして利用可能な最適なオーディオおよびビデオトラックを自動的にダウンロードします。
youtube-dl -f best 'http://www.youtube.com/watch?v=P9pzm5b6FFY'
多重化プロセス中にエラーが発生した場合、またはビデオ品質の選択に問題がある場合は、次のコマンドのいずれかを使用できます。
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 'http://www.youtube.com/watch?v=P9pzm5b6FFY'
または Gabriel Staples 指摘 ここ の場合、通常、次のコマンドはビデオ品質ビットレートではなく、実際の最適な単一ファイルのビデオ品質解像度を選択します。
youtube-dl -f best 'http://www.youtube.com/watch?v=P9pzm5b6FFY'
これらのコマンドは、最高品質のmp4ビデオとm4aオーディオをビデオから単一のファイルとしてダウンロードするか、単一のmp4にマージします(私の場合はffmpeg
を使用)。 ffmpeg
またはavconv
が使用できない場合、youtube-dl
はデフォルトの代わりに単一のファイル-f best option
にフォールバックする必要があります。
詳細情報といくつかの異なる例については、ここをクリックしてください。
また、ガブリエル・ステープルズによるこの関連する回答を見るためにクリックしてください。
ソース: www.webupd8.org/2014/02/video-downloader-youtube-dl-gets.html
youtube-dl
を使用して1080pをダウンロードできますが、少し余分な作業が必要です。通常、youtube.comで1080pを表示できる場合でも、最大で720pのみをダウンロードします。
-F
で実行して、使用可能な形式を確認します。
youtube-dl -F https://www.youtube.com/watch\?v\=-pxRXP3w-sQ
171 webm audio only DASH audio 115k , audio@128k (44100Hz), 2.59MiB (worst)
140 m4a audio only DASH audio 129k , audio@128k (44100Hz), 3.02MiB
141 m4a audio only DASH audio 255k , audio@256k (44100Hz), 5.99MiB
160 mp4 256x144 DASH video 111k , 12fps, video only, 2.56MiB
247 webm 1280x720 DASH video 1807k , 1fps, video only, 23.48MiB
136 mp4 1280x720 DASH video 2236k , 24fps, video only, 27.73MiB
248 webm 1920x1080 DASH video 3993k , 1fps, video only, 42.04MiB
137 mp4 1920x1080 DASH video 4141k , 24fps, video only, 60.28MiB
43 webm 640x360
18 mp4 640x360
22 mp4 1280x720 (best)
youtube-dl
は最後のオプション1280x720を「最高の」品質としてラベル付けし、それがデフォルトでダウンロードするものですが、137で始まる行は実際には高品質の1920x1080であることに注意してください。 YoutubeはDASHというラベルの行のビデオとオーディオストリームを分離しているため、最高品質のオーディオ(この場合は141で始まる行)も選択する必要があります。次に、オーディオとビデオを指定してyoutube-dl
:
youtube-dl -f 137+141 https://www.youtube.com/watch\?v\=-pxRXP3w-sQ
1080pビデオをダウンロードし、最高品質のオーディオと自動マージします。また、ダウンロードした個別のパーツを自動削除する必要があります。この方法は少し余分な作業ですが、最良の結果が得られます。
特定の解像度を選択するには、サイズと音質を指定して、自動的に選択されるようにします。したがって、for 480p:
-f 'bestvideo[height<=480]+bestaudio/best[height<=480]'
720pなどのbestvideo[height<=720]+bestaudio/best[height<=720]
を使用します。これにより、~/.config/youtube-dl/config
(または/etc/youtube-dl.conf
)の設定ファイルに追加できるため、サイズの大きいダウンロードを取得できません。
mkdir ~/.config/youtube-dl
echo "-f 'bestvideo[height<=720]+bestaudio/best[height<=720]'" >> ~/.config/youtube-dl/config
特定のyoutube-dlの実行に対して構成ファイルを無効にする場合は、--ignore-config
を使用できます。
かなり頻繁に、別個のビデオとオーディオのSteamをダウンロードして、それらをマージする必要があることに注意してください。
その他の例については、 youtube-dl
のドキュメント を参照してください。
ここに記載されているもの以外の最高品質のビデオをダウンロードするためのその他のオプションのいくつかは、あなたの利便性に応じて以下に与えられます:
$ youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best'
$ youtube-dl -f 'bestvideo[height<=480]+bestaudio/best[height<=480]'
$ youtube-dl -f 'best[filesize<50M]'
$ youtube-dl -f '(bestvideo+bestaudio/best)[protocol^=http]'
参照:
Youtube-dl githubページから直接
形式のみを要求するbashラッパースクリプト。これには、音声のみ、動画のみを含むすべての利用可能なレンディションが含まれ、 mpv
で動画/音声をストリーミングします。
YouTubeの絶対URLと動画IDの両方を受け入れます。
#!/ usr/bin/env bash
# Download youtube video with desired quality
# youtube-dl accepts both fully qualified URLs and video id's such as AQcQgfvfF1M
url="$*"
echo "Fetching available formats for $url..."
youtube-dl -F "$url"
read -p "Please enter the desired quality code: " FORMAT
echo "Streaming with quality $FORMAT..."
mpv --cache=1024 $(youtube-dl -f $FORMAT -g "$url")
サンプル出力:
yt.sh https://m.youtube.com/watch?v=Dax_tnZRExc
[youtube] Dax_tnZRExc: Downloading webpage
[youtube] Dax_tnZRExc: Downloading video info webpage
[youtube] Dax_tnZRExc: Extracting video information
[youtube] Dax_tnZRExc: Downloading MPD manifest
[info] Available formats for Dax_tnZRExc:
format code extension resolution note
139 m4a audio only DASH audio 49k , m4a_dash container, mp4a.40.5@ 48k (22050Hz), 308.75KiB
249 webm audio only DASH audio 50k , opus @ 50k, 271.91KiB
250 webm audio only DASH audio 70k , opus @ 70k, 366.63KiB
171 webm audio only DASH audio 118k , vorbis@128k, 652.50KiB
140 m4a audio only DASH audio 127k , m4a_dash container, mp4a.40.2@128k (44100Hz), 820.00KiB
251 webm audio only DASH audio 130k , opus @160k, 705.84KiB
160 mp4 256x144 DASH video 109k , avc1.4d400c, 13fps, video only, 703.64KiB
278 webm 256x144 144p 111k , webm container, vp9, 25fps, video only, 439.72KiB
242 webm 426x240 240p 243k , vp9, 25fps, video only, 623.95KiB
133 mp4 426x240 DASH video 252k , avc1.4d4015, 25fps, video only, 1.54MiB
134 mp4 640x360 DASH video 388k , avc1.4d401e, 25fps, video only, 1.24MiB
243 webm 640x360 360p 458k , vp9, 25fps, video only, 1.19MiB
135 mp4 854x480 DASH video 761k , avc1.4d401e, 25fps, video only, 2.40MiB
244 webm 854x480 480p 893k , vp9, 25fps, video only, 2.00MiB
136 mp4 1280x720 DASH video 1382k , avc1.4d401f, 25fps, video only, 4.56MiB
247 webm 1280x720 720p 1754k , vp9, 25fps, video only, 3.94MiB
137 mp4 1920x1080 DASH video 2350k , avc1.640028, 25fps, video only, 8.48MiB
248 webm 1920x1080 1080p 2792k , vp9, 25fps, video only, 8.09MiB
17 3gp 176x144 small , mp4v.20.3, mp4a.40.2@ 24k
36 3gp 320x180 small , mp4v.20.3, mp4a.40.2
43 webm 640x360 medium , vp8.0, vorbis@128k
18 mp4 640x360 medium , avc1.42001E, mp4a.40.2@ 96k
22 mp4 1280x720 hd720 , avc1.64001F, mp4a.40.2@192k (best)
Please enter the desired format #
動画をストリーミングするのではなくダウンロードする場合は、
mpv --cache=1024
部分とドル記号を角かっこで削除してください。
この回答、ここで最も投票数が多いshould利用可能な最高のビデオ品質を提供する権利がありますが、そうではありません。 bestvideo+bestaudio
は、video onlyおよびのオプションの最適なビデオとオーディオのみを選択するようです。オーディオのみ、その後、2つをマージします。これは、youtube-dlのデフォルトの動作と同じように見えることに注意してください。しかし、私が見ていたビデオでは、最高の品質は、ビデオとオーディオを組み合わせたフォーマットにすでになっている単一の事前マージされたファイルでした。 bestvideo+bestaudio
オプションは、separateビデオファイルとオーディオファイルのみを探していたため、この最高品質の720pファイルを選択しませんでした。以下の詳細。
解決?代わりにビデオとオーディオの両方を1つに含む最高の単一ファイルを入手してください、これで:
youtube-dl -f best https://youtu.be/FWGC9SqA3J0
つまり、-f best
オプションではなく、-f bestvideo+bestaudio
オプションを使用してください。
より具体的には、実行の結果については以下を参照してください
youtube-dl -F https://youtu.be/FWGC9SqA3J0
どのビデオ「F」オーマットがダウンロード可能かを確認するには:
gabriel ~ $ youtube-dl -F https://youtu.be/FWGC9SqA3J0
[youtube] FWGC9SqA3J0: Downloading webpage
[youtube] FWGC9SqA3J0: Downloading video info webpage
[youtube] FWGC9SqA3J0: Downloading MPD manifest
[youtube] FWGC9SqA3J0: Downloading MPD manifest
[info] Available formats for FWGC9SqA3J0:
format code extension resolution note
139 m4a audio only DASH audio 50k , m4a_dash container, mp4a.40.5@ 48k (22050Hz), 2.30MiB
249 webm audio only DASH audio 51k , opus @ 50k, 2.34MiB
250 webm audio only DASH audio 62k , opus @ 70k, 2.85MiB
171 webm audio only DASH audio 103k , vorbis@128k, 4.68MiB
251 webm audio only DASH audio 109k , opus @160k, 5.10MiB
140 m4a audio only DASH audio 130k , m4a_dash container, mp4a.40.2@128k (44100Hz), 6.13MiB
160 mp4 256x138 DASH video 108k , mp4_dash container, avc1.4d400b, 24fps, video only
134 mp4 640x348 DASH video 142k , mp4_dash container, avc1.4d401e, 24fps, video only, 3.42MiB
133 mp4 426x232 DASH video 242k , mp4_dash container, avc1.4d400c, 24fps, video only
136 mp4 1280x694 DASH video 473k , mp4_dash container, avc1.4d401f, 24fps, video only, 8.01MiB
135 mp4 854x464 DASH video 1155k , mp4_dash container, avc1.4d4014, 24fps, video only
17 3gp 176x144 small , mp4v.20.3, mp4a.40.2@ 24k, 1.63MiB
36 3gp 320x174 small , mp4v.20.3, mp4a.40.2, 2.98MiB
43 webm 640x360 medium , vp8.0, vorbis@128k, 7.44MiB
18 mp4 640x348 medium , avc1.42001E, mp4a.40.2@ 96k, 8.54MiB
22 mp4 1280x694 hd720 , avc1.64001F, mp4a.40.2@192k (best)
行22の右端に「(best)」と表示されていることに注意してください。これは、hd720品質を提供する唯一のオプションです。これは、YouTubeのWebブラウザーでこのビデオを視聴するときに最高の品質です。それは最も明確で、最高の定義を持っています。トップアンサーで推奨されているコマンドのいずれかを使用する場合:
youtube-dl -f bestvideo+bestaudio https://youtu.be/FWGC9SqA3J0
または:
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 https://youtu.be/FWGC9SqA3J0
ビデオの品質と解像度の両方が低くなります。andのファイルサイズは大きくなります。私はそれを正確に理解していませんが、-f best
オプションは間違いなく私に本当に最高の解像度を与える唯一のものです。
スクリーンショットは次のとおりです。
lower quality-f bestvideo+bestaudio
オプションを使用すると、正しい答えとしてここで受け入れられます(または、デフォルトオプションyoutube-dl https://youtu.be/FWGC9SqA3J0
を使用します):
higher quality-f best
オプションを使用することをお勧めします:
詳細については、man youtube-dl
を参照してください。
私はディスクセーバーなので、1280 x 720
という形式のビデオをダウンロードします。4k
ビデオはハードディスクのサイズが大きくなるためです。
だから、以下に示すような〜/.bashrcファイルにyoutube-dl
を追加します
作品の設定-
端末を開いて入力します
nano ~/.bashrc
alias yt='youtube-dl -if best'
source ~/.bashrc
実験-
端末を開いて入力しますyt https://www.youtube.com/watch?v=puPUJlV1-W4
最高品質のビデオのダウンロードが開始されます。
説明-
bashでは、bashコマンドへのショートカットのように機能するエイリアスを定義できます。
この場合、エイリアスを-
aliasyt= 'youtube-dl-if best'
ここで、ytは、「youtube-dl」のショートカットコマンドで、安心感を与えます。
指で長いコマンドを入力します。
ytの場所では何でも書くことができます。youtube-dl -if best
にフラグ-iを設定しました
は
プレイリストで利用できない動画をスキップするなど、ダウンロードエラーが発生しても続行します