Youtube で音だけ欲しかったのでメモ。
yt-dlp というツールを使う。
まずは pip でインストール
$ python3 -m pip install -U yt-dlp
パスの通ってない $HOME/.local/ 配下にインストールされた云々のメッセージが出たので .profile を読み込み直してパスを通す。
$ source ~/.profile
DLした動画と音声を結合したりするためには ffmpeg も必要なのでこれもインストールしておく。
$ sudo apt install ffmpeg
いざ動画を DL する場合
$ yt-dlp "https://www.youtube.com/watch?v=AAAAAAAA"
WebM 形式で落ちてくる。
mp3 音声だけ欲しい場合
$ yt-dlp -x --audio-format mp3 "https://www.youtube.com/watch?v=AAAAAAAA"
これで mp3 ファイルが出来上がる。
挙動を見たところ一度動画を落としてから音だけ抽出して元ファイル消してた。
おまけ)
mp4 でも DL したい場合はこれで最高画質選択で mp4 になる。
$ yt-dlp -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" "https://www.youtube.com/watch?v=AAAAAAAA"
ファイルが大きすぎるから画質を720pでDLしたい場合はheight属性を指定。
$ yt-dlp -f "bestvideo[height=720][ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" "https://www.youtube.com/watch?v=AAAAAAAA"
さらに、ダウンロードしたファイル名を「タイトル+拡張子」にしたい。あと codec を H.264 にする。
yt-dlp -f "bestvideo[ext=mp4][height<=720][vcodec=h264]+bestaudio[ext=m4a]/best[height<=720]" -o '%(title)s.%(ext)s' "https://www.youtube.com/watch?v=AAAAAAAA"