Youtube を mp3 で保存するときのルーティン
はじめに
Emby を使い始めて快適なローカル音楽リスニング環境を手に入れたが、最近は Youtube にしかない音源を聴くことが増えている。Android でバックグラウンド再生するのは不向きで、誤操作ですぐ別の動画や広告を踏んでしまい不便なのでよく聴くものは youdube-dl にて落とすことにした。
準備
・youtube-dl のインストール
・ffmpeg のインストール
*私の環境は mac
*各種イントール方法は割愛
結論
こんなスクリプトを用意しておいて、実行時のパタメータ($1)としてダウンロードしたい Youtube の URL を指定する。
$ cat dl-youtube.sh youtube-dl -f bestvideo+bestaudio --merge-output-format mp4 $1 -o "input-youtube.mp4" ffmpeg -i input-youtube.mp4 -ab 256k output.mp3 python3 id3-edit-diag.py rm input-youtube.mp4
解説
以下の4つの作業をつなげて実行している。
1. youdube-dl で最高画質&音質でファイルを mp4 として落とす
2. ffmpeg で mp4 をオーディオビットレート 256k で mp3 に変換する
3. id3 タグの編集をする
4. 中間ファイルを削除する
id3 タグの編集
こちらの記事を参照に自分が検索で使いそうな要素だけ埋め込めるようにした。
output.mp3
というのは ffmpeg で生成したファイルの仮の名前。
Pythonでmp3などのID3タグを編集するmutagenの使い方 | note.nkmk.me
$ cat id3-edit-diag.py from mutagen.easyid3 import EasyID3 import os path = 'output.mp3' tags = EasyID3(path) tags['title'] = input('Enter title: ') tags['artist'] = input('Enter artist: ') tags.save() print(tags.pprint()) os.rename('output.mp3', input('Enter new filename: '))
動作イメージ
$ sh dl-youtube.sh "https://www.youtube.com/watch?v=OTvlQRgFZ6k" (中略) Enter title:Live Under The Sky '81 Enter artist=Chick Corea, Eddie Gomez, Michael Brecker, Roy Haynes Enter title=Live Under The Sky '81 Chick Corea July 23 ,1981 Enter new filename: Live-under-the-sky-81.mp3
快適な Emby ライフを✋