YouTube動画を最高品質のmp3ファイルとしてダウンロードしたい。以下のコードは、YouTubeビデオをm4a
としてダウンロードするのに役立ちますが、私たちではなくmp3
としてダウンロードします
youtube-dl -f bestaudio --audio-quality 0 --audio-format mp3 https://www.youtube.com/playlist?list=PLYRruMbyFRcBVdVN8v4FNkIKkXvL-bZn_
bestaudio
パラメータを使用してYouTubeビデオをmp3
としてダウンロードする方法を教えてください
man youtube-dl
から:
-x, --extract-audio Convert video files to audio-only files (requires ffmpeg or avconv and ffprobe or avprobe)
--audio-format FORMAT Specify audio format: "best", "aac", "vorbis", "mp3", "m4a", "opus", or "wav"; "best" by default
--audio-quality QUALITY Specify ffmpeg/avconv audio quality, insert a value between 0 (better) and 9 (worse) for VBR or a specific bitrate like 128K (default
したがって、コマンドは次のようになります。
youtube-dl -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 <Video-URL>
--audio-quality 0
は最高のエンコード品質を使用しますが、ファイルサイズを不必要に大きくする可能性があります。デフォルトは5で、ソースの品質に応じてより適切な選択になる場合があります。
そのため、品質とファイルサイズが重要な場合は、再エンコードを避け、Youtubeのネイティブの音楽形式を維持する必要があります。
youtube-dl -f bestaudio[ext=m4a] --embed-thumbnail --add-metadata <Video-URL>
m4a
ファイルになります
youtube-dl -f bestaudio --extract-audio --embed-thumbnail --add-metadata <Video-URL>
おそらくogg
ファイルになります。
使用可能な形式を一覧表示できます
youtube-dl -F <Video-URL>
Mp3ファイルのみが必要な場合:
youtube-dl -f bestaudio "https://www.youtube.com/playlist?list=PLYRruMbyFRcBVdVN8v4FNkIKkXvL-bZn_" --exec "ffmpeg -i {} -codec:a libmp3lame -qscale:a 0 {}.mp3 && rm {} "
元のファイルを削除したくない場合:
youtube-dl -f bestaudio "https://www.youtube.com/playlist?list=PLYRruMbyFRcBVdVN8v4FNkIKkXvL-bZn_" --exec "ffmpeg -i {} -codec:a libmp3lame -qscale:a 0 {}.mp3 "
非常に簡単に音声リンクを取得できるPafy(Python)を使用することをお勧めします。必要に応じて、直接ダウンロードできます。
#python3
import pafy
video = pafy.new('video id or video url')
bestaudio = video.getbestaudio()
bestaudio.bitrate #get bit rate
bestaudio.extension #extension of audio fileurl
...
bestaudio.url #get url
...
#download if you want
bestaudio.download()
man youtube-dl
の他の部分にも注意する価値があります(オンラインコピーは here にあります)。
(TL; DRを考えている人は、4番目の段落を読むだけで、youtube-dl -x URL
を使用できます。とにかく最高の品質をダウンロードできるはずです:)
また、youtube-dl -f bestaudio URL
は私の経験で機能します!ただし、これらの両方のオプションでは、ほとんどの場合、 ffmpeg
などを使用してMP3に変換する必要があります-ファイルを既に編集しているため、 tag it (古いほとんどのデバイス互換性のためのID3バージョン!)。
フォーマットの選択
デフォルトでは、youtube-dlは最高品質のダウンロードを試みますが、他の形式をダウンロードすることもできます。最も単純なケースは、
-f 22
などの特定の形式を要求することです。--list-formats
を使用して使用可能な形式のリストを取得できます。また、ファイル拡張子(現在はaac、m4a、mp3、mp4、ogg、wav、webmをサポート)または特別な名前best、bestvideo、bestaudioおよび最悪。複数のビデオをダウンロードしたいが、利用可能な同じ形式がない場合は、in
-f 22/17/18
のように、スラッシュを使用して優先順位を指定できます。-f "best[height=720]"
(または-f "[filesize>10M]"
)のように、括弧で条件を指定することにより、ビデオの結果をフィルタリングすることもできます。これは、ファイルサイズ、高さ、幅、tbr、abr、vbr、asr、およびfpsと、<、<=、>、> =、=、!=の比較、およびext、コーデック、vcodec、コンテナ、およびプロトコルと比較=、!=値が不明な形式は、演算子の後に疑問符(?)を付けない限り除外されます。フォーマットフィルターを組み合わせることができるため、-f "[height <=? 720][tbr>500]"
は、少なくとも500 KBit/sのビットレートで最大720pのビデオ(または高さが不明なビデオ)を選択します。カンマを使用して
-f 136/137/mp4/bestvideo,140/m4a/bestaudio.
などの複数の形式をダウンロードします。-f <video-format>+<audio-format>
などの-f bestvideo+bestaudio.
(ffmpegまたはavconvが必要)を使用して、2つの形式のビデオとオーディオを1つのファイルにマージできます。2015年4月末およびバージョン2015.04.26以降、youtube-dlはデフォルトの形式選択として
-f bestvideo+bestaudio/best
を使用します(#5447、#5456を参照)。 ffmpegまたはavconvがインストールされている場合、bestvideoとbestaudioを個別にダウンロードし、それらを単一ファイルに多重化して、利用可能な最高の全体品質を提供します。それ以外の場合は、最適な状態に戻り、使用可能な最高品質のファイルが1つのファイルとしてダウンロードされます。また、2つの異なるファイルでオーディオとビデオを提供しないため、YouTubeから来ていないビデオにも最適です。一部のダッシュ形式のみをダウンロードする場合(たとえば、1080pよりも高い解像度のビデオを取得したくない場合)、構成ファイルに-f bestvideo[height<=?1080]+bestaudio/best
を追加できます。 youtube-dlを使用してstdoutにストリーミングする場合(およびメディアプレーヤーにパイプする可能性が最も高い)、つまり出力テンプレートを-o -
として明示的に指定する場合、youtube-dlは引き続き-f best
形式を使用します。プレーヤーへのコンテンツ配信をすぐに開始し、bestvideoとbestaudioがダウンロードされて多重化されるまで待たないための選択。古い形式の選択動作(youtube-dl 2015.04.26より前)を保持する場合、つまり単一のファイルとして提供される最高品質のメディアをダウンロードする場合は、
-f best
で選択を明示的に指定する必要があります。 youtube-dlを実行するたびに入力しないように、構成ファイル(#configuration)に追加することをお勧めします。...
-bオプションを元に戻せますか?
この質問をするほとんどの人は、youtube-dlがデフォルトでYouTubeが報告する最高の品質(場合によっては1080pまたは720p)をダウンロードすることを認識していないため、-bオプションは不要になりました。一部の特定の動画については、YouTubeが興味のある特定の高品質形式で利用できると報告しない場合があります。その場合は、
-f
オプションでリクエストすると、youtube-dlがダウンロードを試みます。 。
Youtube(おそらくがビデオ再生サイトであると想定される)も音声を圧縮します( here を参照) 120〜KB、これは非常に低いですが、ほとんどの部分は問題ないようです。
ダウンロードしたビデオを比較するには、ダウンロードしたビデオ/オーディオトラックを照会して(avprobe
の代わりにffprobe
を使用する必要がある場合があります)、どれが最適かを確認できます。
$ ffprobe -hide_banner output-output-loads-of-options.webm
Input #0, matroska,webm, from 'output-output-loads-of-options.webm':
Metadata:
encoder : google
Duration: 00:04:02.63, start: 0.000000, bitrate: 118 kb/s
Stream #0:0(eng): Audio: vorbis, 44100 Hz, stereo, fltp (default)
$ ffprobe -hide_banner output_with_just_-x.ogg
Input #0, ogg, from 'output_with_just_-x':
Duration: 00:04:02.65, start: 0.000000, bitrate: 117 kb/s
Stream #0:0(eng): Audio: vorbis, 44100 Hz, stereo, fltp, 128 kb/s
Metadata:
LANGUAGE : eng
ENCODER : Lavf56.4.101