如何用 yt-dlp 下載不存檔 (Unarchived) 的直播串流和尚未結束的 Live 直播影片?

youtube-dl stream

 


How to use youtube-dl to download live streams (live)

 

對於有在練習英聽的人來說,外國 Youtuber 的直播影片算是相當優質的學習資源。畢竟那可是最道地、生活化、最鄉民的資料來源,比什麼空中美語和國立編譯館虛無飄渺的公文體英語來的親民許多。

 

然而直播影片有些是公開的、有些是會員限定,更有些是直播後不存檔。這種方式除了可以增加觀眾追逐現場直播的動力、提昇品牌忠誠度與黏著性之外,不留檔的形式更能大幅提昇稀有度,讓該直播主的影片不再是隨手可得的資源。

 

不過那是普通人的情況,對於略懂電腦與網路操作的進階使用者來說,這種技術方面的問題倒相當容易解決。本文流浪貓將教你如何用 Youtube-dl 或 yt-dlp 把不存檔的直播影片錄下來作為私人研究資料。

 

 

下載不留檔的直播串流影片

由於直播是以 HLS, m3u8 格式協議進行播放,因此與普通影片有些微不同。若要下載直播影片的話,須先抓取直播串流的格式代號。以下將以 IRyS 於 2023-4-10 AM 11:00 的歌唱不留檔直播為例:

 

【Unarchived Karaoke】Singing Nephilim Time!

 

於終端機輸入 yt-dlp 指令和 Youtube 影片網址:

yt-dlp --list-formats https://www.youtube.com/watch?v=qzJkDJ7vk1s

[info] Available formats for qzJkDJ7vk1s:
ID  EXT RESOLUTION FPS │   TBR PROTO │ VCODEC        VBR ACODEC    ABR
──────────────────────────────────────────────────────────────────────
91  mp4 256x144     30 │  269k m3u8  │ avc1.4d400c  269k mp4a.40.5  0k
92  mp4 426x240     30 │  507k m3u8  │ avc1.4d4015  507k mp4a.40.5  0k
93  mp4 640x360     30 │  962k m3u8  │ avc1.4d401e  962k mp4a.40.2  0k
94  mp4 854x480     30 │ 1283k m3u8  │ avc1.4d401f 1283k mp4a.40.2  0k
300 mp4 1280x720    60 │ 2922k m3u8  │ avc1.4d4020 2922k mp4a.40.2  0k
301 mp4 1920x1080   60 │ 5553k m3u8  │ avc1.4d402a 5553k mp4a.40.2  0k

 

從這裡就能看出,相較於下載影片常用的 22 格式,直播串流的影像檔案 ID 是以 91 開始到 301 結束。因此如果你想下載解析度最高的直播影片,就選擇 301;如果你對畫質沒那麼多要求,僅作為學術研究備份,那選 94 即可獲得不錯的結果。翠維尼

 

接著,就能用先前下載直播長片特定時間片段, 不用抓整部直播串流影片教學中提到的指令來下載影片。

ffmpeg -i ($yt-dlp -f 94 -g https://www.youtube.com/watch?v=qzJkDJ7vk1s) -c copy irys-st-1.ts

 

目標資料夾中的 irys-st-1.ts 即是直播的影音存檔,就算直播還沒結束也能打開來檢視是否有在錄製節目。

 

 

 

延伸閱讀

更多 Youtube 工具教學

免安裝、免註冊,用 Youtube-dl 下載 Facebook、Twitter、Youtube 等平台的影片和音樂

用 youtube-dl 下載特定時間片段, 不用抓整部直播串流影片

安裝 yt-dlp 取代 youtube-dl 影音下載工具

 

 

 

 

留言