在互聯網上觀看 YouTube 視頻時,有時您會發現很棒的內容,並且想下載它以供收藏或稍後觀看。 如果視頻有字幕,你肯定會想順便下載一下,尤其是國外的視頻。 雖然市面上的YouTube視頻下載工具很多,但大部分都不支持字幕下載功能,我們不得不另闢蹊徑。 本文中提及的所有產品都僅是個人的體驗後寫下的測評,假如和您個人親身是使用後有所不同,有勞包涵!!
一,使用「轉錄稿」下載 YouTube CC 字幕
如果你看的這部影片有開啟 YouTube CC 字幕功能,也就是使用 YouTube 內嵌字幕的話,那我們可以直接使用內建功能下載影片的「轉錄稿」,不需要其他軟體或工具,但缺點是每一段字幕前面都會有影片的時間標記,且只能透過電腦操作。
以下是下載 YouTube 內嵌字幕「轉錄稿」 的步驟:
- 開啟你想下載 YouTube 字幕的該影片,確保這影片有開啟 CC 字幕功能。在該 YouTube 影片標題下方的工具列上,點選右邊的「?」>「顯示轉錄稿」。
二,使用影片字幕下載器實現 YouTube 字幕同步下載
VideoHunter YouTube Downloader 是一款熱門的專業 YouTube 影片字幕下載器,能夠快速提取影片上傳者附上的 YouTube 影片字幕。對於那些沒有字幕支援,但上傳者允許 YouTube 自動識別並生成字幕的影片,它也能夠擷取其中的字幕,輕鬆實現 YouTube 自動產生字幕的下載!了解一下它具體有多優秀:
- 快速解析 YouTube 影片及其字幕
- 可選擇單獨下載 YouTube 影片字幕,或合併下載影片及字幕
- 字幕檔預設輸出為 VTT 格式,支援手動修改檔案後綴為「srt」,變更為 SRT 字幕檔
- 支援永久試用,每天都可以免費下載 YouTube 字幕
它的使用方法也超簡單的!
1. 前往複製 YouTube 的影片連結,然後啟動程式,並將連接貼到框中,點擊「解析」按鈕。
2. 等待影片解析完畢,勾選「下載原始字幕」,並選擇想要下載的字幕語言版本,點擊「下載」按鈕。如果你同時想下載影片內容,在影片下載位置按需勾選匯出畫質即可。
3. 等待程式下載 YouTube 影片字幕,完成後可到資料夾進行查看,如果你更習慣使用 SRT 格式,單擊檔案並將後綴「vtt」修改為「srt」即可。
三,使用4kdownload
4kdownload讓你隨時隨地享受觀看視頻的樂趣,即使您處於離線狀態。 下載簡單明了:只需從瀏覽器複製鏈接,然後單擊應用程序中的“粘貼鏈接”。 就是這樣!
字幕下載步驟:
步驟1.從https://www.4kdownload.com/products/product-videodownloader下載並安裝應用程序。打開工具的主界面,然後單擊4K Video Downloader。
步驟2. 現在打開YouTube頁面,複製視頻的URL鏈接。
步驟3.現在從4kdownload頁面單擊Paste Link選項,繼續下一步。然後選定質量,語言和其他詳細信息,然後按“ 下載”按鈕,完成帶字幕的YouTube視頻下載
四,Python自動化短視頻搬運
1)Channel ID的獲得
首先,和YouTube接口一樣,我們先來導入Channel模塊,並註冊一個Youtube頻道:
這裡我隨機選了一個帶有中文字的頻道名稱,主要是為了展示目前的pytube對於中文編碼的頻道名稱也是支持的。
需要特別注意的是,目前Youtube對於頻道的URL顯示格式比較混亂,目前我能看到就有三種,第一種是類似上圖所示,https://www.youtube.com/c/頻道名稱,第二種是https://www.youtube.com/channel/頻道ID,第三種是最近改版後的Youtube頻道URL格式,有點類似Tiktok風格:https://www.youtube.com/@頻道OwnerID,這個OwnerID會在這裡顯示出來:
到發布及更新這篇文章的時間為止,這三種頻道URL對於任何頻道都是支持的,也就是只要你能找到某個頻道的“頻道名稱”,“頻道ID”及“頻道OwnerID”,用以上三種格式的URL都可以打開頻道。
最終我還是推薦統一使用第二種格式,即https://www.youtube.com/channel/頻道ID,頻道ID是一串由大小寫字母及數字組成的編碼,可以在網頁源碼中找到,具體步驟如下:
假設需要找到NBA Highlights頻道的頻道ID,我們先進入該頻道主頁,在右鍵菜單裡點擊進入“顯示網頁源代碼”:
在網頁源代碼裡搜索externalId,即可看到該參數對應的一串編碼,這就是頻道ID:
最終我們得到了該頻道的正確Pytube註冊信息:
2)頻道的信息和影片下載
現在我們成功創建了channel對象,讀取channel內的信息就變得非常容易了。channel對象的參數詳情可以直接參考Pytube官網文檔:https://pytube.io/en/latest/api.html#channel-object
比較直觀易懂的比如:
這裡需要強調一下的是,由於這次Youtube的網站架構升級,截止到發布這篇文章為止,最新版本的Pytube仍然無法正常調用channel中的很多接口,目前我看到有新的代碼提交在GitHub上正在適配這些新的架構,不過估計離合併到主幹還有必要的review和commit的流程要走還需要一段時間。不過還好,這裡面的接口都不是我們“自動化短視頻搬運”需要用的,暫時可以忽略。 對於頻道的發布監測功能,我們主要用到兩個接口: 1)video_urls,用來返回頻道內所有視頻的URL,我們嘗試打印一下剛剛註冊的NBAHighlights頻道的視頻列表中的第一個視頻URL地址:
PRINT:
把打印出來的地址在瀏覽器中打開,你會發現這就是該頻道的最新一期視頻,所以後面的搬運處理裡,video_urls[0]就是我們需要的。
2)videos,用來返回頻道中所有視頻的video對象,也就是我們在(一)和(二)教程中用到的YouTube()函數返回的對象。同樣,我們嘗試打印一下video[0]的一些信息
同樣,我們看到獲取到的最新一期影片的信息。Videos[0]的對像類型我們已經很熟悉,比如可以直接下載這個影片的720p版本:
Youtube進行了一次網站結構的調整,造成目前的pytube在Channel上的功能很多都不工作,包括我們現在在用Channel接口上的video列表,到這篇文章發佈為止,video_urls和videos的返回都是空列表。
以上便是 4 個能夠實現 YouTube 字幕下載的方法!其實每一個方法的操作步驟都不難,但要說到能安全、快速、完美地下載 YouTube 影片字幕的話,還得是影片字幕下載軟體 VideoHunter YouTube Downloader 。