Google AI Studio 實戰教學:用 Python 與 yt-dlp 打造自己的 YouTube MP3 下載器
- abintsai
- 2025年11月11日
- 讀畢需時 5 分鐘

想知道如何用 Python 自動下載 YouTube 影片並轉成 MP3 嗎?本篇實戰教學將一步步帶你利用 Google AI Studio (Gemini) 產生 Python 程式碼,並結合強大的 yt-dlp 與 FFmpeg 工具,打造一個客製化的 YouTube 音樂下載器。包含完整程式碼、環境安裝與常見問題解答。
前言:當下載 YouTube 音樂的需求,遇上強大的 AI 程式夥伴
你是否也曾想過,在 YouTube 上聽到一首好聽的歌曲、一段有趣的 Podcast 或是一場精彩的演講,希望能下載成 MP3 檔,方便在通勤、運動或沒有網路的時候離線聆聽?
這個需求非常普遍,而解決方案也很多。但這次,我決定不找現成的軟體,而是挑戰一個更有趣的方式——讓 AI 當我的程式設計夥伴,幫我寫一個專屬的 Python YouTube 下載工具!
這篇文章將完整分享我如何利用 Google AI Studio (其背後是強大的 Gemini 模型),從零開始打造一支功能完整的 Python YouTube 音訊下載器。這不只是一篇**「yt-dlp 教學」**,更是一次展示如何與 AI 高效協作,將想法快速變為現實的開發紀錄。
開發緣起:一個簡單需求,與 Google AI 的高效協作
我的起點非常簡單,我對 Google AI Studio 下了第一個指令 (Prompt):
「請用 Python 寫一個程式,可以從 YouTube 下載影片並轉成 MP3 檔案。」
幾秒鐘後,AI 給了我第一版的程式碼,並推薦使用 yt-dlp 這個函式庫。對於任何想用 Python 進行影音下載的開發者來說,yt-dlp 絕對是首選,它是 youtube-dl 的強力分支,更新更活躍,功能也更全面。
接著,我透過對話的方式,一步步調整這個程式:
解決命名問題:我要求檔案名稱直接使用影片標題,AI 迅速加入了 "outtmpl": "%(title)s.%(ext)s" 設定。
增加模式選擇:我想區分**「下載單一影片」和「下載整個播放清單」**,AI 馬上為我設計了對應的邏輯判斷。
完善使用者互動:最後,我希望程式能透過終端機與使用者互動,AI 則補上了主程式碼區塊 (if name == "__main__":),讓使用者可以輸入網址和模式。
整個過程不到 10 分鐘,一個為我量身打造的 Python YouTube to MP3 converter 就誕生了。AI 不僅是程式碼產生器,更像是一個理解需求、耐心十足的開發夥伴。
Python 程式碼完整解析:yt-dlp 核心功能詳解
這就是我們最終完成的 Python 程式碼。它簡潔、高效,並且充滿彈性。
===========================================================
import yt_dlp
def download_audio(url, download_playlist=False):
# ydl_opts 是 yt-dlp 的核心設定字典,所有客製化功能都在這裡定義
ydl_opts = {
# 'format': 自動選擇最佳音訊流 (bestaudio),如果沒有獨立音訊流則選擇最佳品質 (best)
"format": "bestaudio/best",
# 'outtmpl': 設定輸出檔案的命名範本,%(title)s 是影片標題,%(ext)s 是副檔名
"outtmpl": "%(title)s.%(ext)s",
# 'postprocessors': 後處理設定,這是在下載完成後執行的步驟
"postprocessors": [
{
"key": "FFmpegExtractAudio", # 指定使用 FFmpeg 工具來提取音訊
"preferredcodec": "mp3", # 設定目標音訊格式為 mp3
"preferredquality": "192", # 設定音訊位元率為 192kbps
}
],
}
# 判斷是否要下載整個播放清單
if not download_playlist:
# 'noplaylist': True 是 yt-dlp 的一個重要參數,可避免下載播放清單中的其他影片
ydl_opts["noplaylist"] = True
# 使用 'with' 陳述式確保資源被妥善管理
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
# 執行下載
ydl.download([url])
# 主程式進入點
if __name__ == "__main__":
url = input("請輸入 YouTube 網址:").strip()
mode = input("請選擇下載模式:1 = 單首音樂, 2 = 播放清單:").strip()
if mode == "2":
print("\n[INFO] 開始下載播放清單...")
download_audio(url, download_playlist=True)
else:
print("\n[INFO] 開始下載單首音樂...")
download_audio(url, download_playlist=False)
print("\n[SUCCESS] 下載完成!")
===========================================================
這個程式的兩大功臣是 yt-dlp 和 FFmpeg。yt-dlp 負責解析 YouTube 網址並下載檔案,而 FFmpeg 則負責後續的音訊提取與轉檔工作,兩者缺一不可。
三步驟快速上手:環境安裝與執行教學
想親自運行這個腳本嗎?跟著下面三個步驟,你也能輕鬆做到!
步驟一:安裝 Python、yt-dlp 與 FFmpeg
這是最關鍵的一步,特別是 FFmpeg 的安裝,是最多新手卡關的地方。
安裝 Python:請至 Python 官方網站 下載並安裝最新版本。記得在安裝時勾選「Add Python to PATH」。
安裝 yt-dlp:打開你的終端機 (Windows 的 CMD/PowerShell 或 Mac 的 Terminal),輸入以下指令:
codeBash
pip install yt-dlp
安裝 FFmpeg:
前往 FFmpeg 官方網站 下載適合你作業系統的編譯版本。
下載後解壓縮,你會看到一個 bin 資料夾,裡面有 ffmpeg.exe。
重要! 你需要將這個 bin 資料夾的路徑新增到系統的「環境變數 PATH」中。這樣系統才能在任何地方呼叫 ffmpeg 指令。如果不確定如何操作,可以搜尋「你的作業系統 + 如何設定環境變數」。
步驟二:儲存 Python 程式碼
將上面的 Python 程式碼複製,儲存為 youtube_downloader.py。
步驟三:執行程式
在終端機中,使用 cd 指令切換到你儲存 youtube_downloader.py 的資料夾。
執行以下指令:
codeBash
python youtube_downloader.py
根據提示,貼上 YouTube 網址並選擇模式,程式就會開始自動下載了!完成的 MP3 檔案會保存在同一個資料夾下。
心得總結:AI 是加速器,而非取代者
這次透過 Google AI Studio 撰寫 Python 腳本的經驗讓我深刻體會到,AI 正在改變開發者的工作流程。它是一個強大的「加速器」:
提升開發效率:我不用再為了幾個參數而去翻閱 yt-dlp 的長篇文件。
激發解決方案:AI 提供的程式碼結構清晰,讓我能更專注於整體邏輯而非語法細節。
降低學習門檻:即使是 Python 新手,也能透過與 AI 的合作,快速完成一個實用的小工具。
然而,我們仍需扮演「駕駛員」的角色。AI 無法幫你解決 FFmpeg 環境變數設定這類本地端環境問題。因此,擁有扎實的基礎知識,並將 AI 作為提升生產力的夥伴,才是未來開發者應有的樣貌。
常見問題 (FAQ)
Q1: 下載 YouTube 影片或音樂合法嗎?A: 這取決於你所在的國家/地區的版權法以及影片本身的授權條款。一般來說,下載有版權保護的內容可能侵犯版權。本工具僅供學術研究與個人學習 Python 使用,請尊重版權,勿用於非法用途。
Q2: 為什麼程式出現 ffmpeg or ffprobe not found 的錯誤?A: 這是最常見的錯誤,99% 的原因是你沒有正確安裝 FFmpeg,或是沒有將其 bin 資料夾的路徑加入到系統的環境變數 PATH 中。請重新檢查步驟一的第 3 點。
Q3: 我可以下載 4K 影片或指定其他音質嗎?A: 當然可以!yt-dlp 的 ydl_opts 設定非常強大。你可以修改 format 參數來下載特定解析度的影片,或是在 postprocessors 中調整 preferredquality 來改變音質。建議可以查閱 yt-dlp 的官方文件探索更多可能性。
PS: 您也可以直接複製整個程式碼到任何一個 AI 大模型中, 讓 AI 大模型幫你檢查修改.



留言