用 yt-dlp 把 YouTube 轉成 MP3
產生那條能把 YouTube 影片變成帶標籤與封面的 MP3 的 yt-dlp 指令。
怎麼得到一個真正好用的 MP3
擷取音訊是一次轉換,所以一定要有 ffmpeg —— 這就是指令在全新安裝上失敗的原因。最佳(VBR)是正確的預設:它的大小與品質之比最好,而更高的固定 bitrate 也補不上來源本來就沒有的品質。
封面與中繼資料能把一個裝滿無名檔案的資料夾,變成音樂播放器可以整理的東西。這裡的檔名範本把演出者放在前面,標籤裡沒有演出者時退回用上傳者。
--audio-quality 0 是最多人誤解的設定。它不是「零品質」——它是可變位元率裡最好的一檔,平均大約 245 kbps,而且這條刻度是反著走的:0 最好,9 最差。可變位元率會把更多位元花在音樂密集的段落、在安靜處少花,所以同樣大小的檔案,VBR 通常比固定位元率更好聽。如果某個裝置非要固定位元率不可,就直接寫明——--audio-quality 320K——而不是在 0–9 這條刻度上猜一個數字。
更值得問的是:到底要不要轉換。YouTube 提供的音訊是 Opus 或 AAC,兩者都不是 MP3,所以要 MP3 就一定意味著重新編碼:檔案被解碼再壓縮一次,每轉一次都會損失一些品質。如果你手上沒有哪樣東西非要 .mp3 這個副檔名不可,就選「最佳(不轉換)」。它更快,完全用不到 ffmpeg,而且結果比任何一個 MP3 版本都更接近來源。只有當車用音響、DJ 軟體或舊手機不給你別的選擇時才去轉。
要整個播放清單的話,打開播放清單並加上封存檔案。封存會記錄已經下載過什麼,所以下週再跑同一條指令時只會取新增的部分,而不是從頭再來一遍——再搭配「出錯繼續」,一首地區受限或已刪除的曲子就不會把其餘兩百首一起拖垮。如果曲目順序重要,就在輸出樣板裡加上播放清單序號;不加的話播放器會按字母順序排列資料夾,整張專輯的次序就亂了。