web-dev-qa-db-ja.com

youtube-dlを使用してYouTubeビデオを最高品質のオーディオMP3としてダウンロードする方法

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としてダウンロードする方法を教えてください

53
Eka

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>
74
Maythux

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 "
9
Luis Gneiting

非常に簡単に音声リンクを取得できる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()
8
Khang .NT

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
5
Wilf