返回作品列表
實用工具 · Python 桌面

YT to MP3

YouTube 音訊轉 MP3 下載器

把想留下的聲音,轉成隨身可聽的音檔——在自己的電腦上跑,沒有滿版廣告,也沒有來路不明的「下載」按鈕。

類型
Windows 桌面工具(GUI)
語言 / 介面
Python · CustomTkinter
下載核心
yt-dlp
音訊轉檔
ffmpeg(內嵌)· MP3 192 kbps
打包
PyInstaller 單檔 exe
YouTube 轉 MP3 工具 ─ □ ✕
貼上 YouTube 連結
自訂檔名(可留空)
儲存位置:D:\Music\下載
正在下載中...
為什麼做這個

同樣的事,不必忍受滿版廣告

網路上「YouTube 轉 MP3」的線上服務一大堆,但用過的人都知道:滿版廣告、假的下載按鈕、跳出新分頁、品質參差,有些甚至有安全疑慮。想單純把一段音訊留下來,卻得先過五關斬六將。

所以我自己做了一個:一支在本機執行的桌面小工具,貼上連結、選資料夾、按下轉換,就這樣。沒有廣告、不上傳到任何第三方伺服器,全程在你自己的電腦上完成。介面用 CustomTkinter,下載交給成熟的 yt-dlp,轉檔用內嵌的 ffmpeg 輸出 192 kbps 的 MP3。

設計取捨

線上轉檔站 vs. 一支本機小工具

常見線上服務
  • 滿版廣告與假的下載按鈕
  • 檔案上傳到第三方伺服器
  • 常被導去新分頁或可疑連結
  • 品質、檔名無法掌控
這支工具
  • 零廣告、單一視窗,介面乾淨
  • 全程本機執行,不經第三方
  • 固定 192 kbps MP3,品質一致
  • 可自訂檔名、自選儲存資料夾
怎麼運作

三步驟,背景下載不卡介面

1

貼上連結

把 YouTube 連結貼進輸入框,需要的話填個自訂檔名(留空就用影片標題)。

2

選擇儲存位置

挑一個要存放的資料夾,視窗會顯示目前選定的路徑。

3

開始轉換

按下轉換,進度條即時更新,完成後在選定資料夾得到一份 MP3。

實作重點

小工具,但細節有想過

1

ffmpeg 內嵌,使用者免另外安裝

多數教學都要使用者自行安裝並設定 ffmpeg 環境變數。這支工具把 ffmpeg.exe / ffprobe.exe 一併打包,啟動時透過 sys._MEIPASS 取得解壓路徑並指向內嵌執行檔,下載即用、零設定。

2

背景執行緒,介面不凍結

下載與轉檔放在獨立的 Thread 執行,避免長時間任務卡住主視窗。過程中視窗仍可正常回應,狀態列即時顯示「下載中/完成/失敗」。

3

即時進度條

透過 yt-dlp 的 progress_hook 取得已下載與總位元組數,換算百分比後即時推進進度條,而非只給一個轉圈圈。

4

自訂檔名並過濾非法字元

允許自訂輸出檔名,並自動濾除 \ / : * ? " < > | 等 Windows 不允許的字元,避免存檔失敗;留空則回退使用影片標題。

5

該擋的先擋、出錯有回報

未填連結或未選資料夾會先跳提示;下載或轉檔若失敗,以對話框回報實際錯誤,狀態列同步轉為紅色,不會默默結束。

使用前提

請僅用於下載你有權使用的內容,例如自己的影片、無版權/創用 CC 授權的素材,或合理範圍內的個人留存。YouTube 上多數內容受版權保護,下載前請先確認你擁有相應的權利,並遵守當地法規與平台條款。

技術棧總覽

從腳本到單檔 exe

核心Python · yt-dlp(音訊下載)· 多執行緒(threading.Thread
介面CustomTkinter(深淺色跟隨系統)· Tkinter 檔案/資料夾對話框
音訊轉檔ffmpeg(內嵌打包)· FFmpegExtractAudio → MP3 192 kbps
打包PyInstaller 單檔 exe · 以 datas 內嵌 ffmpeg / ffprobe · 內含版本資訊
平台Windows(免安裝、本機執行)
下載 · Download
YT to MP3(YT_mp3.exe)

單一執行檔,免安裝、本機執行。由於把 ffmpeg 一併內嵌打包,檔案體積較大(約 150 MB),換來的是「下載即用、零環境設定」。

YT_MP3.exe · 約 151 MB · 即將提供
執行檔未經數位簽章,Windows SmartScreen 可能顯示「未知發行者」,點「其他資訊 → 仍要執行」即可。檔案內嵌 ffmpeg 故體積較大屬正常。請僅下載你有權使用的內容。