0 基礎!讓 ChatGPT 手把手教你用 Python 將 Youtube 影片轉成音檔(mp3)
筆者真的嚇到了🫢,沒想到我真的做到一行程式碼都沒寫,以菜鳥的語氣跟 ChatGPT 對話,就能完成一個用 Python 將 Youtube 影片轉成音檔(mp3)的小專案。
在這篇文章中,我附上與 ChatGPT 的完整對話,大家只要複製貼上就可以嘗試看看嚕!
Python 環境安裝的部分我就不贅述了,筆者使用的是 Python3;不過有設定 alias name,讓 python3/pip3 的指令對應 python/pip。
😀:「我使用的程式語言是 Python,他有辦法抓取 Youtube 影片的音擋嗎?」
ChatGPT 這邊也有提醒大家,不要未經授權下載有版權保護的影片喔!
from pytube import YouTube
# 設定要下載的影片 URL
url = "https://www.youtube.com/watch?v=VIDEO_ID"
# 建立 YouTube 物件
yt = YouTube(url)
# 取得影片的音軌
audio_stream = yt.streams.filter(only_audio=True).first()
# 下載音軌到指定的路徑
audio_stream.download(output_path="path/to/save/directory", filename="audio")
SETP 1:建立一個youtube-test.py
的檔案,貼上 ChatGPT 的程式。
SETP 2:如果要執行程式,請安裝套件:pip install pytube
。
SETP 3:將 url 替換成自己的:https://www.youtube.com/watch?v=IvOdTbIYZs4
這是筆者分享出書心得的影片。
SETP 4:在終端機輸入python youtube-test.py
執行它,你會發現他自動建立了資料夾路徑,裡面存放著「audio」的檔案。
😀:「有順利在「path/to/save/directory」這個路徑下產生「audio」的檔案了,但他無法打開,這個真的是音擋嗎?」
請安裝套件:
pip install pydub
😀:「如何與上一段程式結合呢?」
Copy code
from pytube import YouTube
from pydub import AudioSegment
# 設定要下載的影片 URL
url = "https://www.youtube.com/watch?v=VIDEO_ID"
# 建立 YouTube 物件
yt = YouTube(url)
# 取得影片的音軌
audio_stream = yt.streams.filter(only_audio=True).first()
# 下載音軌到指定的路徑
audio_stream.download(output_path="path/to/save/directory", filename="audio")
# 讀取下載下來的音檔
audio_file = AudioSegment.from_file("path/to/save/directory/audio")
# 檢查音檔是否可以正常解碼
print(audio_file)
在終端機輸入python youtube-test.py
,結果冒出一堆錯誤訊息。
把錯誤的結果貼到 ChatGPT,他是會幫你解答的。
若未安裝 homebrew 的朋友也可以詢問 ChatGPT 如何安裝。
在終端機輸入brew install ffmpeg
,之後等他安裝完成(頗久的...)
再輸入一次python youtube-test.py
,從終端機來看,天下太平了!
然後我們把 ChatGPT 的建議加入最後一行,讓他轉成 mp3 檔案。
from pytube import YouTube
from pydub import AudioSegment
# 設定要下載的影片 URL
url = "https://www.youtube.com/watch?v=IvOdTbIYZs4"
# 建立 YouTube 物件
yt = YouTube(url)
# 取得影片的音軌
audio_stream = yt.streams.filter(only_audio=True).first()
# 下載音軌到指定的路徑
audio_stream.download(output_path="path/to/save/directory", filename="audio")
# 讀取下載下來的音檔
audio_file = AudioSegment.from_file("path/to/save/directory/audio")
# 檢查音檔是否可以正常解碼
print(audio_file)
# 將音檔轉換為 MP3 格式
mp3_file = audio_file.export("path/to/save/directory/audio.mp3", format="mp3")
此時你在終端機執行python youtube-test.py
會有一種感動!這個 mp3 擋真的在播放 Youtube 影片的音檔了…太神了…
結語:讓不會程式的人更願意嘗試
寫程式是一條非常艱辛的路,中間會遇到非常多的險阻與挫折。
就像上面展示的範例一樣,我們很難一次就得到正確的結果,但在發生錯誤時,過往會需要花費大量的時間除錯、找文件。
這些失敗的經歷會使人成長,但同時也會消耗熱情。
而 ChatGPT 的出現,很大程度地減緩了這塊的痛苦,讓我們更容易上手程式。
不過這對程式教育產業來說,可說是巨大的衝擊,因為人們多了一個全新的選擇(而且還不賴)。
想將 AI 導入自己的職場與生活嗎?歡迎報名筆者與商周集團合作的線上課程:「AI 高效簡報術|ChatGPT + Gamma 工作簡報」
如果您想在 AI 的浪潮中站穩腳步,並在未來的職場競爭中佔據優勢,那麼筆者出版的新書絕對是您入門 AI 的第一步!
▶︎ 如果這篇文章有幫助到你
1. 可以點擊下方「Follow」來追蹤我~
2. 可以對文章拍手讓我知道 👏🏻
你們的追蹤與鼓勵是我繼續寫作的動力 🙏🏼
▶︎ 如果你對工程師的職涯感到迷茫
1. 也許我在iT邦幫忙發表的系列文可以給你不一樣的觀點 💡
2. 也歡迎您到書局選購支持,透過豐富的案例來重新檢視自己的職涯