top of page
搜尋

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 的強力分支,更新更活躍,功能也更全面。


接著,我透過對話的方式,一步步調整這個程式:


  1. 解決命名問題:我要求檔案名稱直接使用影片標題,AI 迅速加入了 "outtmpl": "%(title)s.%(ext)s" 設定。

  2. 增加模式選擇:我想區分**「下載單一影片」「下載整個播放清單」**,AI 馬上為我設計了對應的邏輯判斷。

  3. 完善使用者互動:最後,我希望程式能透過終端機與使用者互動,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-dlpFFmpegyt-dlp 負責解析 YouTube 網址並下載檔案,而 FFmpeg 則負責後續的音訊提取與轉檔工作,兩者缺一不可。


三步驟快速上手:環境安裝與執行教學

想親自運行這個腳本嗎?跟著下面三個步驟,你也能輕鬆做到!


步驟一:安裝 Python、yt-dlp 與 FFmpeg

這是最關鍵的一步,特別是 FFmpeg 的安裝,是最多新手卡關的地方。

  1. 安裝 Python:請至 Python 官方網站 下載並安裝最新版本。記得在安裝時勾選「Add Python to PATH」。

  2. 安裝 yt-dlp:打開你的終端機 (Windows 的 CMD/PowerShell 或 Mac 的 Terminal),輸入以下指令:

    codeBash

    pip install yt-dlp

  3. 安裝 FFmpeg

    • 前往 FFmpeg 官方網站 下載適合你作業系統的編譯版本。

    • 下載後解壓縮,你會看到一個 bin 資料夾,裡面有 ffmpeg.exe

    • 重要! 你需要將這個 bin 資料夾的路徑新增到系統的「環境變數 PATH」中。這樣系統才能在任何地方呼叫 ffmpeg 指令。如果不確定如何操作,可以搜尋「你的作業系統 + 如何設定環境變數」。


步驟二:儲存 Python 程式碼

將上面的 Python 程式碼複製,儲存為 youtube_downloader.py


步驟三:執行程式

  1. 在終端機中,使用 cd 指令切換到你儲存 youtube_downloader.py 的資料夾。

  2. 執行以下指令:

    codeBash

    python youtube_downloader.py

  3. 根據提示,貼上 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-dlpydl_opts 設定非常強大。你可以修改 format 參數來下載特定解析度的影片,或是在 postprocessors 中調整 preferredquality 來改變音質。建議可以查閱 yt-dlp 的官方文件探索更多可能性。


PS: 您也可以直接複製整個程式碼到任何一個 AI 大模型中, 讓 AI 大模型幫你檢查修改.

 
 
 

留言


bottom of page